From 162bf84e53867e4a3b218e910661e16650cd8dfe Mon Sep 17 00:00:00 2001 From: greg Date: Mon, 20 Jan 2025 14:08:07 +0100 Subject: [PATCH] add minetest base game in garage game --- data/games/garage/LICENSE.txt | 521 ++- data/games/garage/README.md | 50 - data/games/garage/game.conf | 7 +- data/games/garage/game_api.txt | 1233 +++++++ data/games/garage/menu/background.png | Bin 139 -> 0 bytes data/games/garage/menu/header.png | Bin 209 -> 935 bytes data/games/garage/menu/icon.png | Bin 217 -> 3008 bytes .../gltf/invalid/empty.gltf => minetest.conf} | 0 data/games/garage/minetest.conf.example | 81 + data/games/garage/mods/basenodes/init.lua | 361 -- data/games/garage/mods/basenodes/mod.conf | 2 - .../basenodes_dirt_with_grass_bottom.png | Bin 187 -> 0 bytes .../textures/basenodes_dirt_with_snow.png | Bin 166 -> 0 bytes .../basenodes_dirt_with_snow_bottom.png | Bin 177 -> 0 bytes .../textures/basenodes_snow_sheet.png | Bin 166 -> 0 bytes .../mods/basenodes/textures/default_apple.png | Bin 102 -> 0 bytes .../basenodes/textures/default_cobble.png | Bin 340 -> 0 bytes .../textures/default_desert_sand.png | Bin 293 -> 0 bytes .../textures/default_desert_stone.png | Bin 584 -> 0 bytes .../mods/basenodes/textures/default_dirt.png | Bin 782 -> 0 bytes .../mods/basenodes/textures/default_grass.png | Bin 697 -> 0 bytes .../basenodes/textures/default_gravel.png | Bin 171 -> 0 bytes .../mods/basenodes/textures/default_ice.png | Bin 369 -> 0 bytes .../textures/default_junglegrass.png | Bin 201 -> 0 bytes .../textures/default_jungleleaves.png | Bin 399 -> 0 bytes .../basenodes/textures/default_jungletree.png | Bin 730 -> 0 bytes .../textures/default_jungletree_top.png | Bin 714 -> 0 bytes .../mods/basenodes/textures/default_lava.png | Bin 172 -> 0 bytes .../textures/default_lava_flowing.png | Bin 91 -> 0 bytes .../basenodes/textures/default_leaves.png | Bin 883 -> 0 bytes .../textures/default_mossycobble.png | Bin 574 -> 0 bytes .../textures/default_pine_needles.png | Bin 648 -> 0 bytes .../basenodes/textures/default_pine_tree.png | Bin 604 -> 0 bytes .../textures/default_pine_tree_top.png | Bin 174 -> 0 bytes .../textures/default_river_water.png | Bin 496 -> 0 bytes .../textures/default_river_water_flowing.png | Bin 99 -> 0 bytes .../mods/basenodes/textures/default_sand.png | Bin 554 -> 0 bytes .../mods/basenodes/textures/default_snow.png | Bin 166 -> 0 bytes .../basenodes/textures/default_snow_side.png | Bin 152 -> 0 bytes .../mods/basenodes/textures/default_stone.png | Bin 313 -> 0 bytes .../mods/basenodes/textures/default_tree.png | Bin 659 -> 0 bytes .../basenodes/textures/default_tree_top.png | Bin 175 -> 0 bytes .../mods/basenodes/textures/default_water.png | Bin 302 -> 0 bytes .../textures/default_water_flowing.png | Bin 115 -> 0 bytes .../dirt_with_grass/default_grass.png | Bin 760 -> 0 bytes .../dirt_with_grass/default_grass_side.png | Bin 796 -> 0 bytes .../garage/mods/basenodes/textures/info.txt | 7 - data/games/garage/mods/basetools/init.lua | 582 ---- data/games/garage/mods/basetools/mod.conf | 2 - .../textures/basetools_bloodsword.png | Bin 165 -> 0 bytes .../textures/basetools_elementalsword.png | Bin 177 -> 0 bytes .../textures/basetools_firesword.png | Bin 166 -> 0 bytes .../textures/basetools_healdagger.png | Bin 162 -> 0 bytes .../textures/basetools_healsword.png | Bin 170 -> 0 bytes .../basetools/textures/basetools_icesword.png | Bin 170 -> 0 bytes .../basetools/textures/basetools_mesepick.png | Bin 156 -> 0 bytes .../textures/basetools_mesepick_no_delay.png | Bin 169 -> 0 bytes .../textures/basetools_mesesword.png | Bin 163 -> 0 bytes .../basetools/textures/basetools_steelaxe.png | Bin 131 -> 0 bytes .../textures/basetools_steeldagger.png | Bin 154 -> 0 bytes .../textures/basetools_steelpick.png | Bin 159 -> 0 bytes .../textures/basetools_steelpick_l1.png | Bin 190 -> 0 bytes .../textures/basetools_steelpick_l2.png | Bin 177 -> 0 bytes .../textures/basetools_steelshears.png | Bin 208 -> 0 bytes .../textures/basetools_steelshovel.png | Bin 140 -> 0 bytes .../textures/basetools_steelsword.png | Bin 163 -> 0 bytes .../basetools/textures/basetools_stoneaxe.png | Bin 130 -> 0 bytes .../textures/basetools_stonepick.png | Bin 155 -> 0 bytes .../textures/basetools_stoneshears.png | Bin 224 -> 0 bytes .../textures/basetools_stoneshovel.png | Bin 134 -> 0 bytes .../textures/basetools_stonesword.png | Bin 159 -> 0 bytes .../textures/basetools_superhealsword.png | Bin 192 -> 0 bytes .../textures/basetools_titaniumsword.png | Bin 160 -> 0 bytes .../basetools/textures/basetools_usespick.png | Bin 161 -> 0 bytes .../textures/basetools_usessword.png | Bin 133 -> 0 bytes .../basetools/textures/basetools_woodaxe.png | Bin 121 -> 0 bytes .../textures/basetools_wooddagger.png | Bin 139 -> 0 bytes .../basetools/textures/basetools_woodpick.png | Bin 149 -> 0 bytes .../textures/basetools_woodshears.png | Bin 212 -> 0 bytes .../textures/basetools_woodshovel.png | Bin 133 -> 0 bytes .../textures/basetools_woodsword.png | Bin 139 -> 0 bytes data/games/garage/mods/beds/README.txt | 30 + data/games/garage/mods/beds/api.lua | 204 ++ data/games/garage/mods/beds/beds.lua | 109 + data/games/garage/mods/beds/functions.lua | 304 ++ data/games/garage/mods/beds/init.lua | 31 + data/games/garage/mods/beds/license.txt | 61 + data/games/garage/mods/beds/locale/beds.de.tr | 10 + data/games/garage/mods/beds/locale/beds.eo.tr | 10 + data/games/garage/mods/beds/locale/beds.es.tr | 10 + data/games/garage/mods/beds/locale/beds.fr.tr | 10 + data/games/garage/mods/beds/locale/beds.id.tr | 10 + data/games/garage/mods/beds/locale/beds.it.tr | 10 + data/games/garage/mods/beds/locale/beds.ja.tr | 10 + .../games/garage/mods/beds/locale/beds.jbo.tr | 10 + data/games/garage/mods/beds/locale/beds.lv.tr | 10 + data/games/garage/mods/beds/locale/beds.ms.tr | 10 + data/games/garage/mods/beds/locale/beds.pl.tr | 10 + .../garage/mods/beds/locale/beds.pt_BR.tr | 10 + data/games/garage/mods/beds/locale/beds.ru.tr | 10 + data/games/garage/mods/beds/locale/beds.sk.tr | 10 + data/games/garage/mods/beds/locale/beds.sv.tr | 10 + data/games/garage/mods/beds/locale/beds.uk.tr | 10 + .../garage/mods/beds/locale/beds.zh_CN.tr | 10 + .../garage/mods/beds/locale/beds.zh_TW.tr | 10 + .../garage/mods/beds/locale/template.txt | 10 + data/games/garage/mods/beds/mod.conf | 3 + data/games/garage/mods/beds/spawns.lua | 72 + .../garage/mods/beds/textures/beds_bed.png | Bin 0 -> 490 bytes .../mods/beds/textures/beds_bed_fancy.png | Bin 0 -> 486 bytes .../mods/beds/textures/beds_bed_foot.png | Bin 0 -> 340 bytes .../mods/beds/textures/beds_bed_head.png | Bin 0 -> 343 bytes .../mods/beds/textures/beds_bed_side1.png | Bin 0 -> 248 bytes .../mods/beds/textures/beds_bed_side2.png | Bin 0 -> 265 bytes .../beds/textures/beds_bed_side_bottom.png | Bin 0 -> 431 bytes .../beds/textures/beds_bed_side_bottom_r.png | Bin 0 -> 427 bytes .../mods/beds/textures/beds_bed_side_top.png | Bin 0 -> 464 bytes .../beds/textures/beds_bed_side_top_r.png | Bin 0 -> 446 bytes .../mods/beds/textures/beds_bed_top1.png | Bin 0 -> 474 bytes .../mods/beds/textures/beds_bed_top2.png | Bin 0 -> 547 bytes .../beds/textures/beds_bed_top_bottom.png | Bin 0 -> 425 bytes .../mods/beds/textures/beds_bed_top_top.png | Bin 0 -> 490 bytes .../mods/beds/textures/beds_bed_under.png | Bin 0 -> 251 bytes data/games/garage/mods/benchmarks/init.lua | 189 -- data/games/garage/mods/benchmarks/mod.conf | 2 - data/games/garage/mods/binoculars/README.txt | 37 + data/games/garage/mods/binoculars/init.lua | 73 + data/games/garage/mods/binoculars/license.txt | 59 + .../mods/binoculars/locale/binoculars.de.tr | 3 + .../mods/binoculars/locale/binoculars.eo.tr | 3 + .../mods/binoculars/locale/binoculars.es.tr | 3 + .../mods/binoculars/locale/binoculars.fr.tr | 3 + .../mods/binoculars/locale/binoculars.id.tr | 3 + .../mods/binoculars/locale/binoculars.it.tr | 3 + .../mods/binoculars/locale/binoculars.ja.tr | 3 + .../mods/binoculars/locale/binoculars.jbo.tr | 3 + .../mods/binoculars/locale/binoculars.lv.tr | 3 + .../mods/binoculars/locale/binoculars.ms.tr | 3 + .../mods/binoculars/locale/binoculars.pl.tr | 3 + .../binoculars/locale/binoculars.pt_BR.tr | 3 + .../mods/binoculars/locale/binoculars.ru.tr | 3 + .../mods/binoculars/locale/binoculars.sk.tr | 3 + .../mods/binoculars/locale/binoculars.sv.tr | 3 + .../mods/binoculars/locale/binoculars.uk.tr | 3 + .../binoculars/locale/binoculars.zh_CN.tr | 3 + .../binoculars/locale/binoculars.zh_TW.tr | 3 + .../mods/binoculars/locale/template.txt | 3 + data/games/garage/mods/binoculars/mod.conf | 3 + .../textures/binoculars_binoculars.png | Bin 0 -> 219 bytes data/games/garage/mods/boats/README.txt | 31 + data/games/garage/mods/boats/init.lua | 290 ++ data/games/garage/mods/boats/license.txt | 63 + .../garage/mods/boats/locale/boats.de.tr | 4 + .../garage/mods/boats/locale/boats.eo.tr | 4 + .../garage/mods/boats/locale/boats.es.tr | 4 + .../garage/mods/boats/locale/boats.fr.tr | 4 + .../garage/mods/boats/locale/boats.id.tr | 4 + .../garage/mods/boats/locale/boats.it.tr | 4 + .../garage/mods/boats/locale/boats.ja.tr | 4 + .../garage/mods/boats/locale/boats.jbo.tr | 4 + .../garage/mods/boats/locale/boats.lv.tr | 4 + .../garage/mods/boats/locale/boats.ms.tr | 4 + .../garage/mods/boats/locale/boats.pl.tr | 4 + .../garage/mods/boats/locale/boats.pt_BR.tr | 4 + .../garage/mods/boats/locale/boats.ru.tr | 4 + .../garage/mods/boats/locale/boats.sk.tr | 4 + .../garage/mods/boats/locale/boats.sv.tr | 4 + .../garage/mods/boats/locale/boats.uk.tr | 4 + .../garage/mods/boats/locale/boats.zh_CN.tr | 4 + .../garage/mods/boats/locale/boats.zh_TW.tr | 4 + .../garage/mods/boats/locale/template.txt | 4 + data/games/garage/mods/boats/mod.conf | 3 + .../garage/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 data/games/garage/mods/bones/README.txt | 12 + data/games/garage/mods/bones/init.lua | 310 ++ data/games/garage/mods/bones/license.txt | 58 + .../garage/mods/bones/locale/bones.de.tr | 8 + .../garage/mods/bones/locale/bones.eo.tr | 8 + .../garage/mods/bones/locale/bones.es.tr | 8 + .../garage/mods/bones/locale/bones.fr.tr | 8 + .../garage/mods/bones/locale/bones.id.tr | 8 + .../garage/mods/bones/locale/bones.it.tr | 8 + .../garage/mods/bones/locale/bones.ja.tr | 8 + .../garage/mods/bones/locale/bones.jbo.tr | 8 + .../garage/mods/bones/locale/bones.lv.tr | 8 + .../garage/mods/bones/locale/bones.ms.tr | 8 + .../garage/mods/bones/locale/bones.pl.tr | 8 + .../garage/mods/bones/locale/bones.pt_BR.tr | 8 + .../garage/mods/bones/locale/bones.ru.tr | 8 + .../garage/mods/bones/locale/bones.sk.tr | 8 + .../garage/mods/bones/locale/bones.sv.tr | 8 + .../garage/mods/bones/locale/bones.uk.tr | 8 + .../garage/mods/bones/locale/bones.zh_CN.tr | 8 + .../garage/mods/bones/locale/bones.zh_TW.tr | 8 + .../garage/mods/bones/locale/template.txt | 8 + data/games/garage/mods/bones/mod.conf | 3 + .../mods/bones/textures/bones_bottom.png | Bin 0 -> 349 bytes .../mods/bones/textures/bones_front.png | Bin 0 -> 339 bytes .../garage/mods/bones/textures/bones_rear.png | Bin 0 -> 341 bytes .../garage/mods/bones/textures/bones_side.png | Bin 0 -> 338 bytes .../garage/mods/bones/textures/bones_top.png | Bin 0 -> 333 bytes data/games/garage/mods/broken/init.lua | 11 - data/games/garage/mods/broken/mod.conf | 2 - data/games/garage/mods/bucket/README.txt | 13 + data/games/garage/mods/bucket/init.lua | 253 +- data/games/garage/mods/bucket/license.txt | 51 + .../garage/mods/bucket/locale/bucket.de.tr | 5 + .../garage/mods/bucket/locale/bucket.eo.tr | 5 + .../garage/mods/bucket/locale/bucket.es.tr | 5 + .../garage/mods/bucket/locale/bucket.fr.tr | 5 + .../garage/mods/bucket/locale/bucket.id.tr | 5 + .../garage/mods/bucket/locale/bucket.it.tr | 5 + .../garage/mods/bucket/locale/bucket.ja.tr | 5 + .../garage/mods/bucket/locale/bucket.jbo.tr | 5 + .../garage/mods/bucket/locale/bucket.lv.tr | 5 + .../garage/mods/bucket/locale/bucket.ms.tr | 5 + .../garage/mods/bucket/locale/bucket.pl.tr | 5 + .../garage/mods/bucket/locale/bucket.pt_BR.tr | 5 + .../garage/mods/bucket/locale/bucket.ru.tr | 5 + .../garage/mods/bucket/locale/bucket.sk.tr | 5 + .../garage/mods/bucket/locale/bucket.sv.tr | 5 + .../garage/mods/bucket/locale/bucket.uk.tr | 5 + .../garage/mods/bucket/locale/bucket.zh_CN.tr | 5 + .../garage/mods/bucket/locale/bucket.zh_TW.tr | 5 + .../garage/mods/bucket/locale/template.txt | 5 + data/games/garage/mods/bucket/mod.conf | 4 +- .../garage/mods/bucket/textures/bucket.png | Bin 163 -> 205 bytes .../mods/bucket/textures/bucket_lava.png | Bin 168 -> 221 bytes .../bucket/textures/bucket_river_water.png | Bin 0 -> 221 bytes .../mods/bucket/textures/bucket_water.png | Bin 168 -> 221 bytes data/games/garage/mods/butterflies/README.txt | 14 + data/games/garage/mods/butterflies/init.lua | 121 + .../games/garage/mods/butterflies/license.txt | 58 + .../mods/butterflies/locale/butterflies.de.tr | 4 + .../mods/butterflies/locale/butterflies.eo.tr | 4 + .../mods/butterflies/locale/butterflies.es.tr | 4 + .../mods/butterflies/locale/butterflies.fr.tr | 4 + .../mods/butterflies/locale/butterflies.id.tr | 4 + .../mods/butterflies/locale/butterflies.it.tr | 4 + .../mods/butterflies/locale/butterflies.ja.tr | 4 + .../butterflies/locale/butterflies.jbo.tr | 4 + .../mods/butterflies/locale/butterflies.lv.tr | 4 + .../mods/butterflies/locale/butterflies.ms.tr | 4 + .../mods/butterflies/locale/butterflies.pl.tr | 4 + .../butterflies/locale/butterflies.pt_BR.tr | 4 + .../mods/butterflies/locale/butterflies.ru.tr | 4 + .../mods/butterflies/locale/butterflies.sk.tr | 4 + .../mods/butterflies/locale/butterflies.sv.tr | 4 + .../mods/butterflies/locale/butterflies.uk.tr | 4 + .../butterflies/locale/butterflies.zh_CN.tr | 4 + .../butterflies/locale/butterflies.zh_TW.tr | 4 + .../mods/butterflies/locale/template.txt | 4 + data/games/garage/mods/butterflies/mod.conf | 3 + .../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 data/games/garage/mods/callbacks/entities.lua | 101 - data/games/garage/mods/callbacks/init.lua | 4 - data/games/garage/mods/callbacks/items.lua | 120 - data/games/garage/mods/callbacks/mod.conf | 2 - data/games/garage/mods/callbacks/nodes.lua | 51 - data/games/garage/mods/callbacks/players.lua | 11 - .../textures/callbacks_callback_entity.png | Bin 142 -> 0 bytes .../callbacks_callback_entity_step.png | Bin 139 -> 0 bytes .../textures/callbacks_callback_item_1.png | Bin 129 -> 0 bytes .../textures/callbacks_callback_item_2.png | Bin 130 -> 0 bytes .../textures/callbacks_callback_node.png | Bin 139 -> 0 bytes data/games/garage/mods/carts/README.txt | 23 + data/games/garage/mods/carts/cart_entity.lua | 430 +++ data/games/garage/mods/carts/functions.lua | 252 ++ data/games/garage/mods/carts/init.lua | 28 + data/games/garage/mods/carts/license.txt | 54 + .../garage/mods/carts/locale/carts.de.tr | 6 + .../garage/mods/carts/locale/carts.eo.tr | 6 + .../garage/mods/carts/locale/carts.es.tr | 6 + .../garage/mods/carts/locale/carts.fr.tr | 6 + .../garage/mods/carts/locale/carts.id.tr | 6 + .../garage/mods/carts/locale/carts.it.tr | 6 + .../garage/mods/carts/locale/carts.ja.tr | 6 + .../garage/mods/carts/locale/carts.jbo.tr | 6 + .../garage/mods/carts/locale/carts.lv.tr | 6 + .../garage/mods/carts/locale/carts.ms.tr | 6 + .../garage/mods/carts/locale/carts.pl.tr | 6 + .../garage/mods/carts/locale/carts.pt_BR.tr | 6 + .../garage/mods/carts/locale/carts.ru.tr | 6 + .../garage/mods/carts/locale/carts.sk.tr | 6 + .../garage/mods/carts/locale/carts.sv.tr | 6 + .../garage/mods/carts/locale/carts.uk.tr | 6 + .../garage/mods/carts/locale/carts.zh_CN.tr | 6 + .../garage/mods/carts/locale/carts.zh_TW.tr | 6 + .../garage/mods/carts/locale/template.txt | 6 + data/games/garage/mods/carts/mod.conf | 4 + .../garage/mods/carts/models/carts_cart.b3d | Bin 0 -> 2387 bytes .../garage/mods/carts/models/carts_cart.blend | Bin 0 -> 490080 bytes data/games/garage/mods/carts/rails.lua | 64 + .../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 .../garage/mods/carts/textures/carts_cart.png | Bin 0 -> 1045 bytes .../mods/carts/textures/carts_cart_front.png | Bin 0 -> 363 bytes .../mods/carts/textures/carts_cart_side.png | Bin 0 -> 388 bytes .../mods/carts/textures/carts_cart_top.png | Bin 0 -> 401 bytes .../carts/textures/carts_rail_crossing.png | Bin 0 -> 301 bytes .../textures/carts_rail_crossing_brk.png | Bin 0 -> 435 bytes .../textures/carts_rail_crossing_pwr.png | Bin 0 -> 423 bytes .../mods/carts/textures/carts_rail_curved.png | Bin 0 -> 287 bytes .../carts/textures/carts_rail_curved_brk.png | Bin 0 -> 415 bytes .../carts/textures/carts_rail_curved_pwr.png | Bin 0 -> 407 bytes .../carts/textures/carts_rail_straight.png | Bin 0 -> 304 bytes .../textures/carts_rail_straight_brk.png | Bin 0 -> 473 bytes .../textures/carts_rail_straight_pwr.png | Bin 0 -> 457 bytes .../carts/textures/carts_rail_t_junction.png | Bin 0 -> 451 bytes .../textures/carts_rail_t_junction_brk.png | Bin 0 -> 413 bytes .../textures/carts_rail_t_junction_pwr.png | Bin 0 -> 446 bytes data/games/garage/mods/chest/chest.lua | 52 - data/games/garage/mods/chest/detached.lua | 58 - data/games/garage/mods/chest/init.lua | 2 - data/games/garage/mods/chest/mod.conf | 2 - .../mods/chest/textures/chest_chest.png | Bin 163 -> 0 bytes .../chest/textures/chest_detached_chest.png | Bin 240 -> 0 bytes .../garage/mods/chest_of_everything/init.lua | 353 -- .../garage/mods/chest_of_everything/mod.conf | 2 - .../textures/chest_of_everything_bag.png | Bin 197 -> 0 bytes .../textures/chest_of_everything_chest.png | Bin 210 -> 0 bytes data/games/garage/mods/creative/README.txt | 17 + data/games/garage/mods/creative/init.lua | 103 + data/games/garage/mods/creative/inventory.lua | 261 ++ data/games/garage/mods/creative/license.txt | 61 + .../mods/creative/locale/creative.de.tr | 11 + .../mods/creative/locale/creative.eo.tr | 11 + .../mods/creative/locale/creative.es.tr | 11 + .../mods/creative/locale/creative.fr.tr | 11 + .../mods/creative/locale/creative.id.tr | 11 + .../mods/creative/locale/creative.it.tr | 11 + .../mods/creative/locale/creative.ja.tr | 11 + .../mods/creative/locale/creative.jbo.tr | 11 + .../mods/creative/locale/creative.lv.tr | 11 + .../mods/creative/locale/creative.ms.tr | 11 + .../mods/creative/locale/creative.pl.tr | 11 + .../mods/creative/locale/creative.pt_BR.tr | 11 + .../mods/creative/locale/creative.ru.tr | 11 + .../mods/creative/locale/creative.sk.tr | 11 + .../mods/creative/locale/creative.sv.tr | 11 + .../mods/creative/locale/creative.uk.tr | 11 + .../mods/creative/locale/creative.zh_CN.tr | 11 + .../mods/creative/locale/creative.zh_TW.tr | 11 + .../garage/mods/creative/locale/template.txt | 11 + data/games/garage/mods/creative/mod.conf | 3 + .../creative/textures/creative_clear_icon.png | Bin 0 -> 605 bytes .../creative/textures/creative_next_icon.png | Bin 0 -> 578 bytes .../creative/textures/creative_prev_icon.png | Bin 0 -> 593 bytes .../textures/creative_search_icon.png | Bin 0 -> 1363 bytes .../creative/textures/creative_trash_icon.png | Bin 0 -> 642 bytes data/games/garage/mods/default/README.txt | 407 +++ data/games/garage/mods/default/aliases.lua | 77 + data/games/garage/mods/default/chests.lua | 380 +++ data/games/garage/mods/default/crafting.lua | 737 ++++ data/games/garage/mods/default/craftitems.lua | 543 +++ data/games/garage/mods/default/functions.lua | 836 +++++ data/games/garage/mods/default/furnace.lua | 436 +++ data/games/garage/mods/default/init.lua | 95 + .../games/garage/mods/default/item_entity.lua | 86 + data/games/garage/mods/default/legacy.lua | 49 + data/games/garage/mods/default/license.txt | 158 + .../garage/mods/default/locale/default.de.tr | 220 ++ .../garage/mods/default/locale/default.eo.tr | 220 ++ .../garage/mods/default/locale/default.es.tr | 224 ++ .../garage/mods/default/locale/default.fr.tr | 224 ++ .../garage/mods/default/locale/default.id.tr | 220 ++ .../garage/mods/default/locale/default.it.tr | 224 ++ .../garage/mods/default/locale/default.ja.tr | 215 ++ .../garage/mods/default/locale/default.jbo.tr | 215 ++ .../garage/mods/default/locale/default.lv.tr | 215 ++ .../garage/mods/default/locale/default.ms.tr | 224 ++ .../garage/mods/default/locale/default.pl.tr | 215 ++ .../garage/mods/default/locale/default.pt.tr | 215 ++ .../mods/default/locale/default.pt_BR.tr | 215 ++ .../garage/mods/default/locale/default.ru.tr | 215 ++ .../garage/mods/default/locale/default.sk.tr | 220 ++ .../garage/mods/default/locale/default.sv.tr | 215 ++ .../garage/mods/default/locale/default.uk.tr | 215 ++ .../mods/default/locale/default.zh_CN.tr | 221 ++ .../mods/default/locale/default.zh_TW.tr | 221 ++ .../garage/mods/default/locale/template.txt | 215 ++ data/games/garage/mods/default/mapgen.lua | 2489 ++++++++++++++ data/games/garage/mods/default/mod.conf | 3 + .../models/chest_open.obj} | 0 .../mods/default/models/torch_ceiling.obj | 53 + .../mods/default/models/torch_floor.obj | 43 + .../garage/mods/default/models/torch_wall.obj | 57 + data/games/garage/mods/default/nodes.lua | 2957 +++++++++++++++++ .../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 .../default/schematics/blueberry_bush.mts | Bin 0 -> 80 bytes .../garage/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 -> 87 bytes .../default/schematics/papyrus_on_dirt.mts | Bin 0 -> 73 bytes .../schematics/papyrus_on_dry_dirt.mts | Bin 0 -> 77 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 .../default/schematics/small_pine_tree.mts | Bin 0 -> 174 bytes .../small_pine_tree_from_sapling.mts | Bin 0 -> 172 bytes .../snowy_pine_tree_from_sapling.mts | Bin 0 -> 235 bytes .../snowy_small_pine_tree_from_sapling.mts | Bin 0 -> 202 bytes .../default/sounds/default_break_glass.1.ogg | Bin 0 -> 11130 bytes .../default/sounds/default_break_glass.2.ogg | Bin 0 -> 16058 bytes .../default/sounds/default_break_glass.3.ogg | Bin 0 -> 12257 bytes .../default/sounds/default_chest_close.ogg | Bin 0 -> 10768 bytes .../default/sounds/default_chest_open.ogg | Bin 0 -> 11092 bytes .../default/sounds/default_cool_lava.1.ogg | Bin 0 -> 9583 bytes .../default/sounds/default_cool_lava.2.ogg | Bin 0 -> 7977 bytes .../default/sounds/default_cool_lava.3.ogg | Bin 0 -> 6499 bytes .../default/sounds/default_dig_choppy.1.ogg | Bin 0 -> 12607 bytes .../default/sounds/default_dig_choppy.2.ogg | Bin 0 -> 14134 bytes .../default/sounds/default_dig_choppy.3.ogg | Bin 0 -> 13948 bytes .../default/sounds/default_dig_cracky.1.ogg | Bin 0 -> 7002 bytes .../default/sounds/default_dig_cracky.2.ogg | Bin 0 -> 7466 bytes .../default/sounds/default_dig_cracky.3.ogg | Bin 0 -> 7184 bytes .../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 .../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 .../default/sounds/default_dug_metal.1.ogg | Bin 0 -> 7076 bytes .../default/sounds/default_dug_metal.2.ogg | Bin 0 -> 7260 bytes .../default/sounds/default_dug_node.1.ogg | Bin 0 -> 6630 bytes .../default/sounds/default_dug_node.2.ogg | Bin 0 -> 7863 bytes .../default/sounds/default_furnace_active.ogg | Bin 0 -> 324071 bytes .../default/sounds/default_glass_footstep.ogg | Bin 0 -> 7094 bytes .../sounds/default_grass_footstep.1.ogg | Bin 0 -> 10019 bytes .../sounds/default_grass_footstep.2.ogg | Bin 0 -> 10164 bytes .../sounds/default_grass_footstep.3.ogg | Bin 0 -> 9989 bytes .../default/sounds/default_gravel_dig.1.ogg | Bin 0 -> 14972 bytes .../default/sounds/default_gravel_dig.2.ogg | Bin 0 -> 14853 bytes .../default/sounds/default_gravel_dug.1.ogg | Bin 0 -> 15967 bytes .../default/sounds/default_gravel_dug.2.ogg | Bin 0 -> 15203 bytes .../default/sounds/default_gravel_dug.3.ogg | Bin 0 -> 15952 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 -> 14255 bytes .../sounds/default_hard_footstep.2.ogg | Bin 0 -> 14060 bytes .../sounds/default_hard_footstep.3.ogg | Bin 0 -> 12626 bytes .../mods/default/sounds/default_ice_dig.1.ogg | Bin 0 -> 16248 bytes .../mods/default/sounds/default_ice_dig.2.ogg | Bin 0 -> 16624 bytes .../mods/default/sounds/default_ice_dig.3.ogg | Bin 0 -> 10396 bytes .../mods/default/sounds/default_ice_dug.ogg | Bin 0 -> 22348 bytes .../default/sounds/default_ice_footstep.1.ogg | Bin 0 -> 13394 bytes .../default/sounds/default_ice_footstep.2.ogg | Bin 0 -> 13384 bytes .../default/sounds/default_ice_footstep.3.ogg | Bin 0 -> 12605 bytes .../default/sounds/default_item_smoke.ogg | Bin 0 -> 6651 bytes .../sounds/default_metal_footstep.1.ogg | Bin 0 -> 11830 bytes .../sounds/default_metal_footstep.2.ogg | Bin 0 -> 9180 bytes .../sounds/default_metal_footstep.3.ogg | Bin 0 -> 11110 bytes .../default/sounds/default_place_node.1.ogg | Bin 0 -> 8584 bytes .../default/sounds/default_place_node.2.ogg | Bin 0 -> 8644 bytes .../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 -> 13024 bytes .../sounds/default_sand_footstep.2.ogg | Bin 0 -> 7274 bytes .../sounds/default_sand_footstep.3.ogg | Bin 0 -> 12655 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 .../default/sounds/default_tool_breaks.1.ogg | Bin 0 -> 6019 bytes .../default/sounds/default_tool_breaks.2.ogg | Bin 0 -> 8440 bytes .../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_wood_footstep.1.ogg | Bin 0 -> 5967 bytes .../sounds/default_wood_footstep.2.ogg | Bin 0 -> 5772 bytes .../mods/default/sounds/player_damage.ogg | Bin 0 -> 6176 bytes .../garage/mods/default/textures/bubble.png | Bin 0 -> 331 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 -> 288 bytes .../textures/default_acacia_leaves.png | Bin 0 -> 312 bytes .../textures/default_acacia_leaves_simple.png | Bin 0 -> 336 bytes .../textures/default_acacia_sapling.png | Bin 0 -> 209 bytes .../default/textures/default_acacia_tree.png | Bin 0 -> 533 bytes .../textures/default_acacia_tree_top.png | Bin 0 -> 690 bytes .../default/textures/default_acacia_wood.png | Bin 0 -> 218 bytes .../mods/default/textures/default_apple.png | Bin 0 -> 251 bytes .../default/textures/default_aspen_leaves.png | Bin 0 -> 610 bytes .../textures/default_aspen_sapling.png | Bin 0 -> 275 bytes .../default/textures/default_aspen_tree.png | Bin 0 -> 526 bytes .../textures/default_aspen_tree_top.png | Bin 0 -> 649 bytes .../default/textures/default_aspen_wood.png | Bin 0 -> 222 bytes .../default/textures/default_blueberries.png | Bin 0 -> 166 bytes .../default_blueberry_bush_leaves.png | Bin 0 -> 463 bytes .../default_blueberry_bush_sapling.png | Bin 0 -> 170 bytes .../textures/default_blueberry_overlay.png | Bin 0 -> 388 bytes .../mods/default/textures/default_book.png | Bin 0 -> 204 bytes .../default/textures/default_book_written.png | Bin 0 -> 262 bytes .../default/textures/default_bookshelf.png | Bin 0 -> 467 bytes .../textures/default_bookshelf_slot.png | Bin 0 -> 138 bytes .../mods/default/textures/default_brick.png | Bin 0 -> 346 bytes .../default/textures/default_bronze_block.png | Bin 0 -> 354 bytes .../default/textures/default_bronze_ingot.png | Bin 0 -> 224 bytes .../default/textures/default_bush_sapling.png | Bin 0 -> 165 bytes .../default/textures/default_bush_stem.png | Bin 0 -> 245 bytes .../default/textures/default_cactus_side.png | Bin 0 -> 309 bytes .../default/textures/default_cactus_top.png | Bin 0 -> 267 bytes .../textures/default_chest_front.png | Bin .../textures/default_chest_inside.png | Bin .../default/textures/default_chest_lock.png | Bin 0 -> 464 bytes .../textures/default_chest_side.png | Bin .../textures/default_chest_top.png | Bin .../mods/default/textures/default_clay.png | Bin 0 -> 272 bytes .../default/textures/default_clay_brick.png | Bin 0 -> 160 bytes .../default/textures/default_clay_lump.png | Bin 0 -> 167 bytes .../mods/default/textures/default_cloud.png | Bin 0 -> 83 bytes .../default/textures/default_coal_block.png | Bin 0 -> 236 bytes .../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 -> 820 bytes .../default_coniferous_litter_side.png | Bin 0 -> 332 bytes .../default/textures/default_copper_block.png | Bin 0 -> 356 bytes .../default/textures/default_copper_ingot.png | Bin 0 -> 225 bytes .../default/textures/default_copper_lump.png | Bin 0 -> 177 bytes .../default/textures/default_coral_brown.png | Bin 0 -> 356 bytes .../default/textures/default_coral_cyan.png | Bin 0 -> 200 bytes .../default/textures/default_coral_green.png | Bin 0 -> 274 bytes .../default/textures/default_coral_orange.png | Bin 0 -> 314 bytes .../default/textures/default_coral_pink.png | Bin 0 -> 239 bytes .../textures/default_coral_skeleton.png | Bin 0 -> 212 bytes .../textures/default_desert_cobble.png | Bin 0 -> 520 bytes .../default/textures/default_desert_sand.png | Bin 0 -> 349 bytes .../textures/default_desert_sandstone.png | Bin 0 -> 254 bytes .../default_desert_sandstone_block.png | Bin 0 -> 441 bytes .../default_desert_sandstone_brick.png | Bin 0 -> 464 bytes .../default/textures/default_desert_stone.png | Bin 0 -> 280 bytes .../textures/default_desert_stone_block.png | Bin 0 -> 358 bytes .../textures/default_desert_stone_brick.png | Bin 0 -> 386 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 -> 272 bytes .../default/textures/default_dry_dirt.png | Bin 0 -> 256 bytes .../default/textures/default_dry_grass.png | Bin 0 -> 263 bytes .../default/textures/default_dry_grass_1.png | Bin 0 -> 166 bytes .../default/textures/default_dry_grass_2.png | Bin 0 -> 203 bytes .../default/textures/default_dry_grass_3.png | Bin 0 -> 230 bytes .../default/textures/default_dry_grass_4.png | Bin 0 -> 252 bytes .../default/textures/default_dry_grass_5.png | Bin 0 -> 273 bytes .../textures/default_dry_grass_side.png | Bin 0 -> 408 bytes .../default/textures/default_dry_shrub.png | Bin 0 -> 154 bytes .../default_emergent_jungle_sapling.png | Bin 0 -> 190 bytes .../textures/default_fence_acacia_wood.png | Bin 0 -> 228 bytes .../textures/default_fence_aspen_wood.png | Bin 0 -> 232 bytes .../textures/default_fence_junglewood.png | Bin 0 -> 228 bytes .../textures/default_fence_overlay.png | Bin 0 -> 219 bytes .../textures/default_fence_pine_wood.png | Bin 0 -> 230 bytes .../default_fence_rail_acacia_wood.png | Bin 0 -> 275 bytes .../default_fence_rail_aspen_wood.png | Bin 0 -> 232 bytes .../default_fence_rail_junglewood.png | Bin 0 -> 227 bytes .../textures/default_fence_rail_overlay.png | Bin 0 -> 141 bytes .../textures/default_fence_rail_pine_wood.png | Bin 0 -> 232 bytes .../textures/default_fence_rail_wood.png | Bin 0 -> 227 bytes .../default/textures/default_fence_wood.png | Bin 0 -> 226 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 -> 214 bytes .../default/textures/default_footprint.png | Bin 0 -> 284 bytes .../textures/default_furnace_bottom.png | Bin 0 -> 271 bytes .../textures/default_furnace_fire_bg.png | Bin 0 -> 129 bytes .../textures/default_furnace_fire_fg.png | Bin 0 -> 549 bytes .../textures/default_furnace_front.png | Bin 0 -> 305 bytes .../textures/default_furnace_front_active.png | Bin 0 -> 1020 bytes .../default/textures/default_furnace_side.png | Bin 0 -> 296 bytes .../default/textures/default_furnace_top.png | Bin 0 -> 271 bytes .../mods/default/textures/default_glass.png | Bin 0 -> 270 bytes .../default/textures/default_glass_detail.png | Bin 0 -> 123 bytes .../default/textures/default_gold_block.png | Bin 0 -> 483 bytes .../default/textures/default_gold_ingot.png | Bin 0 -> 225 bytes .../default/textures/default_gold_lump.png | Bin 0 -> 165 bytes .../mods/default/textures/default_grass.png | Bin 0 -> 461 bytes .../mods/default/textures/default_grass_1.png | Bin 0 -> 160 bytes .../mods/default/textures/default_grass_2.png | Bin 0 -> 176 bytes .../mods/default/textures/default_grass_3.png | Bin 0 -> 222 bytes .../mods/default/textures/default_grass_4.png | Bin 0 -> 287 bytes .../mods/default/textures/default_grass_5.png | Bin 0 -> 350 bytes .../default/textures/default_grass_side.png | Bin 0 -> 461 bytes .../mods/default/textures/default_gravel.png | Bin 0 -> 630 bytes .../mods/default/textures/default_ice.png | Bin 0 -> 222 bytes .../default_invisible_node_overlay.png | Bin 0 -> 110 bytes .../default/textures/default_iron_lump.png | Bin 0 -> 160 bytes .../default/textures/default_item_smoke.png | Bin 0 -> 252 bytes .../default/textures/default_junglegrass.png | Bin 0 -> 197 bytes .../default/textures/default_jungleleaves.png | Bin 0 -> 224 bytes .../textures/default_jungleleaves_simple.png | Bin 0 -> 221 bytes .../textures/default_junglesapling.png | Bin 0 -> 190 bytes .../default/textures/default_jungletree.png | Bin 0 -> 1114 bytes .../textures/default_jungletree_top.png | Bin 0 -> 688 bytes .../default/textures/default_junglewood.png | Bin 0 -> 217 bytes .../mods/default/textures/default_kelp.png | Bin 0 -> 296 bytes .../default/textures/default_ladder_steel.png | Bin 0 -> 297 bytes .../default/textures/default_ladder_wood.png | Bin 0 -> 458 bytes .../default_large_cactus_seedling.png | Bin 0 -> 254 bytes .../mods/default/textures/default_lava.png | Bin 0 -> 1015 bytes .../default_lava_flowing_animated.png | Bin 0 -> 2308 bytes .../textures/default_lava_source_animated.png | Bin 0 -> 2186 bytes .../mods/default/textures/default_leaves.png | Bin 0 -> 447 bytes .../textures/default_leaves_simple.png | Bin 0 -> 481 bytes .../textures/default_marram_grass_1.png | Bin 0 -> 246 bytes .../textures/default_marram_grass_2.png | Bin 0 -> 443 bytes .../textures/default_marram_grass_3.png | Bin 0 -> 320 bytes .../default/textures/default_mese_block.png | Bin 0 -> 148 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 -> 245 bytes .../default_mese_post_light_side_dark.png | Bin 0 -> 248 bytes .../default/textures/default_meselamp.png | Bin 0 -> 922 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 -> 257 bytes .../default/textures/default_mineral_gold.png | Bin 0 -> 126 bytes .../default/textures/default_mineral_iron.png | Bin 0 -> 170 bytes .../default/textures/default_mineral_mese.png | Bin 0 -> 323 bytes .../default/textures/default_mineral_tin.png | Bin 0 -> 171 bytes .../mods/default/textures/default_moss.png | Bin 0 -> 481 bytes .../default/textures/default_moss_side.png | Bin 0 -> 326 bytes .../default/textures/default_mossycobble.png | Bin 0 -> 312 bytes .../default/textures/default_obsidian.png | Bin 0 -> 152 bytes .../textures/default_obsidian_block.png | Bin 0 -> 203 bytes .../textures/default_obsidian_brick.png | Bin 0 -> 228 bytes .../textures/default_obsidian_glass.png | Bin 0 -> 128 bytes .../default_obsidian_glass_detail.png | Bin 0 -> 74 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 -> 233 bytes .../default/textures/default_permafrost.png | Bin 0 -> 269 bytes .../textures/default_pine_bush_sapling.png | Bin 0 -> 166 bytes .../textures/default_pine_bush_stem.png | Bin 0 -> 227 bytes .../default/textures/default_pine_needles.png | Bin 0 -> 641 bytes .../default/textures/default_pine_sapling.png | Bin 0 -> 210 bytes .../default/textures/default_pine_tree.png | Bin 0 -> 280 bytes .../textures/default_pine_tree_top.png | Bin 0 -> 567 bytes .../default/textures/default_pine_wood.png | Bin 0 -> 222 bytes .../textures/default_rainforest_litter.png | Bin 0 -> 940 bytes .../default_rainforest_litter_side.png | Bin 0 -> 496 bytes .../default/textures/default_river_water.png | Bin 0 -> 630 bytes .../default_river_water_flowing_animated.png | Bin 0 -> 8079 bytes .../default_river_water_source_animated.png | Bin 0 -> 1766 bytes .../mods/default/textures/default_sand.png | Bin 0 -> 253 bytes .../default/textures/default_sandstone.png | Bin 0 -> 258 bytes .../textures/default_sandstone_block.png | Bin 0 -> 346 bytes .../textures/default_sandstone_brick.png | Bin 0 -> 386 bytes .../mods/default/textures/default_sapling.png | Bin 0 -> 190 bytes .../default/textures/default_sign_steel.png | Bin 0 -> 360 bytes .../textures/default_sign_wall_steel.png | Bin 0 -> 319 bytes .../textures/default_sign_wall_wood.png | Bin 0 -> 511 bytes .../default/textures/default_sign_wood.png | Bin 0 -> 525 bytes .../default/textures/default_silver_sand.png | Bin 0 -> 260 bytes .../textures/default_silver_sandstone.png | Bin 0 -> 209 bytes .../default_silver_sandstone_block.png | Bin 0 -> 268 bytes .../default_silver_sandstone_brick.png | Bin 0 -> 291 bytes .../mods/default/textures/default_snow.png | Bin 0 -> 520 bytes .../default/textures/default_snow_side.png | Bin 0 -> 567 bytes .../default/textures/default_snowball.png | Bin 0 -> 255 bytes .../default/textures/default_steel_block.png | Bin 0 -> 350 bytes .../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 -> 232 bytes .../default/textures/default_stone_block.png | Bin 0 -> 340 bytes .../default/textures/default_stone_brick.png | Bin 0 -> 328 bytes .../mods/default/textures/default_stones.png | Bin 0 -> 387 bytes .../default/textures/default_stones_side.png | Bin 0 -> 204 bytes .../default/textures/default_tin_block.png | Bin 0 -> 268 bytes .../default/textures/default_tin_ingot.png | Bin 0 -> 198 bytes .../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 -> 216 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 -> 886 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 -> 305 bytes .../default/textures/default_tree_top.png | Bin 0 -> 657 bytes .../mods/default/textures/default_water.png | Bin 0 -> 560 bytes .../default_water_flowing_animated.png | Bin 0 -> 8086 bytes .../default_water_source_animated.png | Bin 0 -> 1586 bytes .../mods/default/textures/default_wood.png | Bin 0 -> 218 bytes .../mods/default/textures/gui_formbg.png | Bin 0 -> 886 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/gui_hotbar.png | Bin 0 -> 411 bytes .../default/textures/gui_hotbar_selected.png | Bin 0 -> 175 bytes .../garage/mods/default/textures/heart.png | Bin 0 -> 279 bytes .../mods/default/textures/wieldhand.png | Bin 0 -> 129 bytes data/games/garage/mods/default/tools.lua | 477 +++ data/games/garage/mods/default/torch.lua | 157 + data/games/garage/mods/default/trees.lua | 605 ++++ data/games/garage/mods/dignodes/init.lua | 39 - data/games/garage/mods/dignodes/mod.conf | 2 - .../dignodes/textures/dignodes_choppy.png | Bin 187 -> 0 bytes .../dignodes/textures/dignodes_cracky.png | Bin 193 -> 0 bytes .../dignodes/textures/dignodes_crumbly.png | Bin 172 -> 0 bytes .../textures/dignodes_dig_immediate.png | Bin 170 -> 0 bytes .../mods/dignodes/textures/dignodes_none.png | Bin 201 -> 0 bytes .../dignodes/textures/dignodes_rating1.png | Bin 94 -> 0 bytes .../dignodes/textures/dignodes_rating2.png | Bin 92 -> 0 bytes .../dignodes/textures/dignodes_rating3.png | Bin 93 -> 0 bytes data/games/garage/mods/doors/README.txt | 87 + data/games/garage/mods/doors/init.lua | 937 ++++++ data/games/garage/mods/doors/license.txt | 164 + .../garage/mods/doors/locale/doors.de.tr | 18 + .../garage/mods/doors/locale/doors.eo.tr | 18 + .../garage/mods/doors/locale/doors.es.tr | 18 + .../garage/mods/doors/locale/doors.fr.tr | 18 + .../garage/mods/doors/locale/doors.id.tr | 18 + .../garage/mods/doors/locale/doors.it.tr | 18 + .../garage/mods/doors/locale/doors.ja.tr | 18 + .../garage/mods/doors/locale/doors.jbo.tr | 18 + .../garage/mods/doors/locale/doors.lv.tr | 18 + .../garage/mods/doors/locale/doors.ms.tr | 18 + .../garage/mods/doors/locale/doors.pl.tr | 18 + .../garage/mods/doors/locale/doors.pt_BR.tr | 18 + .../garage/mods/doors/locale/doors.ru.tr | 18 + .../garage/mods/doors/locale/doors.sk.tr | 18 + .../garage/mods/doors/locale/doors.sv.tr | 18 + .../garage/mods/doors/locale/doors.uk.tr | 18 + .../garage/mods/doors/locale/doors.zh_CN.tr | 18 + .../garage/mods/doors/locale/doors.zh_TW.tr | 18 + .../garage/mods/doors/locale/template.txt | 18 + data/games/garage/mods/doors/mod.conf | 4 + .../games/garage/mods/doors/models/door.blend | Bin 0 -> 426304 bytes .../games/garage/mods/doors/models/door_a.b3d | Bin 0 -> 843 bytes .../games/garage/mods/doors/models/door_b.b3d | Bin 0 -> 843 bytes .../doors/models/doors_fencegate_closed.obj | 106 + .../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 .../doors/sounds/doors_fencegate_close.ogg | Bin 0 -> 10032 bytes .../doors/sounds/doors_fencegate_open.ogg | Bin 0 -> 8942 bytes .../doors/sounds/doors_glass_door_close.ogg | Bin 0 -> 7289 bytes .../doors/sounds/doors_glass_door_open.ogg | Bin 0 -> 7288 bytes .../doors/sounds/doors_steel_door_close.ogg | Bin 0 -> 8574 bytes .../doors/sounds/doors_steel_door_open.ogg | Bin 0 -> 5510 bytes .../mods/doors/textures/doors_door_glass.png | Bin 0 -> 493 bytes .../textures/doors_door_obsidian_glass.png | Bin 0 -> 210 bytes .../mods/doors/textures/doors_door_steel.png | Bin 0 -> 867 bytes .../mods/doors/textures/doors_door_wood.png | Bin 0 -> 1013 bytes .../doors/textures/doors_hidden_segment.png | Bin 0 -> 280 bytes .../mods/doors/textures/doors_item_glass.png | Bin 0 -> 232 bytes .../textures/doors_item_obsidian_glass.png | Bin 0 -> 132 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 .../doors/textures/doors_trapdoor_side.png | Bin 0 -> 118 bytes .../doors/textures/doors_trapdoor_steel.png | Bin 0 -> 153 bytes .../textures/doors_trapdoor_steel_side.png | Bin 0 -> 98 bytes .../games/garage/mods/dungeon_loot/README.txt | 11 + data/games/garage/mods/dungeon_loot/init.lua | 8 + .../garage/mods/dungeon_loot/license.txt | 24 + data/games/garage/mods/dungeon_loot/loot.lua | 60 + .../games/garage/mods/dungeon_loot/mapgen.lua | 173 + data/games/garage/mods/dungeon_loot/mod.conf | 3 + data/games/garage/mods/dye/README.txt | 13 + data/games/garage/mods/dye/init.lua | 127 + data/games/garage/mods/dye/license.txt | 60 + data/games/garage/mods/dye/locale/dye.de.tr | 16 + data/games/garage/mods/dye/locale/dye.eo.tr | 16 + data/games/garage/mods/dye/locale/dye.es.tr | 16 + data/games/garage/mods/dye/locale/dye.fr.tr | 16 + data/games/garage/mods/dye/locale/dye.id.tr | 16 + data/games/garage/mods/dye/locale/dye.it.tr | 16 + data/games/garage/mods/dye/locale/dye.ja.tr | 16 + data/games/garage/mods/dye/locale/dye.jbo.tr | 16 + data/games/garage/mods/dye/locale/dye.lv.tr | 16 + data/games/garage/mods/dye/locale/dye.ms.tr | 16 + data/games/garage/mods/dye/locale/dye.pl.tr | 16 + .../games/garage/mods/dye/locale/dye.pt_BR.tr | 16 + data/games/garage/mods/dye/locale/dye.ru.tr | 16 + data/games/garage/mods/dye/locale/dye.sk.tr | 16 + data/games/garage/mods/dye/locale/dye.sv.tr | 16 + data/games/garage/mods/dye/locale/dye.uk.tr | 16 + .../games/garage/mods/dye/locale/dye.zh_CN.tr | 16 + .../games/garage/mods/dye/locale/dye.zh_TW.tr | 16 + .../games/garage/mods/dye/locale/template.txt | 16 + data/games/garage/mods/dye/mod.conf | 2 + .../garage/mods/dye/textures/dye_black.png | Bin 0 -> 169 bytes .../garage/mods/dye/textures/dye_blue.png | Bin 0 -> 161 bytes .../garage/mods/dye/textures/dye_brown.png | Bin 0 -> 164 bytes .../garage/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 .../garage/mods/dye/textures/dye_green.png | Bin 0 -> 168 bytes .../garage/mods/dye/textures/dye_grey.png | Bin 0 -> 169 bytes .../garage/mods/dye/textures/dye_magenta.png | Bin 0 -> 169 bytes .../garage/mods/dye/textures/dye_orange.png | Bin 0 -> 169 bytes .../garage/mods/dye/textures/dye_pink.png | Bin 0 -> 169 bytes .../garage/mods/dye/textures/dye_red.png | Bin 0 -> 169 bytes .../garage/mods/dye/textures/dye_violet.png | Bin 0 -> 169 bytes .../garage/mods/dye/textures/dye_white.png | Bin 0 -> 170 bytes .../garage/mods/dye/textures/dye_yellow.png | Bin 0 -> 169 bytes data/games/garage/mods/env_sounds/README.txt | 17 + data/games/garage/mods/env_sounds/init.lua | 112 + data/games/garage/mods/env_sounds/license.txt | 57 + data/games/garage/mods/env_sounds/mod.conf | 3 + .../env_sounds/sounds/env_sounds_lava.1.ogg | Bin 0 -> 32359 bytes .../env_sounds/sounds/env_sounds_lava.2.ogg | Bin 0 -> 28936 bytes .../env_sounds/sounds/env_sounds_water.1.ogg | Bin 0 -> 80221 bytes .../env_sounds/sounds/env_sounds_water.2.ogg | Bin 0 -> 84658 bytes .../env_sounds/sounds/env_sounds_water.3.ogg | Bin 0 -> 83915 bytes .../env_sounds/sounds/env_sounds_water.4.ogg | Bin 0 -> 82187 bytes data/games/garage/mods/farming/README.txt | 43 + data/games/garage/mods/farming/api.lua | 406 +++ data/games/garage/mods/farming/hoes.lua | 54 + data/games/garage/mods/farming/init.lua | 171 + data/games/garage/mods/farming/license.txt | 95 + .../garage/mods/farming/locale/farming.de.tr | 28 + .../garage/mods/farming/locale/farming.eo.tr | 28 + .../garage/mods/farming/locale/farming.es.tr | 34 + .../garage/mods/farming/locale/farming.fr.tr | 34 + .../garage/mods/farming/locale/farming.id.tr | 28 + .../garage/mods/farming/locale/farming.it.tr | 34 + .../garage/mods/farming/locale/farming.ja.tr | 28 + .../garage/mods/farming/locale/farming.jbo.tr | 28 + .../garage/mods/farming/locale/farming.lv.tr | 28 + .../garage/mods/farming/locale/farming.ms.tr | 34 + .../garage/mods/farming/locale/farming.pl.tr | 28 + .../garage/mods/farming/locale/farming.pt.tr | 28 + .../mods/farming/locale/farming.pt_BR.tr | 28 + .../garage/mods/farming/locale/farming.ru.tr | 28 + .../garage/mods/farming/locale/farming.sk.tr | 28 + .../garage/mods/farming/locale/farming.sv.tr | 28 + .../garage/mods/farming/locale/farming.uk.tr | 28 + .../mods/farming/locale/farming.zh_CN.tr | 34 + .../mods/farming/locale/farming.zh_TW.tr | 34 + .../garage/mods/farming/locale/template.txt | 28 + data/games/garage/mods/farming/mod.conf | 4 + data/games/garage/mods/farming/nodes.lua | 282 ++ .../mods/farming/textures/farming_bread.png | Bin 0 -> 388 bytes .../mods/farming/textures/farming_cotton.png | Bin 0 -> 316 bytes .../farming/textures/farming_cotton_1.png | Bin 0 -> 110 bytes .../farming/textures/farming_cotton_2.png | Bin 0 -> 120 bytes .../farming/textures/farming_cotton_3.png | Bin 0 -> 144 bytes .../farming/textures/farming_cotton_4.png | Bin 0 -> 150 bytes .../farming/textures/farming_cotton_5.png | Bin 0 -> 158 bytes .../farming/textures/farming_cotton_6.png | Bin 0 -> 164 bytes .../farming/textures/farming_cotton_7.png | Bin 0 -> 163 bytes .../farming/textures/farming_cotton_8.png | Bin 0 -> 192 bytes .../farming/textures/farming_cotton_seed.png | Bin 0 -> 150 bytes .../farming/textures/farming_cotton_wild.png | Bin 0 -> 223 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 -> 703 bytes .../farming/textures/farming_soil_wet.png | Bin 0 -> 676 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 -> 240 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 -> 171 bytes .../mods/farming/textures/farming_wheat_4.png | Bin 0 -> 188 bytes .../mods/farming/textures/farming_wheat_5.png | Bin 0 -> 217 bytes .../mods/farming/textures/farming_wheat_6.png | Bin 0 -> 234 bytes .../mods/farming/textures/farming_wheat_7.png | Bin 0 -> 252 bytes .../mods/farming/textures/farming_wheat_8.png | Bin 0 -> 310 bytes .../farming/textures/farming_wheat_seed.png | Bin 0 -> 141 bytes data/games/garage/mods/fire/README.txt | 35 + data/games/garage/mods/fire/init.lua | 312 ++ data/games/garage/mods/fire/license.txt | 84 + data/games/garage/mods/fire/locale/fire.de.tr | 4 + data/games/garage/mods/fire/locale/fire.eo.tr | 4 + data/games/garage/mods/fire/locale/fire.es.tr | 4 + data/games/garage/mods/fire/locale/fire.fr.tr | 9 + data/games/garage/mods/fire/locale/fire.id.tr | 4 + data/games/garage/mods/fire/locale/fire.it.tr | 9 + data/games/garage/mods/fire/locale/fire.ja.tr | 4 + .../games/garage/mods/fire/locale/fire.jbo.tr | 4 + data/games/garage/mods/fire/locale/fire.lv.tr | 4 + data/games/garage/mods/fire/locale/fire.ms.tr | 9 + data/games/garage/mods/fire/locale/fire.pl.tr | 4 + data/games/garage/mods/fire/locale/fire.pt.tr | 4 + .../garage/mods/fire/locale/fire.pt_BR.tr | 4 + data/games/garage/mods/fire/locale/fire.ru.tr | 4 + data/games/garage/mods/fire/locale/fire.sk.tr | 4 + data/games/garage/mods/fire/locale/fire.sv.tr | 4 + data/games/garage/mods/fire/locale/fire.uk.tr | 4 + .../garage/mods/fire/locale/fire.zh_CN.tr | 4 + .../garage/mods/fire/locale/fire.zh_TW.tr | 4 + .../garage/mods/fire/locale/template.txt | 4 + data/games/garage/mods/fire/mod.conf | 3 + .../fire/sounds/fire_extinguish_flame.1.ogg | Bin 0 -> 9583 bytes .../fire/sounds/fire_extinguish_flame.2.ogg | Bin 0 -> 7977 bytes .../fire/sounds/fire_extinguish_flame.3.ogg | Bin 0 -> 6499 bytes .../garage/mods/fire/sounds/fire_fire.1.ogg | Bin 0 -> 57957 bytes .../garage/mods/fire/sounds/fire_fire.2.ogg | Bin 0 -> 60497 bytes .../garage/mods/fire/sounds/fire_fire.3.ogg | Bin 0 -> 56781 bytes .../mods/fire/sounds/fire_flint_and_steel.ogg | Bin 0 -> 10443 bytes .../garage/mods/fire/sounds/fire_large.ogg | Bin 0 -> 62808 bytes .../garage/mods/fire/sounds/fire_small.ogg | Bin 0 -> 50004 bytes .../mods/fire/textures/fire_basic_flame.png | Bin 0 -> 594 bytes .../textures/fire_basic_flame_animated.png | Bin 0 -> 1029 bytes .../mods/fire/textures/fire_flint_steel.png | Bin 0 -> 205 bytes data/games/garage/mods/fireflies/README.txt | 22 + data/games/garage/mods/fireflies/init.lua | 259 ++ data/games/garage/mods/fireflies/license.txt | 58 + .../mods/fireflies/locale/fireflies.de.tr | 5 + .../mods/fireflies/locale/fireflies.eo.tr | 5 + .../mods/fireflies/locale/fireflies.es.tr | 5 + .../mods/fireflies/locale/fireflies.fr.tr | 5 + .../mods/fireflies/locale/fireflies.id.tr | 5 + .../mods/fireflies/locale/fireflies.it.tr | 5 + .../mods/fireflies/locale/fireflies.ja.tr | 5 + .../mods/fireflies/locale/fireflies.jbo.tr | 5 + .../mods/fireflies/locale/fireflies.lv.tr | 5 + .../mods/fireflies/locale/fireflies.ms.tr | 5 + .../mods/fireflies/locale/fireflies.pl.tr | 5 + .../mods/fireflies/locale/fireflies.pt_BR.tr | 5 + .../mods/fireflies/locale/fireflies.ru.tr | 5 + .../mods/fireflies/locale/fireflies.sk.tr | 5 + .../mods/fireflies/locale/fireflies.sv.tr | 5 + .../mods/fireflies/locale/fireflies.uk.tr | 5 + .../mods/fireflies/locale/fireflies.zh_CN.tr | 5 + .../mods/fireflies/locale/fireflies.zh_TW.tr | 5 + .../garage/mods/fireflies/locale/template.txt | 5 + data/games/garage/mods/fireflies/mod.conf | 3 + .../fireflies/textures/fireflies_bottle.png | Bin 0 -> 172 bytes .../textures/fireflies_bottle_animated.png | Bin 0 -> 203 bytes .../fireflies/textures/fireflies_bugnet.png | Bin 0 -> 192 bytes .../fireflies/textures/fireflies_firefly.png | Bin 0 -> 113 bytes .../textures/fireflies_firefly_animated.png | Bin 0 -> 121 bytes data/games/garage/mods/first_mod/init.lua | 1 - data/games/garage/mods/first_mod/mod.conf | 2 - data/games/garage/mods/flowers/README.txt | 30 + data/games/garage/mods/flowers/init.lua | 336 ++ data/games/garage/mods/flowers/license.txt | 63 + .../garage/mods/flowers/locale/flowers.de.tr | 12 + .../garage/mods/flowers/locale/flowers.eo.tr | 12 + .../garage/mods/flowers/locale/flowers.es.tr | 12 + .../garage/mods/flowers/locale/flowers.fr.tr | 12 + .../garage/mods/flowers/locale/flowers.id.tr | 12 + .../garage/mods/flowers/locale/flowers.it.tr | 12 + .../garage/mods/flowers/locale/flowers.ja.tr | 12 + .../garage/mods/flowers/locale/flowers.jbo.tr | 12 + .../garage/mods/flowers/locale/flowers.lv.tr | 12 + .../garage/mods/flowers/locale/flowers.ms.tr | 12 + .../garage/mods/flowers/locale/flowers.pl.tr | 12 + .../mods/flowers/locale/flowers.pt_BR.tr | 12 + .../garage/mods/flowers/locale/flowers.ru.tr | 12 + .../garage/mods/flowers/locale/flowers.sk.tr | 12 + .../garage/mods/flowers/locale/flowers.sv.tr | 12 + .../garage/mods/flowers/locale/flowers.uk.tr | 12 + .../mods/flowers/locale/flowers.zh_CN.tr | 12 + .../mods/flowers/locale/flowers.zh_TW.tr | 12 + .../garage/mods/flowers/locale/template.txt | 12 + data/games/garage/mods/flowers/mapgen.lua | 181 + data/games/garage/mods/flowers/mod.conf | 3 + .../textures/flowers_chrysanthemum_green.png | Bin 0 -> 235 bytes .../textures/flowers_dandelion_white.png | Bin 0 -> 142 bytes .../textures/flowers_dandelion_yellow.png | Bin 0 -> 138 bytes .../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 .../flowers/textures/flowers_tulip_black.png | Bin 0 -> 172 bytes .../mods/flowers/textures/flowers_viola.png | Bin 0 -> 153 bytes .../flowers/textures/flowers_waterlily.png | Bin 0 -> 403 bytes .../textures/flowers_waterlily_bottom.png | Bin 0 -> 327 bytes .../garage/mods/game_commands/README.txt | 7 + data/games/garage/mods/game_commands/init.lua | 31 + .../garage/mods/game_commands/license.txt | 24 + .../game_commands/locale/game_commands.de.tr | 4 + .../game_commands/locale/game_commands.eo.tr | 4 + .../game_commands/locale/game_commands.es.tr | 4 + .../game_commands/locale/game_commands.fr.tr | 4 + .../game_commands/locale/game_commands.id.tr | 4 + .../game_commands/locale/game_commands.it.tr | 4 + .../game_commands/locale/game_commands.ja.tr | 4 + .../game_commands/locale/game_commands.jbo.tr | 4 + .../game_commands/locale/game_commands.lv.tr | 4 + .../game_commands/locale/game_commands.ms.tr | 4 + .../game_commands/locale/game_commands.pl.tr | 4 + .../locale/game_commands.pt_BR.tr | 4 + .../game_commands/locale/game_commands.ru.tr | 4 + .../game_commands/locale/game_commands.sk.tr | 4 + .../game_commands/locale/game_commands.sv.tr | 4 + .../game_commands/locale/game_commands.uk.tr | 4 + .../locale/game_commands.zh_CN.tr | 4 + .../locale/game_commands.zh_TW.tr | 4 + .../mods/game_commands/locale/template.txt | 4 + data/games/garage/mods/game_commands/mod.conf | 2 + .../garage/mods/give_initial_stuff/README.txt | 8 + .../garage/mods/give_initial_stuff/init.lua | 69 +- .../mods/give_initial_stuff/license.txt | 25 + .../garage/mods/give_initial_stuff/mod.conf | 4 +- data/games/garage/mods/gltf/LICENSE.md | 14 - data/games/garage/mods/gltf/init.lua | 95 - .../invalid/invalid_bufferview_bounds.gltf | 1 - .../mods/gltf/invalid/json_missing_brace.gltf | 1 - data/games/garage/mods/gltf/mod.conf | 2 - .../mods/gltf/models/gltf_blender_cube.glb | Bin 1752 -> 0 bytes .../mods/gltf/models/gltf_blender_cube.gltf | 1 - .../gltf_blender_cube_matrix_transform.gltf | 1 - .../gltf/models/gltf_blender_cube_scaled.gltf | 1 - .../garage/mods/gltf/models/gltf_frog.gltf | 1 - .../gltf/models/gltf_minimal_triangle.gltf | 1 - .../mods/gltf/models/gltf_simple_skin.gltf | 1 - .../models/gltf_simple_sparse_accessor.gltf | 1 - .../mods/gltf/models/gltf_snow_man.gltf | 1 - .../garage/mods/gltf/models/gltf_spider.gltf | 1 - .../gltf/models/gltf_spider_animated.gltf | 1 - .../gltf_triangle_with_vertex_stride.gltf | 1 - .../models/gltf_triangle_without_indices.gltf | 1 - .../garage/mods/gltf/textures/gltf_cube.png | Bin 203 -> 0 bytes .../garage/mods/gltf/textures/gltf_frog.png | Bin 272 -> 0 bytes .../mods/gltf/textures/gltf_snow_man.png | Bin 205 -> 0 bytes .../garage/mods/gltf/textures/gltf_spider.png | Bin 10957 -> 0 bytes .../garage/mods/initial_message/init.lua | 9 - .../garage/mods/initial_message/mod.conf | 2 - data/games/garage/mods/keys/README.txt | 21 + data/games/garage/mods/keys/aliases.lua | 6 + data/games/garage/mods/keys/crafting.lua | 28 + data/games/garage/mods/keys/craftitems.lua | 101 + data/games/garage/mods/keys/init.lua | 6 + data/games/garage/mods/keys/license.txt | 52 + data/games/garage/mods/keys/locale/keys.de.tr | 5 + data/games/garage/mods/keys/locale/keys.eo.tr | 5 + data/games/garage/mods/keys/locale/keys.es.tr | 5 + data/games/garage/mods/keys/locale/keys.fr.tr | 5 + data/games/garage/mods/keys/locale/keys.id.tr | 5 + data/games/garage/mods/keys/locale/keys.it.tr | 5 + data/games/garage/mods/keys/locale/keys.ja.tr | 5 + .../games/garage/mods/keys/locale/keys.jbo.tr | 5 + data/games/garage/mods/keys/locale/keys.lv.tr | 5 + data/games/garage/mods/keys/locale/keys.ms.tr | 5 + data/games/garage/mods/keys/locale/keys.pl.tr | 5 + .../garage/mods/keys/locale/keys.pt_BR.tr | 5 + data/games/garage/mods/keys/locale/keys.ru.tr | 5 + data/games/garage/mods/keys/locale/keys.sv.tr | 5 + data/games/garage/mods/keys/locale/keys.uk.tr | 4 + .../garage/mods/keys/locale/keys.zh_CN.tr | 5 + .../garage/mods/keys/locale/keys.zh_TW.tr | 5 + .../garage/mods/keys/locale/template.txt | 5 + data/games/garage/mods/keys/mod.conf | 3 + .../garage/mods/keys/textures/keys_key.png | Bin 0 -> 180 bytes .../mods/keys/textures/keys_key_skeleton.png | Bin 0 -> 187 bytes data/games/garage/mods/last_mod/init.lua | 1 - data/games/garage/mods/last_mod/mod.conf | 5 - data/games/garage/mods/lighting/init.lua | 156 - data/games/garage/mods/lighting/mod.conf | 2 - data/games/garage/mods/log/init.lua | 16 - data/games/garage/mods/log/mod.conf | 2 - data/games/garage/mods/map/README.txt | 44 + data/games/garage/mods/map/init.lua | 80 + data/games/garage/mods/map/license.txt | 60 + data/games/garage/mods/map/locale/map.de.tr | 3 + data/games/garage/mods/map/locale/map.eo.tr | 3 + data/games/garage/mods/map/locale/map.es.tr | 3 + data/games/garage/mods/map/locale/map.fr.tr | 3 + data/games/garage/mods/map/locale/map.id.tr | 3 + data/games/garage/mods/map/locale/map.it.tr | 3 + data/games/garage/mods/map/locale/map.ja.tr | 3 + data/games/garage/mods/map/locale/map.jbo.tr | 3 + data/games/garage/mods/map/locale/map.lv.tr | 3 + data/games/garage/mods/map/locale/map.ms.tr | 3 + data/games/garage/mods/map/locale/map.pl.tr | 3 + .../games/garage/mods/map/locale/map.pt_BR.tr | 3 + data/games/garage/mods/map/locale/map.ru.tr | 3 + data/games/garage/mods/map/locale/map.sk.tr | 3 + data/games/garage/mods/map/locale/map.sv.tr | 3 + data/games/garage/mods/map/locale/map.uk.tr | 3 + .../games/garage/mods/map/locale/map.zh_CN.tr | 3 + .../games/garage/mods/map/locale/map.zh_TW.tr | 3 + .../games/garage/mods/map/locale/template.txt | 3 + data/games/garage/mods/map/mod.conf | 3 + .../mods/map/textures/map_mapping_kit.png | Bin 0 -> 763 bytes data/games/garage/mods/mapgen/init.lua | 104 - data/games/garage/mods/mapgen/mod.conf | 3 - data/games/garage/mods/modchannels/init.lua | 14 - data/games/garage/mods/modchannels/mod.conf | 2 - .../garage/mods/mtg_craftguide/README.md | 25 + .../games/garage/mods/mtg_craftguide/init.lua | 438 +++ .../garage/mods/mtg_craftguide/license.txt | 63 + .../locale/mtg_craftguide.de.tr | 53 + .../locale/mtg_craftguide.eo.tr | 54 + .../locale/mtg_craftguide.es.tr | 53 + .../locale/mtg_craftguide.fr.tr | 54 + .../locale/mtg_craftguide.id.tr | 53 + .../locale/mtg_craftguide.ja.tr | 53 + .../locale/mtg_craftguide.jbo.tr | 54 + .../locale/mtg_craftguide.lv.tr | 53 + .../locale/mtg_craftguide.ms.tr | 53 + .../locale/mtg_craftguide.pl.tr | 53 + .../locale/mtg_craftguide.pt_BR.tr | 53 + .../locale/mtg_craftguide.ru.tr | 53 + .../locale/mtg_craftguide.sv.tr | 53 + .../locale/mtg_craftguide.uk.tr | 53 + .../locale/mtg_craftguide.zh_CN.tr | 53 + .../locale/mtg_craftguide.zh_TW.tr | 53 + .../mods/mtg_craftguide/locale/template.txt | 53 + .../games/garage/mods/mtg_craftguide/mod.conf | 3 + .../textures/craftguide_clear_icon.png | Bin 0 -> 545 bytes .../textures/craftguide_furnace.png | Bin 0 -> 715 bytes .../textures/craftguide_next_icon.png | Bin 0 -> 640 bytes .../textures/craftguide_prev_icon.png | Bin 0 -> 640 bytes .../textures/craftguide_search_icon.png | Bin 0 -> 1288 bytes .../textures/craftguide_shapeless.png | Bin 0 -> 170 bytes data/games/garage/mods/player_api/README.txt | 27 + data/games/garage/mods/player_api/api.lua | 239 ++ data/games/garage/mods/player_api/init.lua | 26 + data/games/garage/mods/player_api/license.txt | 60 + data/games/garage/mods/player_api/mod.conf | 2 + .../models/character.b3d} | Bin .../mods/player_api/models/character.blend | Bin 0 -> 632100 bytes .../models/character.png} | Bin .../mods/player_api/textures/player.png | Bin 0 -> 142 bytes .../mods/player_api/textures/player_back.png | Bin 0 -> 140 bytes data/games/garage/mods/screwdriver/README.txt | 13 + data/games/garage/mods/screwdriver/init.lua | 194 ++ .../games/garage/mods/screwdriver/license.txt | 50 + .../mods/screwdriver/locale/screwdriver.de.tr | 3 + .../mods/screwdriver/locale/screwdriver.eo.tr | 3 + .../mods/screwdriver/locale/screwdriver.es.tr | 3 + .../mods/screwdriver/locale/screwdriver.fr.tr | 3 + .../mods/screwdriver/locale/screwdriver.id.tr | 3 + .../mods/screwdriver/locale/screwdriver.it.tr | 3 + .../mods/screwdriver/locale/screwdriver.ja.tr | 3 + .../screwdriver/locale/screwdriver.jbo.tr | 3 + .../mods/screwdriver/locale/screwdriver.lv.tr | 3 + .../mods/screwdriver/locale/screwdriver.ms.tr | 3 + .../mods/screwdriver/locale/screwdriver.pl.tr | 3 + .../screwdriver/locale/screwdriver.pt_BR.tr | 3 + .../mods/screwdriver/locale/screwdriver.ru.tr | 3 + .../mods/screwdriver/locale/screwdriver.sk.tr | 3 + .../mods/screwdriver/locale/screwdriver.sv.tr | 3 + .../mods/screwdriver/locale/screwdriver.uk.tr | 3 + .../screwdriver/locale/screwdriver.zh_CN.tr | 3 + .../screwdriver/locale/screwdriver.zh_TW.tr | 3 + .../mods/screwdriver/locale/template.txt | 3 + data/games/garage/mods/screwdriver/mod.conf | 2 + .../mods/screwdriver/textures/screwdriver.png | Bin 0 -> 182 bytes data/games/garage/mods/sethome/README.txt | 7 + data/games/garage/mods/sethome/init.lua | 114 + data/games/garage/mods/sethome/license.txt | 24 + .../garage/mods/sethome/locale/sethome.de.tr | 9 + .../garage/mods/sethome/locale/sethome.eo.tr | 9 + .../garage/mods/sethome/locale/sethome.es.tr | 9 + .../garage/mods/sethome/locale/sethome.fr.tr | 9 + .../garage/mods/sethome/locale/sethome.id.tr | 9 + .../garage/mods/sethome/locale/sethome.it.tr | 9 + .../garage/mods/sethome/locale/sethome.ja.tr | 9 + .../garage/mods/sethome/locale/sethome.jbo.tr | 9 + .../garage/mods/sethome/locale/sethome.lv.tr | 9 + .../garage/mods/sethome/locale/sethome.ms.tr | 9 + .../garage/mods/sethome/locale/sethome.pl.tr | 9 + .../mods/sethome/locale/sethome.pt_BR.tr | 9 + .../garage/mods/sethome/locale/sethome.ru.tr | 9 + .../garage/mods/sethome/locale/sethome.sk.tr | 9 + .../garage/mods/sethome/locale/sethome.sv.tr | 9 + .../garage/mods/sethome/locale/sethome.uk.tr | 9 + .../mods/sethome/locale/sethome.zh_CN.tr | 9 + .../mods/sethome/locale/sethome.zh_TW.tr | 9 + .../garage/mods/sethome/locale/template.txt | 9 + data/games/garage/mods/sethome/mod.conf | 2 + data/games/garage/mods/sfinv/README.txt | 18 + data/games/garage/mods/sfinv/api.lua | 189 ++ data/games/garage/mods/sfinv/init.lua | 19 + data/games/garage/mods/sfinv/license.txt | 59 + .../garage/mods/sfinv/locale/sfinv.de.tr | 2 + .../garage/mods/sfinv/locale/sfinv.eo.tr | 2 + .../garage/mods/sfinv/locale/sfinv.es.tr | 2 + .../garage/mods/sfinv/locale/sfinv.fr.tr | 2 + .../garage/mods/sfinv/locale/sfinv.id.tr | 2 + .../garage/mods/sfinv/locale/sfinv.it.tr | 2 + .../garage/mods/sfinv/locale/sfinv.ja.tr | 2 + .../garage/mods/sfinv/locale/sfinv.jbo.tr | 2 + .../garage/mods/sfinv/locale/sfinv.lv.tr | 2 + .../garage/mods/sfinv/locale/sfinv.ms.tr | 2 + .../garage/mods/sfinv/locale/sfinv.pl.tr | 2 + .../garage/mods/sfinv/locale/sfinv.pt_BR.tr | 2 + .../garage/mods/sfinv/locale/sfinv.ru.tr | 2 + .../garage/mods/sfinv/locale/sfinv.sk.tr | 2 + .../garage/mods/sfinv/locale/sfinv.sv.tr | 2 + .../garage/mods/sfinv/locale/sfinv.uk.tr | 2 + .../garage/mods/sfinv/locale/sfinv.zh_CN.tr | 2 + .../garage/mods/sfinv/locale/sfinv.zh_TW.tr | 2 + .../garage/mods/sfinv/locale/template.txt | 2 + data/games/garage/mods/sfinv/mod.conf | 2 + .../sfinv/textures/sfinv_crafting_arrow.png | Bin 0 -> 382 bytes data/games/garage/mods/soundstuff/bigfoot.lua | 48 - data/games/garage/mods/soundstuff/init.lua | 6 - data/games/garage/mods/soundstuff/jukebox.lua | 331 -- data/games/garage/mods/soundstuff/mod.conf | 3 - data/games/garage/mods/soundstuff/racecar.lua | 31 - .../mods/soundstuff/sound_event_items.lua | 209 -- .../gitignored_sounds/custom_sounds_here.txt | 2 - .../soundstuff/sounds/soundstuff_mono.ogg | Bin 4362 -> 0 bytes .../soundstuff/sounds/soundstuff_sinus.ogg | Bin 4455 -> 0 bytes .../textures/soundstuff_bigfoot.png | Bin 169 -> 0 bytes .../soundstuff/textures/soundstuff_eat.png | Bin 113 -> 0 bytes .../textures/soundstuff_jukebox.png | Bin 123 -> 0 bytes .../textures/soundstuff_node_blank.png | Bin 83 -> 0 bytes .../textures/soundstuff_node_climbable.png | Bin 189 -> 0 bytes .../textures/soundstuff_node_dig.png | Bin 126 -> 0 bytes .../textures/soundstuff_node_dug.png | Bin 132 -> 0 bytes .../textures/soundstuff_node_fall.png | Bin 100 -> 0 bytes .../textures/soundstuff_node_footstep.png | Bin 120 -> 0 bytes .../textures/soundstuff_node_place.png | Bin 115 -> 0 bytes .../textures/soundstuff_node_place_failed.png | Bin 143 -> 0 bytes .../textures/soundstuff_node_sound.png | Bin 116 -> 0 bytes .../textures/soundstuff_racecar.png | Bin 129 -> 0 bytes data/games/garage/mods/spawn/README.txt | 7 + data/games/garage/mods/spawn/api.lua | 49 + data/games/garage/mods/spawn/init.lua | 135 + data/games/garage/mods/spawn/license.txt | 24 + data/games/garage/mods/spawn/mod.conf | 3 + data/games/garage/mods/stairs/README.txt | 27 + data/games/garage/mods/stairs/init.lua | 1081 +++++- data/games/garage/mods/stairs/license.txt | 16 + .../garage/mods/stairs/locale/stairs.de.tr | 145 + .../garage/mods/stairs/locale/stairs.eo.tr | 145 + .../garage/mods/stairs/locale/stairs.es.tr | 145 + .../garage/mods/stairs/locale/stairs.fr.tr | 145 + .../garage/mods/stairs/locale/stairs.id.tr | 145 + .../garage/mods/stairs/locale/stairs.it.tr | 145 + .../garage/mods/stairs/locale/stairs.ja.tr | 145 + .../garage/mods/stairs/locale/stairs.jbo.tr | 145 + .../garage/mods/stairs/locale/stairs.lv.tr | 145 + .../garage/mods/stairs/locale/stairs.ms.tr | 145 + .../garage/mods/stairs/locale/stairs.pl.tr | 145 + .../garage/mods/stairs/locale/stairs.pt_BR.tr | 145 + .../garage/mods/stairs/locale/stairs.ru.tr | 145 + .../garage/mods/stairs/locale/stairs.sk.tr | 145 + .../garage/mods/stairs/locale/stairs.sv.tr | 145 + .../garage/mods/stairs/locale/stairs.uk.tr | 145 + .../garage/mods/stairs/locale/stairs.zh_CN.tr | 153 + .../garage/mods/stairs/locale/stairs.zh_TW.tr | 153 + .../garage/mods/stairs/locale/template.txt | 145 + data/games/garage/mods/stairs/mod.conf | 4 +- .../textures/stairs_glass_outer_stairside.png | Bin 0 -> 255 bytes .../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 -> 141 bytes .../textures/stairs_obsidian_glass_split.png | Bin 0 -> 129 bytes .../stairs_obsidian_glass_stairside.png | Bin 0 -> 142 bytes data/games/garage/mods/testabms/README.md | 6 - .../games/garage/mods/testabms/after_node.lua | 12 - data/games/garage/mods/testabms/chances.lua | 56 - data/games/garage/mods/testabms/init.lua | 7 - data/games/garage/mods/testabms/intervals.lua | 56 - data/games/garage/mods/testabms/min_max.lua | 58 - data/games/garage/mods/testabms/mod.conf | 2 - data/games/garage/mods/testabms/neighbors.lua | 99 - .../testabms/textures/testabms_after_node.png | Bin 179 -> 0 bytes .../testabms/textures/testabms_wait_node.png | Bin 183 -> 0 bytes data/games/garage/mods/testentities/armor.lua | 61 - data/games/garage/mods/testentities/init.lua | 5 - data/games/garage/mods/testentities/mod.conf | 2 - .../mods/testentities/models/LICENSE.txt | 7 - .../garage/mods/testentities/observers.lua | 37 - .../garage/mods/testentities/pointable.lua | 23 - .../garage/mods/testentities/selectionbox.lua | 96 - .../textures/testentities_armorball.png | Bin 1351 -> 0 bytes .../textures/testentities_cube1.png | Bin 130 -> 0 bytes .../textures/testentities_cube2.png | Bin 128 -> 0 bytes .../textures/testentities_cube3.png | Bin 124 -> 0 bytes .../textures/testentities_cube4.png | Bin 126 -> 0 bytes .../textures/testentities_cube5.png | Bin 126 -> 0 bytes .../textures/testentities_cube6.png | Bin 126 -> 0 bytes .../textures/testentities_dungeon_master.png | Bin 2855 -> 0 bytes .../textures/testentities_sprite.png | Bin 120 -> 0 bytes .../textures/testentities_upright_sprite1.png | Bin 114 -> 0 bytes .../textures/testentities_upright_sprite2.png | Bin 119 -> 0 bytes .../garage/mods/testentities/visuals.lua | 150 - data/games/garage/mods/testfood/init.lua | 35 - data/games/garage/mods/testfood/mod.conf | 2 - .../mods/testfood/textures/testfood_bad.png | Bin 126 -> 0 bytes .../mods/testfood/textures/testfood_bad2.png | Bin 133 -> 0 bytes .../mods/testfood/textures/testfood_good.png | Bin 129 -> 0 bytes .../mods/testfood/textures/testfood_good2.png | Bin 145 -> 0 bytes .../testfood/textures/testfood_replace.png | Bin 135 -> 0 bytes .../garage/mods/testformspec/LICENSE.txt | 14 - .../garage/mods/testformspec/callbacks.lua | 51 - .../garage/mods/testformspec/dummy_items.lua | 14 - .../garage/mods/testformspec/formspec.lua | 591 ---- data/games/garage/mods/testformspec/init.lua | 3 - data/games/garage/mods/testformspec/mod.conf | 2 - .../models/testformspec_character.b3d | Bin 73433 -> 0 bytes .../textures/testformspec_9slice.png | Bin 513 -> 0 bytes .../textures/testformspec_animation.jpg | Bin 4376 -> 0 bytes .../textures/testformspec_animation.png | Bin 214 -> 0 bytes .../testformspec/textures/testformspec_bg.png | Bin 92 -> 0 bytes .../textures/testformspec_bg_9slice.png | Bin 146 -> 0 bytes .../testformspec_bg_9slice_focused.png | Bin 162 -> 0 bytes .../testformspec_bg_9slice_hovered.png | Bin 146 -> 0 bytes .../testformspec_bg_9slice_pressed.png | Bin 146 -> 0 bytes .../textures/testformspec_bg_focused.png | Bin 127 -> 0 bytes .../textures/testformspec_bg_hovered.png | Bin 92 -> 0 bytes .../textures/testformspec_bg_pressed.png | Bin 91 -> 0 bytes .../textures/testformspec_button_image.png | Bin 146 -> 0 bytes .../textures/testformspec_character.png | Bin 2754 -> 0 bytes .../textures/testformspec_hovered.png | Bin 195 -> 0 bytes .../textures/testformspec_item.png | Bin 182 -> 0 bytes .../textures/testformspec_node.png | Bin 113 -> 0 bytes .../textures/testformspec_pressed.png | Bin 165 -> 0 bytes .../garage/mods/testfullscreenfs/init.lua | 71 - .../garage/mods/testfullscreenfs/mod.conf | 2 - data/games/garage/mods/testhud/init.lua | 393 --- data/games/garage/mods/testhud/mod.conf | 2 - .../testhud/textures/testhud_waypoint.png | Bin 111 -> 0 bytes data/games/garage/mods/testitems/init.lua | 107 - data/games/garage/mods/testitems/mod.conf | 2 - .../textures/testitems_overlay_base.png | Bin 106 -> 0 bytes .../textures/testitems_overlay_overlay.png | Bin 220 -> 0 bytes .../textures/testitems_overridden.png | Bin 110 -> 0 bytes .../textures/testitems_telescope_stick.png | Bin 170 -> 0 bytes data/games/garage/mods/testnodes/README.md | 11 - data/games/garage/mods/testnodes/commands.lua | 139 - .../games/garage/mods/testnodes/drawtypes.lua | 727 ---- data/games/garage/mods/testnodes/init.lua | 13 - data/games/garage/mods/testnodes/light.lua | 50 - data/games/garage/mods/testnodes/liquids.lua | 157 - data/games/garage/mods/testnodes/meshes.lua | 179 - data/games/garage/mods/testnodes/mod.conf | 3 - .../models/testnodes_marble_glass.obj | 1619 --------- .../models/testnodes_marble_metal.obj | 2470 -------------- .../testnodes/models/testnodes_ocorner.obj | 23 - .../testnodes/models/testnodes_pyramid.obj | 24 - .../games/garage/mods/testnodes/nodeboxes.lua | 242 -- data/games/garage/mods/testnodes/overlays.lua | 93 - data/games/garage/mods/testnodes/param2.lua | 321 -- .../mods/testnodes/performance_test_nodes.lua | 59 - .../garage/mods/testnodes/properties.lua | 685 ---- data/games/garage/mods/testnodes/textures.lua | 369 -- .../mods/testnodes/textures/testnodes_1.png | Bin 107 -> 0 bytes .../textures/testnodes_128x128_rgb.png | Bin 1870 -> 0 bytes .../mods/testnodes/textures/testnodes_1f.png | Bin 153 -> 0 bytes .../mods/testnodes/textures/testnodes_1fg.png | Bin 108 -> 0 bytes .../mods/testnodes/textures/testnodes_1g.png | Bin 104 -> 0 bytes .../mods/testnodes/textures/testnodes_1w.png | Bin 121 -> 0 bytes .../mods/testnodes/textures/testnodes_1wg.png | Bin 122 -> 0 bytes .../mods/testnodes/textures/testnodes_2.png | Bin 112 -> 0 bytes .../mods/testnodes/textures/testnodes_2f.png | Bin 141 -> 0 bytes .../mods/testnodes/textures/testnodes_2fg.png | Bin 118 -> 0 bytes .../mods/testnodes/textures/testnodes_2g.png | Bin 110 -> 0 bytes .../mods/testnodes/textures/testnodes_2w.png | Bin 134 -> 0 bytes .../mods/testnodes/textures/testnodes_2wg.png | Bin 135 -> 0 bytes .../mods/testnodes/textures/testnodes_3.png | Bin 105 -> 0 bytes .../mods/testnodes/textures/testnodes_3f.png | Bin 158 -> 0 bytes .../mods/testnodes/textures/testnodes_3fg.png | Bin 114 -> 0 bytes .../mods/testnodes/textures/testnodes_3g.png | Bin 103 -> 0 bytes .../mods/testnodes/textures/testnodes_3w.png | Bin 112 -> 0 bytes .../mods/testnodes/textures/testnodes_3wg.png | Bin 112 -> 0 bytes .../mods/testnodes/textures/testnodes_4.png | Bin 97 -> 0 bytes .../mods/testnodes/textures/testnodes_4f.png | Bin 152 -> 0 bytes .../mods/testnodes/textures/testnodes_4fg.png | Bin 103 -> 0 bytes .../mods/testnodes/textures/testnodes_4g.png | Bin 95 -> 0 bytes .../mods/testnodes/textures/testnodes_4w.png | Bin 128 -> 0 bytes .../mods/testnodes/textures/testnodes_4wg.png | Bin 128 -> 0 bytes .../mods/testnodes/textures/testnodes_5.png | Bin 98 -> 0 bytes .../mods/testnodes/textures/testnodes_5f.png | Bin 156 -> 0 bytes .../mods/testnodes/textures/testnodes_5fg.png | Bin 109 -> 0 bytes .../mods/testnodes/textures/testnodes_5g.png | Bin 98 -> 0 bytes .../mods/testnodes/textures/testnodes_5w.png | Bin 117 -> 0 bytes .../mods/testnodes/textures/testnodes_5wg.png | Bin 117 -> 0 bytes .../mods/testnodes/textures/testnodes_6.png | Bin 100 -> 0 bytes .../mods/testnodes/textures/testnodes_6f.png | Bin 158 -> 0 bytes .../mods/testnodes/textures/testnodes_6fg.png | Bin 111 -> 0 bytes .../mods/testnodes/textures/testnodes_6g.png | Bin 98 -> 0 bytes .../mods/testnodes/textures/testnodes_6w.png | Bin 117 -> 0 bytes .../mods/testnodes/textures/testnodes_6wg.png | Bin 117 -> 0 bytes .../testnodes/textures/testnodes_airlike.png | Bin 92 -> 0 bytes .../testnodes/textures/testnodes_allfaces.png | Bin 150 -> 0 bytes .../textures/testnodes_allfaces_optional.png | Bin 150 -> 0 bytes .../testnodes/textures/testnodes_alpha.png | Bin 96 -> 0 bytes .../testnodes/textures/testnodes_alpha128.png | Bin 136 -> 0 bytes .../testnodes/textures/testnodes_alpha191.png | Bin 132 -> 0 bytes .../testnodes/textures/testnodes_alpha64.png | Bin 134 -> 0 bytes .../testnodes_alpha_compositing_bottom.png | Bin 265 -> 0 bytes .../testnodes_alpha_compositing_top.png | Bin 160 -> 0 bytes .../testnodes/textures/testnodes_anim.png | Bin 274 -> 0 bytes .../textures/testnodes_attached4_bottom.png | Bin 123 -> 0 bytes .../textures/testnodes_attached4_side.png | Bin 111 -> 0 bytes .../textures/testnodes_attached4_top.png | Bin 100 -> 0 bytes .../textures/testnodes_attached_bottom.png | Bin 86 -> 0 bytes .../textures/testnodes_attached_side.png | Bin 98 -> 0 bytes .../textures/testnodes_attached_top.png | Bin 87 -> 0 bytes .../textures/testnodes_attachedf_bottom.png | Bin 124 -> 0 bytes .../textures/testnodes_attachedf_side.png | Bin 112 -> 0 bytes .../textures/testnodes_attachedf_top.png | Bin 103 -> 0 bytes .../textures/testnodes_attachedfr_bottom.png | Bin 106 -> 0 bytes .../textures/testnodes_attachedfr_side.png | Bin 103 -> 0 bytes .../textures/testnodes_attachedfr_top.png | Bin 93 -> 0 bytes .../textures/testnodes_attachedw_bottom.png | Bin 130 -> 0 bytes .../textures/testnodes_attachedw_side.png | Bin 122 -> 0 bytes .../textures/testnodes_attachedw_top.png | Bin 109 -> 0 bytes .../textures/testnodes_attachedwr_bottom.png | Bin 265 -> 0 bytes .../textures/testnodes_attachedwr_side.png | Bin 173 -> 0 bytes .../textures/testnodes_attachedwr_top.png | Bin 153 -> 0 bytes .../textures/testnodes_blocking_pointable.png | Bin 150 -> 0 bytes .../testnodes/textures/testnodes_bouncy.png | Bin 106 -> 0 bytes .../textures/testnodes_buildable_to.png | Bin 89 -> 0 bytes .../testnodes_climbable_noclimb_side.png | Bin 174 -> 0 bytes .../testnodes_climbable_noclimb_top.png | Bin 101 -> 0 bytes .../testnodes_climbable_nodescend_side.png | Bin 175 -> 0 bytes .../testnodes_climbable_nodescend_top.png | Bin 101 -> 0 bytes .../testnodes_climbable_nojump_side.png | Bin 164 -> 0 bytes .../testnodes_climbable_nojump_top.png | Bin 101 -> 0 bytes .../testnodes_climbable_resistance_side.png | Bin 176 -> 0 bytes .../textures/testnodes_climbable_side.png | Bin 150 -> 0 bytes .../textures/testnodes_climbable_top.png | Bin 101 -> 0 bytes .../testnodes/textures/testnodes_damage.png | Bin 108 -> 0 bytes .../textures/testnodes_damage_neg.png | Bin 121 -> 0 bytes .../testnodes/textures/testnodes_drowning.png | Bin 127 -> 0 bytes .../textures/testnodes_fall_damage_minus.png | Bin 116 -> 0 bytes .../textures/testnodes_fall_damage_plus.png | Bin 117 -> 0 bytes .../textures/testnodes_fencelike.png | Bin 90 -> 0 bytes .../testnodes_fill_positioning_reference.png | Bin 92 -> 0 bytes .../testnodes/textures/testnodes_firelike.png | Bin 149 -> 0 bytes .../textures/testnodes_glasslike.png | Bin 117 -> 0 bytes .../textures/testnodes_glasslike_detail.png | Bin 167 -> 0 bytes .../textures/testnodes_glasslike_framed.png | Bin 88 -> 0 bytes .../textures/testnodes_glasslike_framed2.png | Bin 118 -> 0 bytes .../testnodes_glasslike_framed_optional.png | Bin 128 -> 0 bytes .../textures/testnodes_glasslikeliquid.png | Bin 122 -> 0 bytes .../testnodes/textures/testnodes_light.png | Bin 117 -> 0 bytes .../testnodes/textures/testnodes_light_1.png | Bin 158 -> 0 bytes .../testnodes/textures/testnodes_light_10.png | Bin 147 -> 0 bytes .../testnodes/textures/testnodes_light_11.png | Bin 149 -> 0 bytes .../testnodes/textures/testnodes_light_12.png | Bin 138 -> 0 bytes .../testnodes/textures/testnodes_light_13.png | Bin 137 -> 0 bytes .../testnodes/textures/testnodes_light_14.png | Bin 132 -> 0 bytes .../testnodes/textures/testnodes_light_2.png | Bin 152 -> 0 bytes .../testnodes/textures/testnodes_light_3.png | Bin 150 -> 0 bytes .../testnodes/textures/testnodes_light_4.png | Bin 157 -> 0 bytes .../testnodes/textures/testnodes_light_5.png | Bin 150 -> 0 bytes .../testnodes/textures/testnodes_light_6.png | Bin 154 -> 0 bytes .../testnodes/textures/testnodes_light_7.png | Bin 146 -> 0 bytes .../testnodes/textures/testnodes_light_8.png | Bin 139 -> 0 bytes .../testnodes/textures/testnodes_light_9.png | Bin 149 -> 0 bytes .../textures/testnodes_line_crossing.png | Bin 130 -> 0 bytes .../textures/testnodes_line_curved.png | Bin 123 -> 0 bytes .../textures/testnodes_line_straight.png | Bin 115 -> 0 bytes .../textures/testnodes_line_t_junction.png | Bin 128 -> 0 bytes .../testnodes/textures/testnodes_liquid.png | Bin 95 -> 0 bytes .../textures/testnodes_liquidflowing.png | Bin 132 -> 0 bytes .../textures/testnodes_liquidflowing_r0.png | Bin 162 -> 0 bytes .../textures/testnodes_liquidflowing_r1.png | Bin 160 -> 0 bytes .../textures/testnodes_liquidflowing_r2.png | Bin 154 -> 0 bytes .../textures/testnodes_liquidflowing_r3.png | Bin 155 -> 0 bytes .../textures/testnodes_liquidflowing_r4.png | Bin 154 -> 0 bytes .../textures/testnodes_liquidflowing_r5.png | Bin 155 -> 0 bytes .../textures/testnodes_liquidflowing_r6.png | Bin 155 -> 0 bytes .../textures/testnodes_liquidflowing_r7.png | Bin 157 -> 0 bytes .../textures/testnodes_liquidflowing_r8.png | Bin 152 -> 0 bytes .../textures/testnodes_liquidsource.png | Bin 128 -> 0 bytes .../textures/testnodes_liquidsource_r0.png | Bin 149 -> 0 bytes .../textures/testnodes_liquidsource_r1.png | Bin 152 -> 0 bytes .../textures/testnodes_liquidsource_r2.png | Bin 152 -> 0 bytes .../textures/testnodes_liquidsource_r3.png | Bin 152 -> 0 bytes .../textures/testnodes_liquidsource_r4.png | Bin 155 -> 0 bytes .../textures/testnodes_liquidsource_r5.png | Bin 150 -> 0 bytes .../textures/testnodes_liquidsource_r6.png | Bin 148 -> 0 bytes .../textures/testnodes_liquidsource_r7.png | Bin 154 -> 0 bytes .../textures/testnodes_liquidsource_r8.png | Bin 148 -> 0 bytes .../textures/testnodes_marble_glass.png | Bin 9871 -> 0 bytes .../textures/testnodes_marble_metal.png | Bin 595 -> 0 bytes .../testnodes_marble_metal_overlay.png | Bin 526 -> 0 bytes .../textures/testnodes_mask_WRGBKW.png | Bin 148 -> 0 bytes .../textures/testnodes_mesh_stripes.png | Bin 150 -> 0 bytes .../textures/testnodes_mesh_stripes10.png | Bin 84 -> 0 bytes .../textures/testnodes_mesh_stripes2.png | Bin 144 -> 0 bytes .../textures/testnodes_mesh_stripes3.png | Bin 85 -> 0 bytes .../textures/testnodes_mesh_stripes4.png | Bin 93 -> 0 bytes .../textures/testnodes_mesh_stripes5.png | Bin 108 -> 0 bytes .../textures/testnodes_mesh_stripes6.png | Bin 86 -> 0 bytes .../textures/testnodes_mesh_stripes7.png | Bin 96 -> 0 bytes .../textures/testnodes_mesh_stripes8.png | Bin 86 -> 0 bytes .../textures/testnodes_mesh_stripes9.png | Bin 99 -> 0 bytes .../textures/testnodes_move_resistance.png | Bin 130 -> 0 bytes .../testnodes/textures/testnodes_node.png | Bin 89 -> 0 bytes .../textures/testnodes_node_falling.png | Bin 112 -> 0 bytes .../textures/testnodes_node_falling_1.png | Bin 126 -> 0 bytes .../textures/testnodes_node_falling_2.png | Bin 135 -> 0 bytes .../textures/testnodes_node_falling_3.png | Bin 125 -> 0 bytes .../textures/testnodes_node_falling_4.png | Bin 123 -> 0 bytes .../textures/testnodes_node_falling_5.png | Bin 123 -> 0 bytes .../textures/testnodes_node_falling_6.png | Bin 122 -> 0 bytes .../testnodes/textures/testnodes_nodebox.png | Bin 112 -> 0 bytes .../textures/testnodes_nojump_side.png | Bin 94 -> 0 bytes .../textures/testnodes_nojump_top.png | Bin 121 -> 0 bytes .../testnodes/textures/testnodes_normal.png | Bin 92 -> 0 bytes .../testnodes/textures/testnodes_normal1.png | Bin 114 -> 0 bytes .../testnodes/textures/testnodes_normal2.png | Bin 122 -> 0 bytes .../testnodes/textures/testnodes_normal3.png | Bin 114 -> 0 bytes .../testnodes/textures/testnodes_normal4.png | Bin 106 -> 0 bytes .../testnodes/textures/testnodes_normal5.png | Bin 109 -> 0 bytes .../testnodes/textures/testnodes_normal6.png | Bin 111 -> 0 bytes .../textures/testnodes_not_pointable.png | Bin 152 -> 0 bytes .../testnodes/textures/testnodes_overlay.png | Bin 153 -> 0 bytes .../textures/testnodes_overlayable.png | Bin 87 -> 0 bytes .../textures/testnodes_palette_4dir.png | Bin 133 -> 0 bytes .../textures/testnodes_palette_facedir.png | Bin 87 -> 0 bytes .../textures/testnodes_palette_full.png | Bin 568 -> 0 bytes .../textures/testnodes_palette_metal.png | Bin 109 -> 0 bytes .../testnodes_palette_wallmounted.png | Bin 136 -> 0 bytes .../textures/testnodes_plantlike.png | Bin 183 -> 0 bytes .../testnodes_plantlike_degrotate.png | Bin 176 -> 0 bytes .../textures/testnodes_plantlike_leveled.png | Bin 163 -> 0 bytes .../testnodes_plantlike_meshoptions.png | Bin 164 -> 0 bytes .../textures/testnodes_plantlike_rooted.png | Bin 182 -> 0 bytes .../testnodes_plantlike_rooted_base.png | Bin 101 -> 0 bytes ...s_plantlike_rooted_base_side_degrotate.png | Bin 145 -> 0 bytes ...des_plantlike_rooted_base_side_leveled.png | Bin 127 -> 0 bytes ...plantlike_rooted_base_side_meshoptions.png | Bin 128 -> 0 bytes ...plantlike_rooted_base_side_wallmounted.png | Bin 143 -> 0 bytes ...odes_plantlike_rooted_base_side_waving.png | Bin 126 -> 0 bytes .../testnodes_plantlike_rooted_degrotate.png | Bin 176 -> 0 bytes .../testnodes_plantlike_rooted_leveled.png | Bin 162 -> 0 bytes ...testnodes_plantlike_rooted_meshoptions.png | Bin 162 -> 0 bytes ...testnodes_plantlike_rooted_wallmounted.png | Bin 160 -> 0 bytes .../testnodes_plantlike_rooted_waving.png | Bin 125 -> 0 bytes .../testnodes_plantlike_wallmounted.png | Bin 162 -> 0 bytes .../textures/testnodes_plantlike_waving.png | Bin 127 -> 0 bytes .../textures/testnodes_pointable.png | Bin 144 -> 0 bytes ...stnodes_post_effect_color_shaded_false.png | Bin 107 -> 0 bytes ...estnodes_post_effect_color_shaded_true.png | Bin 105 -> 0 bytes .../textures/testnodes_rail2_crossing.png | Bin 246 -> 0 bytes .../textures/testnodes_rail2_curved.png | Bin 253 -> 0 bytes .../textures/testnodes_rail2_straight.png | Bin 246 -> 0 bytes .../textures/testnodes_rail2_t_junction.png | Bin 254 -> 0 bytes .../textures/testnodes_rail_crossing.png | Bin 151 -> 0 bytes .../textures/testnodes_rail_curved.png | Bin 164 -> 0 bytes .../textures/testnodes_rail_straight.png | Bin 133 -> 0 bytes .../textures/testnodes_rail_t_junction.png | Bin 202 -> 0 bytes .../testnodes/textures/testnodes_sign3d.png | Bin 214 -> 0 bytes .../testnodes/textures/testnodes_signlike.png | Bin 150 -> 0 bytes .../testnodes/textures/testnodes_slippery.png | Bin 111 -> 0 bytes .../textures/testnodes_street_crossing.png | Bin 137 -> 0 bytes .../textures/testnodes_street_curved.png | Bin 115 -> 0 bytes .../textures/testnodes_street_straight.png | Bin 101 -> 0 bytes .../textures/testnodes_street_t_junction.png | Bin 126 -> 0 bytes .../textures/testnodes_sunlight_filter.png | Bin 113 -> 0 bytes .../testnodes_tga_type10_32bpp_bt.tga | Bin 179 -> 0 bytes .../testnodes_tga_type10_32bpp_tb.tga | Bin 179 -> 0 bytes .../textures/testnodes_tga_type1_24bpp_bt.tga | Bin 120 -> 0 bytes .../textures/testnodes_tga_type1_24bpp_tb.tga | Bin 120 -> 0 bytes .../textures/testnodes_tga_type2_16bpp_bt.tga | Bin 172 -> 0 bytes .../textures/testnodes_tga_type2_16bpp_tb.tga | Bin 172 -> 0 bytes .../textures/testnodes_tga_type2_32bpp_bt.tga | Bin 300 -> 0 bytes .../textures/testnodes_tga_type2_32bpp_tb.tga | Bin 300 -> 0 bytes .../textures/testnodes_tga_type3_16bpp_bt.tga | Bin 172 -> 0 bytes .../textures/testnodes_tga_type3_16bpp_tb.tga | Bin 172 -> 0 bytes .../textures/testnodes_torchlike_ceiling.png | Bin 157 -> 0 bytes .../textures/testnodes_torchlike_floor.png | Bin 141 -> 0 bytes .../textures/testnodes_torchlike_wall.png | Bin 158 -> 0 bytes .../garage/mods/testpathfinder/README.md | 15 - .../games/garage/mods/testpathfinder/init.lua | 136 - .../games/garage/mods/testpathfinder/mod.conf | 2 - .../testpathfinder_testpathfinder.png | Bin 159 -> 0 bytes .../textures/testpathfinder_waypoint.png | Bin 99 -> 0 bytes .../textures/testpathfinder_waypoint_end.png | Bin 147 -> 0 bytes .../testpathfinder_waypoint_start.png | Bin 139 -> 0 bytes data/games/garage/mods/testtools/README.md | 154 - data/games/garage/mods/testtools/init.lua | 1067 ------ data/games/garage/mods/testtools/light.lua | 37 - data/games/garage/mods/testtools/mod.conf | 2 - .../mods/testtools/node_box_visualizer.lua | 79 - .../games/garage/mods/testtools/particles.lua | 36 - .../garage/mods/testtools/privatizer.lua | 29 - .../testtools_blocked_pointing_staff.png | Bin 136 -> 0 bytes .../textures/testtools_branding_iron.png | Bin 117 -> 0 bytes .../textures/testtools_children_getter.png | Bin 159 -> 0 bytes .../textures/testtools_entity_rotator.png | Bin 151 -> 0 bytes .../textures/testtools_entity_scaler.png | Bin 182 -> 0 bytes .../textures/testtools_entity_spawner.png | Bin 189 -> 0 bytes .../textures/testtools_falling_node_tool.png | Bin 140 -> 0 bytes .../textures/testtools_item_meta_editor.png | Bin 114 -> 0 bytes .../textures/testtools_lighttool.png | Bin 167 -> 0 bytes .../testtools_node_box_visualizer.png | Bin 108 -> 0 bytes .../textures/testtools_node_meta_editor.png | Bin 135 -> 0 bytes .../textures/testtools_node_setter.png | Bin 146 -> 0 bytes .../textures/testtools_object_attacher.png | Bin 173 -> 0 bytes .../textures/testtools_object_editor.png | Bin 180 -> 0 bytes .../textures/testtools_object_mover.png | Bin 175 -> 0 bytes .../textures/testtools_param2tool.png | Bin 127 -> 0 bytes .../textures/testtools_particle_sheet.png | Bin 208 -> 0 bytes .../textures/testtools_particle_spawner.png | Bin 121 -> 0 bytes .../textures/testtools_particle_vertical.png | Bin 308 -> 0 bytes .../textures/testtools_privatizer.png | Bin 115 -> 0 bytes .../testtools/textures/testtools_remover.png | Bin 129 -> 0 bytes .../testtools_ultimate_pointing_staff.png | Bin 136 -> 0 bytes .../testtools_visual_collision_box.png | Bin 119 -> 0 bytes .../textures/testtools_visual_node_box.png | Bin 124 -> 0 bytes .../testtools_visual_selection_box.png | Bin 121 -> 0 bytes .../garage/mods/testtranslations/init.lua | 26 - .../locale/testtranslations.fr.po | 9 - .../locale/translation_mo.fr.mo | Bin 494 -> 0 bytes .../locale/translation_po.fr.po | 22 - .../locale/translation_tr.fr.tr | 2 - .../garage/mods/testtranslations/mod.conf | 3 - .../testtranslations/test_locale/readme.txt | 4 - .../test_locale/translation_mo.de.mo | Bin 446 -> 0 bytes .../test_locale/translation_po.de.po | 42 - .../testtranslations/translation_mo.de.po | 26 - .../testtranslations/translation_mo.fr.po | 18 - data/games/garage/mods/tiled/init.lua | 50 - data/games/garage/mods/tiled/mod.conf | 3 - .../mods/tiled/textures/tiled_tiled.png | Bin 410 -> 0 bytes .../mods/tiled/textures/tiled_tiled_node.png | Bin 249 -> 0 bytes data/games/garage/mods/tnt/README.txt | 73 + data/games/garage/mods/tnt/init.lua | 713 ++++ data/games/garage/mods/tnt/license.txt | 100 + .../games/garage/mods/tnt/locale/template.txt | 4 + data/games/garage/mods/tnt/locale/tnt.de.tr | 4 + data/games/garage/mods/tnt/locale/tnt.eo.tr | 4 + data/games/garage/mods/tnt/locale/tnt.es.tr | 4 + data/games/garage/mods/tnt/locale/tnt.fr.tr | 4 + data/games/garage/mods/tnt/locale/tnt.id.tr | 4 + data/games/garage/mods/tnt/locale/tnt.it.tr | 4 + data/games/garage/mods/tnt/locale/tnt.ja.tr | 4 + data/games/garage/mods/tnt/locale/tnt.jbo.tr | 4 + data/games/garage/mods/tnt/locale/tnt.lv.tr | 4 + data/games/garage/mods/tnt/locale/tnt.ms.tr | 4 + data/games/garage/mods/tnt/locale/tnt.pl.tr | 4 + .../games/garage/mods/tnt/locale/tnt.pt_BR.tr | 4 + data/games/garage/mods/tnt/locale/tnt.ru.tr | 4 + data/games/garage/mods/tnt/locale/tnt.sk.tr | 4 + data/games/garage/mods/tnt/locale/tnt.sv.tr | 4 + data/games/garage/mods/tnt/locale/tnt.uk.tr | 4 + .../games/garage/mods/tnt/locale/tnt.zh_CN.tr | 4 + .../games/garage/mods/tnt/locale/tnt.zh_TW.tr | 4 + data/games/garage/mods/tnt/mod.conf | 3 + .../garage/mods/tnt/sounds/tnt_explode.ogg | Bin 0 -> 13580 bytes .../mods/tnt/sounds/tnt_gunpowder_burning.ogg | Bin 0 -> 7443 bytes .../garage/mods/tnt/sounds/tnt_ignite.ogg | Bin 0 -> 26196 bytes .../garage/mods/tnt/textures/tnt_blast.png | Bin 0 -> 472 bytes .../garage/mods/tnt/textures/tnt_boom.png | Bin 0 -> 178 bytes .../garage/mods/tnt/textures/tnt_bottom.png | Bin 0 -> 99 bytes ...nt_gunpowder_burning_crossing_animated.png | Bin 0 -> 512 bytes .../tnt_gunpowder_burning_curved_animated.png | Bin 0 -> 364 bytes ...nt_gunpowder_burning_straight_animated.png | Bin 0 -> 343 bytes ..._gunpowder_burning_t_junction_animated.png | Bin 0 -> 474 bytes .../tnt/textures/tnt_gunpowder_crossing.png | Bin 0 -> 234 bytes .../tnt/textures/tnt_gunpowder_curved.png | Bin 0 -> 227 bytes .../tnt/textures/tnt_gunpowder_inventory.png | Bin 0 -> 301 bytes .../tnt/textures/tnt_gunpowder_straight.png | Bin 0 -> 201 bytes .../tnt/textures/tnt_gunpowder_t_junction.png | Bin 0 -> 258 bytes .../garage/mods/tnt/textures/tnt_side.png | Bin 0 -> 128 bytes .../garage/mods/tnt/textures/tnt_smoke.png | Bin 0 -> 162 bytes .../mods/tnt/textures/tnt_tnt_stick.png | Bin 0 -> 149 bytes .../garage/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 .../games/garage/mods/unittests/async_env.lua | 209 -- data/games/garage/mods/unittests/color.lua | 17 - .../garage/mods/unittests/content_ids.lua | 37 - data/games/garage/mods/unittests/crafting.lua | 112 - .../mods/unittests/crafting_prepare.lua | 94 - data/games/garage/mods/unittests/entity.lua | 236 -- .../garage/mods/unittests/get_version.lua | 16 - data/games/garage/mods/unittests/init.lua | 235 -- .../mods/unittests/inside_async_env.lua | 35 - .../mods/unittests/inside_mapgen_env.lua | 34 - .../games/garage/mods/unittests/inventory.lua | 73 - .../garage/mods/unittests/itemdescription.lua | 43 - .../mods/unittests/itemstack_equals.lua | 74 - .../games/garage/mods/unittests/load_time.lua | 13 - data/games/garage/mods/unittests/metadata.lua | 121 - data/games/garage/mods/unittests/misc.lua | 332 -- data/games/garage/mods/unittests/mod.conf | 4 - .../garage/mods/unittests/on_shutdown.lua | 22 - data/games/garage/mods/unittests/player.lua | 206 -- data/games/garage/mods/unittests/raycast.lua | 36 - .../mods/unittests/textures/default_dirt.png | Bin 790 -> 0 bytes .../unittests/textures/unittests_callback.png | Bin 157 -> 0 bytes .../textures/unittests_coal_lump.png | Bin 160 -> 0 bytes .../textures/unittests_description_test.png | Bin 209 -> 0 bytes .../textures/unittests_iron_lump.png | Bin 154 -> 0 bytes .../textures/unittests_repairable_tool.png | Bin 160 -> 0 bytes .../textures/unittests_steel_ingot.png | Bin 159 -> 0 bytes .../unittests/textures/unittests_stick.png | Bin 147 -> 0 bytes .../unittests/textures/unittests_torch.png | Bin 155 -> 0 bytes .../textures/unittests_unrepairable_tool.png | Bin 157 -> 0 bytes data/games/garage/mods/util_commands/init.lua | 243 -- data/games/garage/mods/util_commands/mod.conf | 2 - data/games/garage/mods/vessels/README.txt | 22 + data/games/garage/mods/vessels/init.lua | 233 ++ data/games/garage/mods/vessels/license.txt | 52 + .../garage/mods/vessels/locale/template.txt | 8 + .../garage/mods/vessels/locale/vessels.de.tr | 8 + .../garage/mods/vessels/locale/vessels.eo.tr | 8 + .../garage/mods/vessels/locale/vessels.es.tr | 8 + .../garage/mods/vessels/locale/vessels.fr.tr | 8 + .../garage/mods/vessels/locale/vessels.id.tr | 8 + .../garage/mods/vessels/locale/vessels.it.tr | 8 + .../garage/mods/vessels/locale/vessels.ja.tr | 8 + .../garage/mods/vessels/locale/vessels.jbo.tr | 8 + .../garage/mods/vessels/locale/vessels.lv.tr | 8 + .../garage/mods/vessels/locale/vessels.ms.tr | 8 + .../garage/mods/vessels/locale/vessels.pl.tr | 8 + .../mods/vessels/locale/vessels.pt_BR.tr | 8 + .../garage/mods/vessels/locale/vessels.ru.tr | 8 + .../garage/mods/vessels/locale/vessels.sk.tr | 8 + .../garage/mods/vessels/locale/vessels.sv.tr | 8 + .../garage/mods/vessels/locale/vessels.uk.tr | 8 + .../mods/vessels/locale/vessels.zh_CN.tr | 8 + .../mods/vessels/locale/vessels.zh_TW.tr | 8 + data/games/garage/mods/vessels/mod.conf | 4 + .../textures/vessels_drinking_glass.png | Bin 0 -> 194 bytes .../textures/vessels_drinking_glass_inv.png | Bin 0 -> 156 bytes .../vessels/textures/vessels_glass_bottle.png | Bin 0 -> 176 bytes .../textures/vessels_glass_fragments.png | Bin 0 -> 494 bytes .../mods/vessels/textures/vessels_shelf.png | Bin 0 -> 354 bytes .../vessels/textures/vessels_shelf_slot.png | Bin 0 -> 130 bytes .../vessels/textures/vessels_steel_bottle.png | Bin 0 -> 196 bytes data/games/garage/mods/walls/README.txt | 7 + data/games/garage/mods/walls/init.lua | 73 + data/games/garage/mods/walls/license.txt | 14 + .../garage/mods/walls/locale/template.txt | 4 + .../garage/mods/walls/locale/walls.de.tr | 4 + .../garage/mods/walls/locale/walls.eo.tr | 4 + .../garage/mods/walls/locale/walls.es.tr | 4 + .../garage/mods/walls/locale/walls.fr.tr | 4 + .../garage/mods/walls/locale/walls.id.tr | 4 + .../garage/mods/walls/locale/walls.it.tr | 4 + .../garage/mods/walls/locale/walls.ja.tr | 4 + .../garage/mods/walls/locale/walls.jbo.tr | 4 + .../garage/mods/walls/locale/walls.lv.tr | 4 + .../garage/mods/walls/locale/walls.ms.tr | 4 + .../garage/mods/walls/locale/walls.pl.tr | 4 + .../garage/mods/walls/locale/walls.pt_BR.tr | 4 + .../garage/mods/walls/locale/walls.ru.tr | 4 + .../garage/mods/walls/locale/walls.sk.tr | 4 + .../garage/mods/walls/locale/walls.sv.tr | 4 + .../garage/mods/walls/locale/walls.uk.tr | 4 + .../garage/mods/walls/locale/walls.zh_CN.tr | 4 + .../garage/mods/walls/locale/walls.zh_TW.tr | 4 + data/games/garage/mods/walls/mod.conf | 3 + data/games/garage/mods/weather/README.txt | 4 + data/games/garage/mods/weather/api.lua | 32 + data/games/garage/mods/weather/init.lua | 129 + data/games/garage/mods/weather/license.txt | 24 + data/games/garage/mods/weather/mod.conf | 2 + data/games/garage/mods/wool/README.txt | 16 + data/games/garage/mods/wool/init.lua | 54 + data/games/garage/mods/wool/license.txt | 60 + .../garage/mods/wool/locale/template.txt | 16 + data/games/garage/mods/wool/locale/wool.de.tr | 16 + data/games/garage/mods/wool/locale/wool.eo.tr | 16 + data/games/garage/mods/wool/locale/wool.es.tr | 16 + data/games/garage/mods/wool/locale/wool.fr.tr | 16 + data/games/garage/mods/wool/locale/wool.id.tr | 16 + data/games/garage/mods/wool/locale/wool.it.tr | 16 + data/games/garage/mods/wool/locale/wool.ja.tr | 16 + .../games/garage/mods/wool/locale/wool.jbo.tr | 16 + data/games/garage/mods/wool/locale/wool.lv.tr | 16 + data/games/garage/mods/wool/locale/wool.ms.tr | 16 + data/games/garage/mods/wool/locale/wool.pl.tr | 16 + data/games/garage/mods/wool/locale/wool.pt.tr | 16 + .../garage/mods/wool/locale/wool.pt_BR.tr | 16 + data/games/garage/mods/wool/locale/wool.ru.tr | 16 + data/games/garage/mods/wool/locale/wool.sk.tr | 16 + data/games/garage/mods/wool/locale/wool.sv.tr | 16 + data/games/garage/mods/wool/locale/wool.uk.tr | 16 + .../garage/mods/wool/locale/wool.zh_CN.tr | 16 + .../garage/mods/wool/locale/wool.zh_TW.tr | 16 + data/games/garage/mods/wool/mod.conf | 3 + .../garage/mods/wool/textures/wool_black.png | Bin 0 -> 209 bytes .../garage/mods/wool/textures/wool_blue.png | Bin 0 -> 264 bytes .../garage/mods/wool/textures/wool_brown.png | Bin 0 -> 267 bytes .../garage/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 .../garage/mods/wool/textures/wool_green.png | Bin 0 -> 304 bytes .../garage/mods/wool/textures/wool_grey.png | Bin 0 -> 248 bytes .../mods/wool/textures/wool_magenta.png | Bin 0 -> 296 bytes .../garage/mods/wool/textures/wool_orange.png | Bin 0 -> 284 bytes .../garage/mods/wool/textures/wool_pink.png | Bin 0 -> 218 bytes .../garage/mods/wool/textures/wool_red.png | Bin 0 -> 288 bytes .../garage/mods/wool/textures/wool_violet.png | Bin 0 -> 244 bytes .../garage/mods/wool/textures/wool_white.png | Bin 0 -> 243 bytes .../garage/mods/wool/textures/wool_yellow.png | Bin 0 -> 255 bytes data/games/garage/mods/xpanes/README.txt | 32 + data/games/garage/mods/xpanes/init.lua | 261 ++ data/games/garage/mods/xpanes/license.txt | 65 + .../garage/mods/xpanes/locale/template.txt | 6 + .../garage/mods/xpanes/locale/xpanes.de.tr | 6 + .../garage/mods/xpanes/locale/xpanes.eo.tr | 6 + .../garage/mods/xpanes/locale/xpanes.es.tr | 6 + .../garage/mods/xpanes/locale/xpanes.fr.tr | 6 + .../garage/mods/xpanes/locale/xpanes.id.tr | 6 + .../garage/mods/xpanes/locale/xpanes.it.tr | 6 + .../garage/mods/xpanes/locale/xpanes.ja.tr | 6 + .../garage/mods/xpanes/locale/xpanes.jbo.tr | 6 + .../garage/mods/xpanes/locale/xpanes.lv.tr | 6 + .../garage/mods/xpanes/locale/xpanes.ms.tr | 6 + .../garage/mods/xpanes/locale/xpanes.pl.tr | 6 + .../garage/mods/xpanes/locale/xpanes.pt_BR.tr | 6 + .../garage/mods/xpanes/locale/xpanes.ru.tr | 6 + .../garage/mods/xpanes/locale/xpanes.sk.tr | 6 + .../garage/mods/xpanes/locale/xpanes.sv.tr | 6 + .../garage/mods/xpanes/locale/xpanes.uk.tr | 6 + .../garage/mods/xpanes/locale/xpanes.zh_CN.tr | 6 + .../garage/mods/xpanes/locale/xpanes.zh_TW.tr | 6 + data/games/garage/mods/xpanes/mod.conf | 4 + .../sounds/xpanes_steel_bar_door_close.ogg | Bin 0 -> 17553 bytes .../sounds/xpanes_steel_bar_door_open.ogg | Bin 0 -> 21837 bytes .../mods/xpanes/textures/xpanes_bar.png | Bin 0 -> 155 bytes .../mods/xpanes/textures/xpanes_bar_top.png | Bin 0 -> 101 bytes .../xpanes/textures/xpanes_door_steel_bar.png | Bin 0 -> 552 bytes .../mods/xpanes/textures/xpanes_edge.png | Bin 0 -> 269 bytes .../xpanes/textures/xpanes_edge_obsidian.png | Bin 0 -> 98 bytes .../xpanes/textures/xpanes_item_steel_bar.png | Bin 0 -> 301 bytes .../textures/xpanes_trapdoor_steel_bar.png | Bin 0 -> 208 bytes .../xpanes_trapdoor_steel_bar_side.png | Bin 0 -> 98 bytes data/games/garage/schematic_tables.txt | 2228 +++++++++++++ data/games/garage/screenshot.png | Bin 133364 -> 96122 bytes data/games/garage/settingtypes.txt | 101 +- data/games/garage/utils/optimize_textures.sh | 6 + data/games/garage/utils/test/minetest.conf | 2 + data/games/garage/utils/test/run.sh | 19 + 1878 files changed, 40554 insertions(+), 16308 deletions(-) delete mode 100644 data/games/garage/README.md create mode 100644 data/games/garage/game_api.txt delete mode 100644 data/games/garage/menu/background.png rename data/games/garage/{mods/gltf/invalid/empty.gltf => minetest.conf} (100%) create mode 100644 data/games/garage/minetest.conf.example delete mode 100644 data/games/garage/mods/basenodes/init.lua delete mode 100644 data/games/garage/mods/basenodes/mod.conf delete mode 100644 data/games/garage/mods/basenodes/textures/basenodes_dirt_with_grass_bottom.png delete mode 100644 data/games/garage/mods/basenodes/textures/basenodes_dirt_with_snow.png delete mode 100644 data/games/garage/mods/basenodes/textures/basenodes_dirt_with_snow_bottom.png delete mode 100644 data/games/garage/mods/basenodes/textures/basenodes_snow_sheet.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_apple.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_cobble.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_desert_sand.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_desert_stone.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_dirt.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_grass.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_gravel.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_ice.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_junglegrass.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_jungleleaves.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_jungletree.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_jungletree_top.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_lava.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_lava_flowing.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_leaves.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_mossycobble.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_pine_needles.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_pine_tree.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_pine_tree_top.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_river_water.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_river_water_flowing.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_sand.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_snow.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_snow_side.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_stone.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_tree.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_tree_top.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_water.png delete mode 100644 data/games/garage/mods/basenodes/textures/default_water_flowing.png delete mode 100644 data/games/garage/mods/basenodes/textures/dirt_with_grass/default_grass.png delete mode 100644 data/games/garage/mods/basenodes/textures/dirt_with_grass/default_grass_side.png delete mode 100644 data/games/garage/mods/basenodes/textures/info.txt delete mode 100644 data/games/garage/mods/basetools/init.lua delete mode 100644 data/games/garage/mods/basetools/mod.conf delete mode 100644 data/games/garage/mods/basetools/textures/basetools_bloodsword.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_elementalsword.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_firesword.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_healdagger.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_healsword.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_icesword.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_mesepick.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_mesepick_no_delay.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_mesesword.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_steelaxe.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_steeldagger.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_steelpick.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_steelpick_l1.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_steelpick_l2.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_steelshears.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_steelshovel.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_steelsword.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_stoneaxe.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_stonepick.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_stoneshears.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_stoneshovel.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_stonesword.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_superhealsword.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_titaniumsword.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_usespick.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_usessword.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_woodaxe.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_wooddagger.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_woodpick.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_woodshears.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_woodshovel.png delete mode 100644 data/games/garage/mods/basetools/textures/basetools_woodsword.png create mode 100644 data/games/garage/mods/beds/README.txt create mode 100644 data/games/garage/mods/beds/api.lua create mode 100644 data/games/garage/mods/beds/beds.lua create mode 100644 data/games/garage/mods/beds/functions.lua create mode 100644 data/games/garage/mods/beds/init.lua create mode 100644 data/games/garage/mods/beds/license.txt create mode 100644 data/games/garage/mods/beds/locale/beds.de.tr create mode 100644 data/games/garage/mods/beds/locale/beds.eo.tr create mode 100644 data/games/garage/mods/beds/locale/beds.es.tr create mode 100644 data/games/garage/mods/beds/locale/beds.fr.tr create mode 100644 data/games/garage/mods/beds/locale/beds.id.tr create mode 100644 data/games/garage/mods/beds/locale/beds.it.tr create mode 100644 data/games/garage/mods/beds/locale/beds.ja.tr create mode 100644 data/games/garage/mods/beds/locale/beds.jbo.tr create mode 100644 data/games/garage/mods/beds/locale/beds.lv.tr create mode 100644 data/games/garage/mods/beds/locale/beds.ms.tr create mode 100644 data/games/garage/mods/beds/locale/beds.pl.tr create mode 100644 data/games/garage/mods/beds/locale/beds.pt_BR.tr create mode 100644 data/games/garage/mods/beds/locale/beds.ru.tr create mode 100644 data/games/garage/mods/beds/locale/beds.sk.tr create mode 100644 data/games/garage/mods/beds/locale/beds.sv.tr create mode 100644 data/games/garage/mods/beds/locale/beds.uk.tr create mode 100644 data/games/garage/mods/beds/locale/beds.zh_CN.tr create mode 100644 data/games/garage/mods/beds/locale/beds.zh_TW.tr create mode 100644 data/games/garage/mods/beds/locale/template.txt create mode 100644 data/games/garage/mods/beds/mod.conf create mode 100644 data/games/garage/mods/beds/spawns.lua create mode 100644 data/games/garage/mods/beds/textures/beds_bed.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_fancy.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_foot.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_head.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_side1.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_side2.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_side_bottom.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_side_bottom_r.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_side_top.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_side_top_r.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_top1.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_top2.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_top_bottom.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_top_top.png create mode 100644 data/games/garage/mods/beds/textures/beds_bed_under.png delete mode 100644 data/games/garage/mods/benchmarks/init.lua delete mode 100644 data/games/garage/mods/benchmarks/mod.conf create mode 100644 data/games/garage/mods/binoculars/README.txt create mode 100644 data/games/garage/mods/binoculars/init.lua create mode 100644 data/games/garage/mods/binoculars/license.txt create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.de.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.eo.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.es.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.fr.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.id.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.it.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.ja.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.jbo.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.lv.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.ms.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.pl.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.pt_BR.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.ru.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.sk.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.sv.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.uk.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.zh_CN.tr create mode 100644 data/games/garage/mods/binoculars/locale/binoculars.zh_TW.tr create mode 100644 data/games/garage/mods/binoculars/locale/template.txt create mode 100644 data/games/garage/mods/binoculars/mod.conf create mode 100644 data/games/garage/mods/binoculars/textures/binoculars_binoculars.png create mode 100644 data/games/garage/mods/boats/README.txt create mode 100644 data/games/garage/mods/boats/init.lua create mode 100644 data/games/garage/mods/boats/license.txt create mode 100644 data/games/garage/mods/boats/locale/boats.de.tr create mode 100644 data/games/garage/mods/boats/locale/boats.eo.tr create mode 100644 data/games/garage/mods/boats/locale/boats.es.tr create mode 100644 data/games/garage/mods/boats/locale/boats.fr.tr create mode 100644 data/games/garage/mods/boats/locale/boats.id.tr create mode 100644 data/games/garage/mods/boats/locale/boats.it.tr create mode 100644 data/games/garage/mods/boats/locale/boats.ja.tr create mode 100644 data/games/garage/mods/boats/locale/boats.jbo.tr create mode 100644 data/games/garage/mods/boats/locale/boats.lv.tr create mode 100644 data/games/garage/mods/boats/locale/boats.ms.tr create mode 100644 data/games/garage/mods/boats/locale/boats.pl.tr create mode 100644 data/games/garage/mods/boats/locale/boats.pt_BR.tr create mode 100644 data/games/garage/mods/boats/locale/boats.ru.tr create mode 100644 data/games/garage/mods/boats/locale/boats.sk.tr create mode 100644 data/games/garage/mods/boats/locale/boats.sv.tr create mode 100644 data/games/garage/mods/boats/locale/boats.uk.tr create mode 100644 data/games/garage/mods/boats/locale/boats.zh_CN.tr create mode 100644 data/games/garage/mods/boats/locale/boats.zh_TW.tr create mode 100644 data/games/garage/mods/boats/locale/template.txt create mode 100644 data/games/garage/mods/boats/mod.conf create mode 100644 data/games/garage/mods/boats/models/boats_boat.obj create mode 100644 data/games/garage/mods/boats/textures/boats_inventory.png create mode 100644 data/games/garage/mods/boats/textures/boats_wield.png create mode 100644 data/games/garage/mods/bones/README.txt create mode 100644 data/games/garage/mods/bones/init.lua create mode 100644 data/games/garage/mods/bones/license.txt create mode 100644 data/games/garage/mods/bones/locale/bones.de.tr create mode 100644 data/games/garage/mods/bones/locale/bones.eo.tr create mode 100644 data/games/garage/mods/bones/locale/bones.es.tr create mode 100644 data/games/garage/mods/bones/locale/bones.fr.tr create mode 100644 data/games/garage/mods/bones/locale/bones.id.tr create mode 100644 data/games/garage/mods/bones/locale/bones.it.tr create mode 100644 data/games/garage/mods/bones/locale/bones.ja.tr create mode 100644 data/games/garage/mods/bones/locale/bones.jbo.tr create mode 100644 data/games/garage/mods/bones/locale/bones.lv.tr create mode 100644 data/games/garage/mods/bones/locale/bones.ms.tr create mode 100644 data/games/garage/mods/bones/locale/bones.pl.tr create mode 100644 data/games/garage/mods/bones/locale/bones.pt_BR.tr create mode 100644 data/games/garage/mods/bones/locale/bones.ru.tr create mode 100644 data/games/garage/mods/bones/locale/bones.sk.tr create mode 100644 data/games/garage/mods/bones/locale/bones.sv.tr create mode 100644 data/games/garage/mods/bones/locale/bones.uk.tr create mode 100644 data/games/garage/mods/bones/locale/bones.zh_CN.tr create mode 100644 data/games/garage/mods/bones/locale/bones.zh_TW.tr create mode 100644 data/games/garage/mods/bones/locale/template.txt create mode 100644 data/games/garage/mods/bones/mod.conf create mode 100644 data/games/garage/mods/bones/textures/bones_bottom.png create mode 100644 data/games/garage/mods/bones/textures/bones_front.png create mode 100644 data/games/garage/mods/bones/textures/bones_rear.png create mode 100644 data/games/garage/mods/bones/textures/bones_side.png create mode 100644 data/games/garage/mods/bones/textures/bones_top.png delete mode 100644 data/games/garage/mods/broken/init.lua delete mode 100644 data/games/garage/mods/broken/mod.conf create mode 100644 data/games/garage/mods/bucket/README.txt create mode 100644 data/games/garage/mods/bucket/license.txt create mode 100644 data/games/garage/mods/bucket/locale/bucket.de.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.eo.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.es.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.fr.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.id.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.it.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.ja.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.jbo.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.lv.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.ms.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.pl.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.pt_BR.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.ru.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.sk.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.sv.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.uk.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.zh_CN.tr create mode 100644 data/games/garage/mods/bucket/locale/bucket.zh_TW.tr create mode 100644 data/games/garage/mods/bucket/locale/template.txt create mode 100644 data/games/garage/mods/bucket/textures/bucket_river_water.png create mode 100644 data/games/garage/mods/butterflies/README.txt create mode 100644 data/games/garage/mods/butterflies/init.lua create mode 100644 data/games/garage/mods/butterflies/license.txt create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.de.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.eo.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.es.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.fr.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.id.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.it.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.ja.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.jbo.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.lv.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.ms.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.pl.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.pt_BR.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.ru.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.sk.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.sv.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.uk.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.zh_CN.tr create mode 100644 data/games/garage/mods/butterflies/locale/butterflies.zh_TW.tr create mode 100644 data/games/garage/mods/butterflies/locale/template.txt create mode 100644 data/games/garage/mods/butterflies/mod.conf create mode 100644 data/games/garage/mods/butterflies/textures/butterflies_butterfly_red.png create mode 100644 data/games/garage/mods/butterflies/textures/butterflies_butterfly_red_animated.png create mode 100644 data/games/garage/mods/butterflies/textures/butterflies_butterfly_violet.png create mode 100644 data/games/garage/mods/butterflies/textures/butterflies_butterfly_violet_animated.png create mode 100644 data/games/garage/mods/butterflies/textures/butterflies_butterfly_white.png create mode 100644 data/games/garage/mods/butterflies/textures/butterflies_butterfly_white_animated.png delete mode 100644 data/games/garage/mods/callbacks/entities.lua delete mode 100644 data/games/garage/mods/callbacks/init.lua delete mode 100644 data/games/garage/mods/callbacks/items.lua delete mode 100644 data/games/garage/mods/callbacks/mod.conf delete mode 100644 data/games/garage/mods/callbacks/nodes.lua delete mode 100644 data/games/garage/mods/callbacks/players.lua delete mode 100644 data/games/garage/mods/callbacks/textures/callbacks_callback_entity.png delete mode 100644 data/games/garage/mods/callbacks/textures/callbacks_callback_entity_step.png delete mode 100644 data/games/garage/mods/callbacks/textures/callbacks_callback_item_1.png delete mode 100644 data/games/garage/mods/callbacks/textures/callbacks_callback_item_2.png delete mode 100644 data/games/garage/mods/callbacks/textures/callbacks_callback_node.png create mode 100644 data/games/garage/mods/carts/README.txt create mode 100644 data/games/garage/mods/carts/cart_entity.lua create mode 100644 data/games/garage/mods/carts/functions.lua create mode 100644 data/games/garage/mods/carts/init.lua create mode 100644 data/games/garage/mods/carts/license.txt create mode 100644 data/games/garage/mods/carts/locale/carts.de.tr create mode 100644 data/games/garage/mods/carts/locale/carts.eo.tr create mode 100644 data/games/garage/mods/carts/locale/carts.es.tr create mode 100644 data/games/garage/mods/carts/locale/carts.fr.tr create mode 100644 data/games/garage/mods/carts/locale/carts.id.tr create mode 100644 data/games/garage/mods/carts/locale/carts.it.tr create mode 100644 data/games/garage/mods/carts/locale/carts.ja.tr create mode 100644 data/games/garage/mods/carts/locale/carts.jbo.tr create mode 100644 data/games/garage/mods/carts/locale/carts.lv.tr create mode 100644 data/games/garage/mods/carts/locale/carts.ms.tr create mode 100644 data/games/garage/mods/carts/locale/carts.pl.tr create mode 100644 data/games/garage/mods/carts/locale/carts.pt_BR.tr create mode 100644 data/games/garage/mods/carts/locale/carts.ru.tr create mode 100644 data/games/garage/mods/carts/locale/carts.sk.tr create mode 100644 data/games/garage/mods/carts/locale/carts.sv.tr create mode 100644 data/games/garage/mods/carts/locale/carts.uk.tr create mode 100644 data/games/garage/mods/carts/locale/carts.zh_CN.tr create mode 100644 data/games/garage/mods/carts/locale/carts.zh_TW.tr create mode 100644 data/games/garage/mods/carts/locale/template.txt create mode 100644 data/games/garage/mods/carts/mod.conf create mode 100644 data/games/garage/mods/carts/models/carts_cart.b3d create mode 100644 data/games/garage/mods/carts/models/carts_cart.blend create mode 100644 data/games/garage/mods/carts/rails.lua create mode 100644 data/games/garage/mods/carts/sounds/carts_cart_moving.1.ogg create mode 100644 data/games/garage/mods/carts/sounds/carts_cart_moving.2.ogg create mode 100644 data/games/garage/mods/carts/sounds/carts_cart_moving.3.ogg create mode 100644 data/games/garage/mods/carts/textures/carts_cart.png create mode 100644 data/games/garage/mods/carts/textures/carts_cart_front.png create mode 100644 data/games/garage/mods/carts/textures/carts_cart_side.png create mode 100644 data/games/garage/mods/carts/textures/carts_cart_top.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_crossing.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_crossing_brk.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_crossing_pwr.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_curved.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_curved_brk.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_curved_pwr.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_straight.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_straight_brk.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_straight_pwr.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_t_junction.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_t_junction_brk.png create mode 100644 data/games/garage/mods/carts/textures/carts_rail_t_junction_pwr.png delete mode 100644 data/games/garage/mods/chest/chest.lua delete mode 100644 data/games/garage/mods/chest/detached.lua delete mode 100644 data/games/garage/mods/chest/init.lua delete mode 100644 data/games/garage/mods/chest/mod.conf delete mode 100644 data/games/garage/mods/chest/textures/chest_chest.png delete mode 100644 data/games/garage/mods/chest/textures/chest_detached_chest.png delete mode 100644 data/games/garage/mods/chest_of_everything/init.lua delete mode 100644 data/games/garage/mods/chest_of_everything/mod.conf delete mode 100644 data/games/garage/mods/chest_of_everything/textures/chest_of_everything_bag.png delete mode 100644 data/games/garage/mods/chest_of_everything/textures/chest_of_everything_chest.png create mode 100644 data/games/garage/mods/creative/README.txt create mode 100644 data/games/garage/mods/creative/init.lua create mode 100644 data/games/garage/mods/creative/inventory.lua create mode 100644 data/games/garage/mods/creative/license.txt create mode 100644 data/games/garage/mods/creative/locale/creative.de.tr create mode 100644 data/games/garage/mods/creative/locale/creative.eo.tr create mode 100644 data/games/garage/mods/creative/locale/creative.es.tr create mode 100644 data/games/garage/mods/creative/locale/creative.fr.tr create mode 100644 data/games/garage/mods/creative/locale/creative.id.tr create mode 100644 data/games/garage/mods/creative/locale/creative.it.tr create mode 100644 data/games/garage/mods/creative/locale/creative.ja.tr create mode 100644 data/games/garage/mods/creative/locale/creative.jbo.tr create mode 100644 data/games/garage/mods/creative/locale/creative.lv.tr create mode 100644 data/games/garage/mods/creative/locale/creative.ms.tr create mode 100644 data/games/garage/mods/creative/locale/creative.pl.tr create mode 100644 data/games/garage/mods/creative/locale/creative.pt_BR.tr create mode 100644 data/games/garage/mods/creative/locale/creative.ru.tr create mode 100644 data/games/garage/mods/creative/locale/creative.sk.tr create mode 100644 data/games/garage/mods/creative/locale/creative.sv.tr create mode 100644 data/games/garage/mods/creative/locale/creative.uk.tr create mode 100644 data/games/garage/mods/creative/locale/creative.zh_CN.tr create mode 100644 data/games/garage/mods/creative/locale/creative.zh_TW.tr create mode 100644 data/games/garage/mods/creative/locale/template.txt create mode 100644 data/games/garage/mods/creative/mod.conf create mode 100644 data/games/garage/mods/creative/textures/creative_clear_icon.png create mode 100644 data/games/garage/mods/creative/textures/creative_next_icon.png create mode 100644 data/games/garage/mods/creative/textures/creative_prev_icon.png create mode 100644 data/games/garage/mods/creative/textures/creative_search_icon.png create mode 100644 data/games/garage/mods/creative/textures/creative_trash_icon.png create mode 100644 data/games/garage/mods/default/README.txt create mode 100644 data/games/garage/mods/default/aliases.lua create mode 100644 data/games/garage/mods/default/chests.lua create mode 100644 data/games/garage/mods/default/crafting.lua create mode 100644 data/games/garage/mods/default/craftitems.lua create mode 100644 data/games/garage/mods/default/functions.lua create mode 100644 data/games/garage/mods/default/furnace.lua create mode 100644 data/games/garage/mods/default/init.lua create mode 100644 data/games/garage/mods/default/item_entity.lua create mode 100644 data/games/garage/mods/default/legacy.lua create mode 100644 data/games/garage/mods/default/license.txt create mode 100644 data/games/garage/mods/default/locale/default.de.tr create mode 100644 data/games/garage/mods/default/locale/default.eo.tr create mode 100644 data/games/garage/mods/default/locale/default.es.tr create mode 100644 data/games/garage/mods/default/locale/default.fr.tr create mode 100644 data/games/garage/mods/default/locale/default.id.tr create mode 100644 data/games/garage/mods/default/locale/default.it.tr create mode 100644 data/games/garage/mods/default/locale/default.ja.tr create mode 100644 data/games/garage/mods/default/locale/default.jbo.tr create mode 100644 data/games/garage/mods/default/locale/default.lv.tr create mode 100644 data/games/garage/mods/default/locale/default.ms.tr create mode 100644 data/games/garage/mods/default/locale/default.pl.tr create mode 100644 data/games/garage/mods/default/locale/default.pt.tr create mode 100644 data/games/garage/mods/default/locale/default.pt_BR.tr create mode 100644 data/games/garage/mods/default/locale/default.ru.tr create mode 100644 data/games/garage/mods/default/locale/default.sk.tr create mode 100644 data/games/garage/mods/default/locale/default.sv.tr create mode 100644 data/games/garage/mods/default/locale/default.uk.tr create mode 100644 data/games/garage/mods/default/locale/default.zh_CN.tr create mode 100644 data/games/garage/mods/default/locale/default.zh_TW.tr create mode 100644 data/games/garage/mods/default/locale/template.txt create mode 100644 data/games/garage/mods/default/mapgen.lua create mode 100644 data/games/garage/mods/default/mod.conf rename data/games/garage/mods/{testformspec/models/testformspec_chest.obj => default/models/chest_open.obj} (100%) create mode 100644 data/games/garage/mods/default/models/torch_ceiling.obj create mode 100644 data/games/garage/mods/default/models/torch_floor.obj create mode 100644 data/games/garage/mods/default/models/torch_wall.obj create mode 100644 data/games/garage/mods/default/nodes.lua create mode 100644 data/games/garage/mods/default/schematics/acacia_bush.mts create mode 100644 data/games/garage/mods/default/schematics/acacia_log.mts create mode 100644 data/games/garage/mods/default/schematics/acacia_tree.mts create mode 100644 data/games/garage/mods/default/schematics/acacia_tree_from_sapling.mts create mode 100644 data/games/garage/mods/default/schematics/apple_log.mts create mode 100644 data/games/garage/mods/default/schematics/apple_tree.mts create mode 100644 data/games/garage/mods/default/schematics/apple_tree_from_sapling.mts create mode 100644 data/games/garage/mods/default/schematics/aspen_log.mts create mode 100644 data/games/garage/mods/default/schematics/aspen_tree.mts create mode 100644 data/games/garage/mods/default/schematics/aspen_tree_from_sapling.mts create mode 100644 data/games/garage/mods/default/schematics/blueberry_bush.mts create mode 100644 data/games/garage/mods/default/schematics/bush.mts create mode 100644 data/games/garage/mods/default/schematics/emergent_jungle_tree.mts create mode 100644 data/games/garage/mods/default/schematics/emergent_jungle_tree_from_sapling.mts create mode 100644 data/games/garage/mods/default/schematics/jungle_log.mts create mode 100644 data/games/garage/mods/default/schematics/jungle_tree.mts create mode 100644 data/games/garage/mods/default/schematics/jungle_tree_from_sapling.mts create mode 100644 data/games/garage/mods/default/schematics/large_cactus.mts create mode 100644 data/games/garage/mods/default/schematics/papyrus_on_dirt.mts create mode 100644 data/games/garage/mods/default/schematics/papyrus_on_dry_dirt.mts create mode 100644 data/games/garage/mods/default/schematics/pine_bush.mts create mode 100644 data/games/garage/mods/default/schematics/pine_log.mts create mode 100644 data/games/garage/mods/default/schematics/pine_tree.mts create mode 100644 data/games/garage/mods/default/schematics/pine_tree_from_sapling.mts create mode 100644 data/games/garage/mods/default/schematics/small_pine_tree.mts create mode 100644 data/games/garage/mods/default/schematics/small_pine_tree_from_sapling.mts create mode 100644 data/games/garage/mods/default/schematics/snowy_pine_tree_from_sapling.mts create mode 100644 data/games/garage/mods/default/schematics/snowy_small_pine_tree_from_sapling.mts create mode 100644 data/games/garage/mods/default/sounds/default_break_glass.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_break_glass.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_break_glass.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_chest_close.ogg create mode 100644 data/games/garage/mods/default/sounds/default_chest_open.ogg create mode 100644 data/games/garage/mods/default/sounds/default_cool_lava.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_cool_lava.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_cool_lava.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dig_choppy.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dig_choppy.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dig_choppy.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dig_cracky.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dig_cracky.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dig_cracky.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dig_crumbly.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dig_dig_immediate.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dig_metal.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dig_snappy.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dirt_footstep.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dirt_footstep.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dug_metal.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dug_metal.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dug_node.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_dug_node.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_furnace_active.ogg create mode 100644 data/games/garage/mods/default/sounds/default_glass_footstep.ogg create mode 100644 data/games/garage/mods/default/sounds/default_grass_footstep.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_grass_footstep.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_grass_footstep.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_gravel_dig.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_gravel_dig.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_gravel_dug.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_gravel_dug.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_gravel_dug.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_gravel_footstep.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_gravel_footstep.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_gravel_footstep.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_gravel_footstep.4.ogg create mode 100644 data/games/garage/mods/default/sounds/default_hard_footstep.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_hard_footstep.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_hard_footstep.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_ice_dig.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_ice_dig.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_ice_dig.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_ice_dug.ogg create mode 100644 data/games/garage/mods/default/sounds/default_ice_footstep.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_ice_footstep.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_ice_footstep.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_item_smoke.ogg create mode 100644 data/games/garage/mods/default/sounds/default_metal_footstep.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_metal_footstep.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_metal_footstep.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_place_node.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_place_node.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_place_node.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_place_node_hard.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_place_node_hard.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_place_node_metal.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_place_node_metal.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_sand_footstep.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_sand_footstep.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_sand_footstep.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_snow_footstep.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_snow_footstep.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_snow_footstep.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_snow_footstep.4.ogg create mode 100644 data/games/garage/mods/default/sounds/default_snow_footstep.5.ogg create mode 100644 data/games/garage/mods/default/sounds/default_tool_breaks.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_tool_breaks.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_tool_breaks.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_water_footstep.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_water_footstep.2.ogg create mode 100644 data/games/garage/mods/default/sounds/default_water_footstep.3.ogg create mode 100644 data/games/garage/mods/default/sounds/default_wood_footstep.1.ogg create mode 100644 data/games/garage/mods/default/sounds/default_wood_footstep.2.ogg create mode 100644 data/games/garage/mods/default/sounds/player_damage.ogg create mode 100644 data/games/garage/mods/default/textures/bubble.png create mode 100644 data/games/garage/mods/default/textures/crack_anylength.png create mode 100644 data/games/garage/mods/default/textures/default_acacia_bush_sapling.png create mode 100644 data/games/garage/mods/default/textures/default_acacia_bush_stem.png create mode 100644 data/games/garage/mods/default/textures/default_acacia_leaves.png create mode 100644 data/games/garage/mods/default/textures/default_acacia_leaves_simple.png create mode 100644 data/games/garage/mods/default/textures/default_acacia_sapling.png create mode 100644 data/games/garage/mods/default/textures/default_acacia_tree.png create mode 100644 data/games/garage/mods/default/textures/default_acacia_tree_top.png create mode 100644 data/games/garage/mods/default/textures/default_acacia_wood.png create mode 100644 data/games/garage/mods/default/textures/default_apple.png create mode 100644 data/games/garage/mods/default/textures/default_aspen_leaves.png create mode 100644 data/games/garage/mods/default/textures/default_aspen_sapling.png create mode 100644 data/games/garage/mods/default/textures/default_aspen_tree.png create mode 100644 data/games/garage/mods/default/textures/default_aspen_tree_top.png create mode 100644 data/games/garage/mods/default/textures/default_aspen_wood.png create mode 100644 data/games/garage/mods/default/textures/default_blueberries.png create mode 100644 data/games/garage/mods/default/textures/default_blueberry_bush_leaves.png create mode 100644 data/games/garage/mods/default/textures/default_blueberry_bush_sapling.png create mode 100644 data/games/garage/mods/default/textures/default_blueberry_overlay.png create mode 100644 data/games/garage/mods/default/textures/default_book.png create mode 100644 data/games/garage/mods/default/textures/default_book_written.png create mode 100644 data/games/garage/mods/default/textures/default_bookshelf.png create mode 100644 data/games/garage/mods/default/textures/default_bookshelf_slot.png create mode 100644 data/games/garage/mods/default/textures/default_brick.png create mode 100644 data/games/garage/mods/default/textures/default_bronze_block.png create mode 100644 data/games/garage/mods/default/textures/default_bronze_ingot.png create mode 100644 data/games/garage/mods/default/textures/default_bush_sapling.png create mode 100644 data/games/garage/mods/default/textures/default_bush_stem.png create mode 100644 data/games/garage/mods/default/textures/default_cactus_side.png create mode 100644 data/games/garage/mods/default/textures/default_cactus_top.png rename data/games/garage/mods/{testformspec => default}/textures/default_chest_front.png (100%) rename data/games/garage/mods/{testformspec => default}/textures/default_chest_inside.png (100%) create mode 100644 data/games/garage/mods/default/textures/default_chest_lock.png rename data/games/garage/mods/{testformspec => default}/textures/default_chest_side.png (100%) rename data/games/garage/mods/{testformspec => default}/textures/default_chest_top.png (100%) create mode 100644 data/games/garage/mods/default/textures/default_clay.png create mode 100644 data/games/garage/mods/default/textures/default_clay_brick.png create mode 100644 data/games/garage/mods/default/textures/default_clay_lump.png create mode 100644 data/games/garage/mods/default/textures/default_cloud.png create mode 100644 data/games/garage/mods/default/textures/default_coal_block.png create mode 100644 data/games/garage/mods/default/textures/default_coal_lump.png create mode 100644 data/games/garage/mods/default/textures/default_cobble.png create mode 100644 data/games/garage/mods/default/textures/default_coniferous_litter.png create mode 100644 data/games/garage/mods/default/textures/default_coniferous_litter_side.png create mode 100644 data/games/garage/mods/default/textures/default_copper_block.png create mode 100644 data/games/garage/mods/default/textures/default_copper_ingot.png create mode 100644 data/games/garage/mods/default/textures/default_copper_lump.png create mode 100644 data/games/garage/mods/default/textures/default_coral_brown.png create mode 100644 data/games/garage/mods/default/textures/default_coral_cyan.png create mode 100644 data/games/garage/mods/default/textures/default_coral_green.png create mode 100644 data/games/garage/mods/default/textures/default_coral_orange.png create mode 100644 data/games/garage/mods/default/textures/default_coral_pink.png create mode 100644 data/games/garage/mods/default/textures/default_coral_skeleton.png create mode 100644 data/games/garage/mods/default/textures/default_desert_cobble.png create mode 100644 data/games/garage/mods/default/textures/default_desert_sand.png create mode 100644 data/games/garage/mods/default/textures/default_desert_sandstone.png create mode 100644 data/games/garage/mods/default/textures/default_desert_sandstone_block.png create mode 100644 data/games/garage/mods/default/textures/default_desert_sandstone_brick.png create mode 100644 data/games/garage/mods/default/textures/default_desert_stone.png create mode 100644 data/games/garage/mods/default/textures/default_desert_stone_block.png create mode 100644 data/games/garage/mods/default/textures/default_desert_stone_brick.png create mode 100644 data/games/garage/mods/default/textures/default_diamond.png create mode 100644 data/games/garage/mods/default/textures/default_diamond_block.png create mode 100644 data/games/garage/mods/default/textures/default_dirt.png create mode 100644 data/games/garage/mods/default/textures/default_dry_dirt.png create mode 100644 data/games/garage/mods/default/textures/default_dry_grass.png create mode 100644 data/games/garage/mods/default/textures/default_dry_grass_1.png create mode 100644 data/games/garage/mods/default/textures/default_dry_grass_2.png create mode 100644 data/games/garage/mods/default/textures/default_dry_grass_3.png create mode 100644 data/games/garage/mods/default/textures/default_dry_grass_4.png create mode 100644 data/games/garage/mods/default/textures/default_dry_grass_5.png create mode 100644 data/games/garage/mods/default/textures/default_dry_grass_side.png create mode 100644 data/games/garage/mods/default/textures/default_dry_shrub.png create mode 100644 data/games/garage/mods/default/textures/default_emergent_jungle_sapling.png create mode 100644 data/games/garage/mods/default/textures/default_fence_acacia_wood.png create mode 100644 data/games/garage/mods/default/textures/default_fence_aspen_wood.png create mode 100644 data/games/garage/mods/default/textures/default_fence_junglewood.png create mode 100644 data/games/garage/mods/default/textures/default_fence_overlay.png create mode 100644 data/games/garage/mods/default/textures/default_fence_pine_wood.png create mode 100644 data/games/garage/mods/default/textures/default_fence_rail_acacia_wood.png create mode 100644 data/games/garage/mods/default/textures/default_fence_rail_aspen_wood.png create mode 100644 data/games/garage/mods/default/textures/default_fence_rail_junglewood.png create mode 100644 data/games/garage/mods/default/textures/default_fence_rail_overlay.png create mode 100644 data/games/garage/mods/default/textures/default_fence_rail_pine_wood.png create mode 100644 data/games/garage/mods/default/textures/default_fence_rail_wood.png create mode 100644 data/games/garage/mods/default/textures/default_fence_wood.png create mode 100644 data/games/garage/mods/default/textures/default_fern_1.png create mode 100644 data/games/garage/mods/default/textures/default_fern_2.png create mode 100644 data/games/garage/mods/default/textures/default_fern_3.png create mode 100644 data/games/garage/mods/default/textures/default_flint.png create mode 100644 data/games/garage/mods/default/textures/default_footprint.png create mode 100644 data/games/garage/mods/default/textures/default_furnace_bottom.png create mode 100644 data/games/garage/mods/default/textures/default_furnace_fire_bg.png create mode 100644 data/games/garage/mods/default/textures/default_furnace_fire_fg.png create mode 100644 data/games/garage/mods/default/textures/default_furnace_front.png create mode 100644 data/games/garage/mods/default/textures/default_furnace_front_active.png create mode 100644 data/games/garage/mods/default/textures/default_furnace_side.png create mode 100644 data/games/garage/mods/default/textures/default_furnace_top.png create mode 100644 data/games/garage/mods/default/textures/default_glass.png create mode 100644 data/games/garage/mods/default/textures/default_glass_detail.png create mode 100644 data/games/garage/mods/default/textures/default_gold_block.png create mode 100644 data/games/garage/mods/default/textures/default_gold_ingot.png create mode 100644 data/games/garage/mods/default/textures/default_gold_lump.png create mode 100644 data/games/garage/mods/default/textures/default_grass.png create mode 100644 data/games/garage/mods/default/textures/default_grass_1.png create mode 100644 data/games/garage/mods/default/textures/default_grass_2.png create mode 100644 data/games/garage/mods/default/textures/default_grass_3.png create mode 100644 data/games/garage/mods/default/textures/default_grass_4.png create mode 100644 data/games/garage/mods/default/textures/default_grass_5.png create mode 100644 data/games/garage/mods/default/textures/default_grass_side.png create mode 100644 data/games/garage/mods/default/textures/default_gravel.png create mode 100644 data/games/garage/mods/default/textures/default_ice.png create mode 100644 data/games/garage/mods/default/textures/default_invisible_node_overlay.png create mode 100644 data/games/garage/mods/default/textures/default_iron_lump.png create mode 100644 data/games/garage/mods/default/textures/default_item_smoke.png create mode 100644 data/games/garage/mods/default/textures/default_junglegrass.png create mode 100644 data/games/garage/mods/default/textures/default_jungleleaves.png create mode 100644 data/games/garage/mods/default/textures/default_jungleleaves_simple.png create mode 100644 data/games/garage/mods/default/textures/default_junglesapling.png create mode 100644 data/games/garage/mods/default/textures/default_jungletree.png create mode 100644 data/games/garage/mods/default/textures/default_jungletree_top.png create mode 100644 data/games/garage/mods/default/textures/default_junglewood.png create mode 100644 data/games/garage/mods/default/textures/default_kelp.png create mode 100644 data/games/garage/mods/default/textures/default_ladder_steel.png create mode 100644 data/games/garage/mods/default/textures/default_ladder_wood.png create mode 100644 data/games/garage/mods/default/textures/default_large_cactus_seedling.png create mode 100644 data/games/garage/mods/default/textures/default_lava.png create mode 100644 data/games/garage/mods/default/textures/default_lava_flowing_animated.png create mode 100644 data/games/garage/mods/default/textures/default_lava_source_animated.png create mode 100644 data/games/garage/mods/default/textures/default_leaves.png create mode 100644 data/games/garage/mods/default/textures/default_leaves_simple.png create mode 100644 data/games/garage/mods/default/textures/default_marram_grass_1.png create mode 100644 data/games/garage/mods/default/textures/default_marram_grass_2.png create mode 100644 data/games/garage/mods/default/textures/default_marram_grass_3.png create mode 100644 data/games/garage/mods/default/textures/default_mese_block.png create mode 100644 data/games/garage/mods/default/textures/default_mese_crystal.png create mode 100644 data/games/garage/mods/default/textures/default_mese_crystal_fragment.png create mode 100644 data/games/garage/mods/default/textures/default_mese_post_light_side.png create mode 100644 data/games/garage/mods/default/textures/default_mese_post_light_side_dark.png create mode 100644 data/games/garage/mods/default/textures/default_meselamp.png create mode 100644 data/games/garage/mods/default/textures/default_mineral_coal.png create mode 100644 data/games/garage/mods/default/textures/default_mineral_copper.png create mode 100644 data/games/garage/mods/default/textures/default_mineral_diamond.png create mode 100644 data/games/garage/mods/default/textures/default_mineral_gold.png create mode 100644 data/games/garage/mods/default/textures/default_mineral_iron.png create mode 100644 data/games/garage/mods/default/textures/default_mineral_mese.png create mode 100644 data/games/garage/mods/default/textures/default_mineral_tin.png create mode 100644 data/games/garage/mods/default/textures/default_moss.png create mode 100644 data/games/garage/mods/default/textures/default_moss_side.png create mode 100644 data/games/garage/mods/default/textures/default_mossycobble.png create mode 100644 data/games/garage/mods/default/textures/default_obsidian.png create mode 100644 data/games/garage/mods/default/textures/default_obsidian_block.png create mode 100644 data/games/garage/mods/default/textures/default_obsidian_brick.png create mode 100644 data/games/garage/mods/default/textures/default_obsidian_glass.png create mode 100644 data/games/garage/mods/default/textures/default_obsidian_glass_detail.png create mode 100644 data/games/garage/mods/default/textures/default_obsidian_shard.png create mode 100644 data/games/garage/mods/default/textures/default_paper.png create mode 100644 data/games/garage/mods/default/textures/default_papyrus.png create mode 100644 data/games/garage/mods/default/textures/default_permafrost.png create mode 100644 data/games/garage/mods/default/textures/default_pine_bush_sapling.png create mode 100644 data/games/garage/mods/default/textures/default_pine_bush_stem.png create mode 100644 data/games/garage/mods/default/textures/default_pine_needles.png create mode 100644 data/games/garage/mods/default/textures/default_pine_sapling.png create mode 100644 data/games/garage/mods/default/textures/default_pine_tree.png create mode 100644 data/games/garage/mods/default/textures/default_pine_tree_top.png create mode 100644 data/games/garage/mods/default/textures/default_pine_wood.png create mode 100644 data/games/garage/mods/default/textures/default_rainforest_litter.png create mode 100644 data/games/garage/mods/default/textures/default_rainforest_litter_side.png create mode 100644 data/games/garage/mods/default/textures/default_river_water.png create mode 100644 data/games/garage/mods/default/textures/default_river_water_flowing_animated.png create mode 100644 data/games/garage/mods/default/textures/default_river_water_source_animated.png create mode 100644 data/games/garage/mods/default/textures/default_sand.png create mode 100644 data/games/garage/mods/default/textures/default_sandstone.png create mode 100644 data/games/garage/mods/default/textures/default_sandstone_block.png create mode 100644 data/games/garage/mods/default/textures/default_sandstone_brick.png create mode 100644 data/games/garage/mods/default/textures/default_sapling.png create mode 100644 data/games/garage/mods/default/textures/default_sign_steel.png create mode 100644 data/games/garage/mods/default/textures/default_sign_wall_steel.png create mode 100644 data/games/garage/mods/default/textures/default_sign_wall_wood.png create mode 100644 data/games/garage/mods/default/textures/default_sign_wood.png create mode 100644 data/games/garage/mods/default/textures/default_silver_sand.png create mode 100644 data/games/garage/mods/default/textures/default_silver_sandstone.png create mode 100644 data/games/garage/mods/default/textures/default_silver_sandstone_block.png create mode 100644 data/games/garage/mods/default/textures/default_silver_sandstone_brick.png create mode 100644 data/games/garage/mods/default/textures/default_snow.png create mode 100644 data/games/garage/mods/default/textures/default_snow_side.png create mode 100644 data/games/garage/mods/default/textures/default_snowball.png create mode 100644 data/games/garage/mods/default/textures/default_steel_block.png create mode 100644 data/games/garage/mods/default/textures/default_steel_ingot.png create mode 100644 data/games/garage/mods/default/textures/default_stick.png create mode 100644 data/games/garage/mods/default/textures/default_stone.png create mode 100644 data/games/garage/mods/default/textures/default_stone_block.png create mode 100644 data/games/garage/mods/default/textures/default_stone_brick.png create mode 100644 data/games/garage/mods/default/textures/default_stones.png create mode 100644 data/games/garage/mods/default/textures/default_stones_side.png create mode 100644 data/games/garage/mods/default/textures/default_tin_block.png create mode 100644 data/games/garage/mods/default/textures/default_tin_ingot.png create mode 100644 data/games/garage/mods/default/textures/default_tin_lump.png create mode 100644 data/games/garage/mods/default/textures/default_tool_bronzeaxe.png create mode 100644 data/games/garage/mods/default/textures/default_tool_bronzepick.png create mode 100644 data/games/garage/mods/default/textures/default_tool_bronzeshovel.png create mode 100644 data/games/garage/mods/default/textures/default_tool_bronzesword.png create mode 100644 data/games/garage/mods/default/textures/default_tool_diamondaxe.png create mode 100644 data/games/garage/mods/default/textures/default_tool_diamondpick.png create mode 100644 data/games/garage/mods/default/textures/default_tool_diamondshovel.png create mode 100644 data/games/garage/mods/default/textures/default_tool_diamondsword.png create mode 100644 data/games/garage/mods/default/textures/default_tool_meseaxe.png create mode 100644 data/games/garage/mods/default/textures/default_tool_mesepick.png create mode 100644 data/games/garage/mods/default/textures/default_tool_meseshovel.png create mode 100644 data/games/garage/mods/default/textures/default_tool_mesesword.png create mode 100644 data/games/garage/mods/default/textures/default_tool_steelaxe.png create mode 100644 data/games/garage/mods/default/textures/default_tool_steelpick.png create mode 100644 data/games/garage/mods/default/textures/default_tool_steelshovel.png create mode 100644 data/games/garage/mods/default/textures/default_tool_steelsword.png create mode 100644 data/games/garage/mods/default/textures/default_tool_stoneaxe.png create mode 100644 data/games/garage/mods/default/textures/default_tool_stonepick.png create mode 100644 data/games/garage/mods/default/textures/default_tool_stoneshovel.png create mode 100644 data/games/garage/mods/default/textures/default_tool_stonesword.png create mode 100644 data/games/garage/mods/default/textures/default_tool_woodaxe.png create mode 100644 data/games/garage/mods/default/textures/default_tool_woodpick.png create mode 100644 data/games/garage/mods/default/textures/default_tool_woodshovel.png create mode 100644 data/games/garage/mods/default/textures/default_tool_woodsword.png create mode 100644 data/games/garage/mods/default/textures/default_torch_animated.png create mode 100644 data/games/garage/mods/default/textures/default_torch_on_ceiling_animated.png create mode 100644 data/games/garage/mods/default/textures/default_torch_on_floor.png create mode 100644 data/games/garage/mods/default/textures/default_torch_on_floor_animated.png create mode 100644 data/games/garage/mods/default/textures/default_tree.png create mode 100644 data/games/garage/mods/default/textures/default_tree_top.png create mode 100644 data/games/garage/mods/default/textures/default_water.png create mode 100644 data/games/garage/mods/default/textures/default_water_flowing_animated.png create mode 100644 data/games/garage/mods/default/textures/default_water_source_animated.png create mode 100644 data/games/garage/mods/default/textures/default_wood.png create mode 100644 data/games/garage/mods/default/textures/gui_formbg.png create mode 100644 data/games/garage/mods/default/textures/gui_furnace_arrow_bg.png create mode 100644 data/games/garage/mods/default/textures/gui_furnace_arrow_fg.png create mode 100644 data/games/garage/mods/default/textures/gui_hb_bg.png create mode 100644 data/games/garage/mods/default/textures/gui_hotbar.png create mode 100644 data/games/garage/mods/default/textures/gui_hotbar_selected.png create mode 100644 data/games/garage/mods/default/textures/heart.png create mode 100644 data/games/garage/mods/default/textures/wieldhand.png create mode 100644 data/games/garage/mods/default/tools.lua create mode 100644 data/games/garage/mods/default/torch.lua create mode 100644 data/games/garage/mods/default/trees.lua delete mode 100644 data/games/garage/mods/dignodes/init.lua delete mode 100644 data/games/garage/mods/dignodes/mod.conf delete mode 100644 data/games/garage/mods/dignodes/textures/dignodes_choppy.png delete mode 100644 data/games/garage/mods/dignodes/textures/dignodes_cracky.png delete mode 100644 data/games/garage/mods/dignodes/textures/dignodes_crumbly.png delete mode 100644 data/games/garage/mods/dignodes/textures/dignodes_dig_immediate.png delete mode 100644 data/games/garage/mods/dignodes/textures/dignodes_none.png delete mode 100644 data/games/garage/mods/dignodes/textures/dignodes_rating1.png delete mode 100644 data/games/garage/mods/dignodes/textures/dignodes_rating2.png delete mode 100644 data/games/garage/mods/dignodes/textures/dignodes_rating3.png create mode 100644 data/games/garage/mods/doors/README.txt create mode 100644 data/games/garage/mods/doors/init.lua create mode 100644 data/games/garage/mods/doors/license.txt create mode 100644 data/games/garage/mods/doors/locale/doors.de.tr create mode 100644 data/games/garage/mods/doors/locale/doors.eo.tr create mode 100644 data/games/garage/mods/doors/locale/doors.es.tr create mode 100644 data/games/garage/mods/doors/locale/doors.fr.tr create mode 100644 data/games/garage/mods/doors/locale/doors.id.tr create mode 100644 data/games/garage/mods/doors/locale/doors.it.tr create mode 100644 data/games/garage/mods/doors/locale/doors.ja.tr create mode 100644 data/games/garage/mods/doors/locale/doors.jbo.tr create mode 100644 data/games/garage/mods/doors/locale/doors.lv.tr create mode 100644 data/games/garage/mods/doors/locale/doors.ms.tr create mode 100644 data/games/garage/mods/doors/locale/doors.pl.tr create mode 100644 data/games/garage/mods/doors/locale/doors.pt_BR.tr create mode 100644 data/games/garage/mods/doors/locale/doors.ru.tr create mode 100644 data/games/garage/mods/doors/locale/doors.sk.tr create mode 100644 data/games/garage/mods/doors/locale/doors.sv.tr create mode 100644 data/games/garage/mods/doors/locale/doors.uk.tr create mode 100644 data/games/garage/mods/doors/locale/doors.zh_CN.tr create mode 100644 data/games/garage/mods/doors/locale/doors.zh_TW.tr create mode 100644 data/games/garage/mods/doors/locale/template.txt create mode 100644 data/games/garage/mods/doors/mod.conf create mode 100644 data/games/garage/mods/doors/models/door.blend create mode 100644 data/games/garage/mods/doors/models/door_a.b3d create mode 100644 data/games/garage/mods/doors/models/door_b.b3d create mode 100644 data/games/garage/mods/doors/models/doors_fencegate_closed.obj create mode 100644 data/games/garage/mods/doors/models/doors_fencegate_open.obj create mode 100644 data/games/garage/mods/doors/sounds/doors_door_close.ogg create mode 100644 data/games/garage/mods/doors/sounds/doors_door_open.ogg create mode 100644 data/games/garage/mods/doors/sounds/doors_fencegate_close.ogg create mode 100644 data/games/garage/mods/doors/sounds/doors_fencegate_open.ogg create mode 100644 data/games/garage/mods/doors/sounds/doors_glass_door_close.ogg create mode 100644 data/games/garage/mods/doors/sounds/doors_glass_door_open.ogg create mode 100644 data/games/garage/mods/doors/sounds/doors_steel_door_close.ogg create mode 100644 data/games/garage/mods/doors/sounds/doors_steel_door_open.ogg create mode 100644 data/games/garage/mods/doors/textures/doors_door_glass.png create mode 100644 data/games/garage/mods/doors/textures/doors_door_obsidian_glass.png create mode 100644 data/games/garage/mods/doors/textures/doors_door_steel.png create mode 100644 data/games/garage/mods/doors/textures/doors_door_wood.png create mode 100644 data/games/garage/mods/doors/textures/doors_hidden_segment.png create mode 100644 data/games/garage/mods/doors/textures/doors_item_glass.png create mode 100644 data/games/garage/mods/doors/textures/doors_item_obsidian_glass.png create mode 100644 data/games/garage/mods/doors/textures/doors_item_steel.png create mode 100644 data/games/garage/mods/doors/textures/doors_item_wood.png create mode 100644 data/games/garage/mods/doors/textures/doors_trapdoor.png create mode 100644 data/games/garage/mods/doors/textures/doors_trapdoor_side.png create mode 100644 data/games/garage/mods/doors/textures/doors_trapdoor_steel.png create mode 100644 data/games/garage/mods/doors/textures/doors_trapdoor_steel_side.png create mode 100644 data/games/garage/mods/dungeon_loot/README.txt create mode 100644 data/games/garage/mods/dungeon_loot/init.lua create mode 100644 data/games/garage/mods/dungeon_loot/license.txt create mode 100644 data/games/garage/mods/dungeon_loot/loot.lua create mode 100644 data/games/garage/mods/dungeon_loot/mapgen.lua create mode 100644 data/games/garage/mods/dungeon_loot/mod.conf create mode 100644 data/games/garage/mods/dye/README.txt create mode 100644 data/games/garage/mods/dye/init.lua create mode 100644 data/games/garage/mods/dye/license.txt create mode 100644 data/games/garage/mods/dye/locale/dye.de.tr create mode 100644 data/games/garage/mods/dye/locale/dye.eo.tr create mode 100644 data/games/garage/mods/dye/locale/dye.es.tr create mode 100644 data/games/garage/mods/dye/locale/dye.fr.tr create mode 100644 data/games/garage/mods/dye/locale/dye.id.tr create mode 100644 data/games/garage/mods/dye/locale/dye.it.tr create mode 100644 data/games/garage/mods/dye/locale/dye.ja.tr create mode 100644 data/games/garage/mods/dye/locale/dye.jbo.tr create mode 100644 data/games/garage/mods/dye/locale/dye.lv.tr create mode 100644 data/games/garage/mods/dye/locale/dye.ms.tr create mode 100644 data/games/garage/mods/dye/locale/dye.pl.tr create mode 100644 data/games/garage/mods/dye/locale/dye.pt_BR.tr create mode 100644 data/games/garage/mods/dye/locale/dye.ru.tr create mode 100644 data/games/garage/mods/dye/locale/dye.sk.tr create mode 100644 data/games/garage/mods/dye/locale/dye.sv.tr create mode 100644 data/games/garage/mods/dye/locale/dye.uk.tr create mode 100644 data/games/garage/mods/dye/locale/dye.zh_CN.tr create mode 100644 data/games/garage/mods/dye/locale/dye.zh_TW.tr create mode 100644 data/games/garage/mods/dye/locale/template.txt create mode 100644 data/games/garage/mods/dye/mod.conf create mode 100644 data/games/garage/mods/dye/textures/dye_black.png create mode 100644 data/games/garage/mods/dye/textures/dye_blue.png create mode 100644 data/games/garage/mods/dye/textures/dye_brown.png create mode 100644 data/games/garage/mods/dye/textures/dye_cyan.png create mode 100644 data/games/garage/mods/dye/textures/dye_dark_green.png create mode 100644 data/games/garage/mods/dye/textures/dye_dark_grey.png create mode 100644 data/games/garage/mods/dye/textures/dye_green.png create mode 100644 data/games/garage/mods/dye/textures/dye_grey.png create mode 100644 data/games/garage/mods/dye/textures/dye_magenta.png create mode 100644 data/games/garage/mods/dye/textures/dye_orange.png create mode 100644 data/games/garage/mods/dye/textures/dye_pink.png create mode 100644 data/games/garage/mods/dye/textures/dye_red.png create mode 100644 data/games/garage/mods/dye/textures/dye_violet.png create mode 100644 data/games/garage/mods/dye/textures/dye_white.png create mode 100644 data/games/garage/mods/dye/textures/dye_yellow.png create mode 100644 data/games/garage/mods/env_sounds/README.txt create mode 100644 data/games/garage/mods/env_sounds/init.lua create mode 100644 data/games/garage/mods/env_sounds/license.txt create mode 100644 data/games/garage/mods/env_sounds/mod.conf create mode 100644 data/games/garage/mods/env_sounds/sounds/env_sounds_lava.1.ogg create mode 100644 data/games/garage/mods/env_sounds/sounds/env_sounds_lava.2.ogg create mode 100644 data/games/garage/mods/env_sounds/sounds/env_sounds_water.1.ogg create mode 100644 data/games/garage/mods/env_sounds/sounds/env_sounds_water.2.ogg create mode 100644 data/games/garage/mods/env_sounds/sounds/env_sounds_water.3.ogg create mode 100644 data/games/garage/mods/env_sounds/sounds/env_sounds_water.4.ogg create mode 100644 data/games/garage/mods/farming/README.txt create mode 100644 data/games/garage/mods/farming/api.lua create mode 100644 data/games/garage/mods/farming/hoes.lua create mode 100644 data/games/garage/mods/farming/init.lua create mode 100644 data/games/garage/mods/farming/license.txt create mode 100644 data/games/garage/mods/farming/locale/farming.de.tr create mode 100644 data/games/garage/mods/farming/locale/farming.eo.tr create mode 100644 data/games/garage/mods/farming/locale/farming.es.tr create mode 100644 data/games/garage/mods/farming/locale/farming.fr.tr create mode 100644 data/games/garage/mods/farming/locale/farming.id.tr create mode 100644 data/games/garage/mods/farming/locale/farming.it.tr create mode 100644 data/games/garage/mods/farming/locale/farming.ja.tr create mode 100644 data/games/garage/mods/farming/locale/farming.jbo.tr create mode 100644 data/games/garage/mods/farming/locale/farming.lv.tr create mode 100644 data/games/garage/mods/farming/locale/farming.ms.tr create mode 100644 data/games/garage/mods/farming/locale/farming.pl.tr create mode 100644 data/games/garage/mods/farming/locale/farming.pt.tr create mode 100644 data/games/garage/mods/farming/locale/farming.pt_BR.tr create mode 100644 data/games/garage/mods/farming/locale/farming.ru.tr create mode 100644 data/games/garage/mods/farming/locale/farming.sk.tr create mode 100644 data/games/garage/mods/farming/locale/farming.sv.tr create mode 100644 data/games/garage/mods/farming/locale/farming.uk.tr create mode 100644 data/games/garage/mods/farming/locale/farming.zh_CN.tr create mode 100644 data/games/garage/mods/farming/locale/farming.zh_TW.tr create mode 100644 data/games/garage/mods/farming/locale/template.txt create mode 100644 data/games/garage/mods/farming/mod.conf create mode 100644 data/games/garage/mods/farming/nodes.lua create mode 100644 data/games/garage/mods/farming/textures/farming_bread.png create mode 100644 data/games/garage/mods/farming/textures/farming_cotton.png create mode 100644 data/games/garage/mods/farming/textures/farming_cotton_1.png create mode 100644 data/games/garage/mods/farming/textures/farming_cotton_2.png create mode 100644 data/games/garage/mods/farming/textures/farming_cotton_3.png create mode 100644 data/games/garage/mods/farming/textures/farming_cotton_4.png create mode 100644 data/games/garage/mods/farming/textures/farming_cotton_5.png create mode 100644 data/games/garage/mods/farming/textures/farming_cotton_6.png create mode 100644 data/games/garage/mods/farming/textures/farming_cotton_7.png create mode 100644 data/games/garage/mods/farming/textures/farming_cotton_8.png create mode 100644 data/games/garage/mods/farming/textures/farming_cotton_seed.png create mode 100644 data/games/garage/mods/farming/textures/farming_cotton_wild.png create mode 100644 data/games/garage/mods/farming/textures/farming_desert_sand_soil.png create mode 100644 data/games/garage/mods/farming/textures/farming_desert_sand_soil_wet.png create mode 100644 data/games/garage/mods/farming/textures/farming_desert_sand_soil_wet_side.png create mode 100644 data/games/garage/mods/farming/textures/farming_flour.png create mode 100644 data/games/garage/mods/farming/textures/farming_soil.png create mode 100644 data/games/garage/mods/farming/textures/farming_soil_wet.png create mode 100644 data/games/garage/mods/farming/textures/farming_soil_wet_side.png create mode 100644 data/games/garage/mods/farming/textures/farming_straw.png create mode 100644 data/games/garage/mods/farming/textures/farming_string.png create mode 100644 data/games/garage/mods/farming/textures/farming_tool_bronzehoe.png create mode 100644 data/games/garage/mods/farming/textures/farming_tool_diamondhoe.png create mode 100644 data/games/garage/mods/farming/textures/farming_tool_mesehoe.png create mode 100644 data/games/garage/mods/farming/textures/farming_tool_steelhoe.png create mode 100644 data/games/garage/mods/farming/textures/farming_tool_stonehoe.png create mode 100644 data/games/garage/mods/farming/textures/farming_tool_woodhoe.png create mode 100644 data/games/garage/mods/farming/textures/farming_wheat.png create mode 100644 data/games/garage/mods/farming/textures/farming_wheat_1.png create mode 100644 data/games/garage/mods/farming/textures/farming_wheat_2.png create mode 100644 data/games/garage/mods/farming/textures/farming_wheat_3.png create mode 100644 data/games/garage/mods/farming/textures/farming_wheat_4.png create mode 100644 data/games/garage/mods/farming/textures/farming_wheat_5.png create mode 100644 data/games/garage/mods/farming/textures/farming_wheat_6.png create mode 100644 data/games/garage/mods/farming/textures/farming_wheat_7.png create mode 100644 data/games/garage/mods/farming/textures/farming_wheat_8.png create mode 100644 data/games/garage/mods/farming/textures/farming_wheat_seed.png create mode 100644 data/games/garage/mods/fire/README.txt create mode 100644 data/games/garage/mods/fire/init.lua create mode 100644 data/games/garage/mods/fire/license.txt create mode 100644 data/games/garage/mods/fire/locale/fire.de.tr create mode 100644 data/games/garage/mods/fire/locale/fire.eo.tr create mode 100644 data/games/garage/mods/fire/locale/fire.es.tr create mode 100644 data/games/garage/mods/fire/locale/fire.fr.tr create mode 100644 data/games/garage/mods/fire/locale/fire.id.tr create mode 100644 data/games/garage/mods/fire/locale/fire.it.tr create mode 100644 data/games/garage/mods/fire/locale/fire.ja.tr create mode 100644 data/games/garage/mods/fire/locale/fire.jbo.tr create mode 100644 data/games/garage/mods/fire/locale/fire.lv.tr create mode 100644 data/games/garage/mods/fire/locale/fire.ms.tr create mode 100644 data/games/garage/mods/fire/locale/fire.pl.tr create mode 100644 data/games/garage/mods/fire/locale/fire.pt.tr create mode 100644 data/games/garage/mods/fire/locale/fire.pt_BR.tr create mode 100644 data/games/garage/mods/fire/locale/fire.ru.tr create mode 100644 data/games/garage/mods/fire/locale/fire.sk.tr create mode 100644 data/games/garage/mods/fire/locale/fire.sv.tr create mode 100644 data/games/garage/mods/fire/locale/fire.uk.tr create mode 100644 data/games/garage/mods/fire/locale/fire.zh_CN.tr create mode 100644 data/games/garage/mods/fire/locale/fire.zh_TW.tr create mode 100644 data/games/garage/mods/fire/locale/template.txt create mode 100644 data/games/garage/mods/fire/mod.conf create mode 100644 data/games/garage/mods/fire/sounds/fire_extinguish_flame.1.ogg create mode 100644 data/games/garage/mods/fire/sounds/fire_extinguish_flame.2.ogg create mode 100644 data/games/garage/mods/fire/sounds/fire_extinguish_flame.3.ogg create mode 100644 data/games/garage/mods/fire/sounds/fire_fire.1.ogg create mode 100644 data/games/garage/mods/fire/sounds/fire_fire.2.ogg create mode 100644 data/games/garage/mods/fire/sounds/fire_fire.3.ogg create mode 100644 data/games/garage/mods/fire/sounds/fire_flint_and_steel.ogg create mode 100644 data/games/garage/mods/fire/sounds/fire_large.ogg create mode 100644 data/games/garage/mods/fire/sounds/fire_small.ogg create mode 100644 data/games/garage/mods/fire/textures/fire_basic_flame.png create mode 100644 data/games/garage/mods/fire/textures/fire_basic_flame_animated.png create mode 100644 data/games/garage/mods/fire/textures/fire_flint_steel.png create mode 100644 data/games/garage/mods/fireflies/README.txt create mode 100644 data/games/garage/mods/fireflies/init.lua create mode 100644 data/games/garage/mods/fireflies/license.txt create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.de.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.eo.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.es.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.fr.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.id.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.it.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.ja.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.jbo.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.lv.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.ms.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.pl.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.pt_BR.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.ru.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.sk.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.sv.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.uk.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.zh_CN.tr create mode 100644 data/games/garage/mods/fireflies/locale/fireflies.zh_TW.tr create mode 100644 data/games/garage/mods/fireflies/locale/template.txt create mode 100644 data/games/garage/mods/fireflies/mod.conf create mode 100644 data/games/garage/mods/fireflies/textures/fireflies_bottle.png create mode 100644 data/games/garage/mods/fireflies/textures/fireflies_bottle_animated.png create mode 100644 data/games/garage/mods/fireflies/textures/fireflies_bugnet.png create mode 100644 data/games/garage/mods/fireflies/textures/fireflies_firefly.png create mode 100644 data/games/garage/mods/fireflies/textures/fireflies_firefly_animated.png delete mode 100644 data/games/garage/mods/first_mod/init.lua delete mode 100644 data/games/garage/mods/first_mod/mod.conf create mode 100644 data/games/garage/mods/flowers/README.txt create mode 100644 data/games/garage/mods/flowers/init.lua create mode 100644 data/games/garage/mods/flowers/license.txt create mode 100644 data/games/garage/mods/flowers/locale/flowers.de.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.eo.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.es.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.fr.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.id.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.it.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.ja.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.jbo.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.lv.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.ms.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.pl.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.pt_BR.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.ru.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.sk.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.sv.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.uk.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.zh_CN.tr create mode 100644 data/games/garage/mods/flowers/locale/flowers.zh_TW.tr create mode 100644 data/games/garage/mods/flowers/locale/template.txt create mode 100644 data/games/garage/mods/flowers/mapgen.lua create mode 100644 data/games/garage/mods/flowers/mod.conf create mode 100644 data/games/garage/mods/flowers/textures/flowers_chrysanthemum_green.png create mode 100644 data/games/garage/mods/flowers/textures/flowers_dandelion_white.png create mode 100644 data/games/garage/mods/flowers/textures/flowers_dandelion_yellow.png create mode 100644 data/games/garage/mods/flowers/textures/flowers_geranium.png create mode 100644 data/games/garage/mods/flowers/textures/flowers_mushroom_brown.png create mode 100644 data/games/garage/mods/flowers/textures/flowers_mushroom_red.png create mode 100644 data/games/garage/mods/flowers/textures/flowers_rose.png create mode 100644 data/games/garage/mods/flowers/textures/flowers_tulip.png create mode 100644 data/games/garage/mods/flowers/textures/flowers_tulip_black.png create mode 100644 data/games/garage/mods/flowers/textures/flowers_viola.png create mode 100644 data/games/garage/mods/flowers/textures/flowers_waterlily.png create mode 100644 data/games/garage/mods/flowers/textures/flowers_waterlily_bottom.png create mode 100644 data/games/garage/mods/game_commands/README.txt create mode 100644 data/games/garage/mods/game_commands/init.lua create mode 100644 data/games/garage/mods/game_commands/license.txt create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.de.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.eo.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.es.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.fr.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.id.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.it.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.ja.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.jbo.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.lv.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.ms.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.pl.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.pt_BR.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.ru.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.sk.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.sv.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.uk.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.zh_CN.tr create mode 100644 data/games/garage/mods/game_commands/locale/game_commands.zh_TW.tr create mode 100644 data/games/garage/mods/game_commands/locale/template.txt create mode 100644 data/games/garage/mods/game_commands/mod.conf create mode 100644 data/games/garage/mods/give_initial_stuff/README.txt create mode 100644 data/games/garage/mods/give_initial_stuff/license.txt delete mode 100644 data/games/garage/mods/gltf/LICENSE.md delete mode 100644 data/games/garage/mods/gltf/init.lua delete mode 100644 data/games/garage/mods/gltf/invalid/invalid_bufferview_bounds.gltf delete mode 100644 data/games/garage/mods/gltf/invalid/json_missing_brace.gltf delete mode 100644 data/games/garage/mods/gltf/mod.conf delete mode 100644 data/games/garage/mods/gltf/models/gltf_blender_cube.glb delete mode 100644 data/games/garage/mods/gltf/models/gltf_blender_cube.gltf delete mode 100644 data/games/garage/mods/gltf/models/gltf_blender_cube_matrix_transform.gltf delete mode 100644 data/games/garage/mods/gltf/models/gltf_blender_cube_scaled.gltf delete mode 100644 data/games/garage/mods/gltf/models/gltf_frog.gltf delete mode 100644 data/games/garage/mods/gltf/models/gltf_minimal_triangle.gltf delete mode 100644 data/games/garage/mods/gltf/models/gltf_simple_skin.gltf delete mode 100644 data/games/garage/mods/gltf/models/gltf_simple_sparse_accessor.gltf delete mode 100644 data/games/garage/mods/gltf/models/gltf_snow_man.gltf delete mode 100644 data/games/garage/mods/gltf/models/gltf_spider.gltf delete mode 100644 data/games/garage/mods/gltf/models/gltf_spider_animated.gltf delete mode 100644 data/games/garage/mods/gltf/models/gltf_triangle_with_vertex_stride.gltf delete mode 100644 data/games/garage/mods/gltf/models/gltf_triangle_without_indices.gltf delete mode 100644 data/games/garage/mods/gltf/textures/gltf_cube.png delete mode 100644 data/games/garage/mods/gltf/textures/gltf_frog.png delete mode 100644 data/games/garage/mods/gltf/textures/gltf_snow_man.png delete mode 100644 data/games/garage/mods/gltf/textures/gltf_spider.png delete mode 100644 data/games/garage/mods/initial_message/init.lua delete mode 100644 data/games/garage/mods/initial_message/mod.conf create mode 100644 data/games/garage/mods/keys/README.txt create mode 100644 data/games/garage/mods/keys/aliases.lua create mode 100644 data/games/garage/mods/keys/crafting.lua create mode 100644 data/games/garage/mods/keys/craftitems.lua create mode 100644 data/games/garage/mods/keys/init.lua create mode 100644 data/games/garage/mods/keys/license.txt create mode 100644 data/games/garage/mods/keys/locale/keys.de.tr create mode 100644 data/games/garage/mods/keys/locale/keys.eo.tr create mode 100644 data/games/garage/mods/keys/locale/keys.es.tr create mode 100644 data/games/garage/mods/keys/locale/keys.fr.tr create mode 100644 data/games/garage/mods/keys/locale/keys.id.tr create mode 100644 data/games/garage/mods/keys/locale/keys.it.tr create mode 100644 data/games/garage/mods/keys/locale/keys.ja.tr create mode 100644 data/games/garage/mods/keys/locale/keys.jbo.tr create mode 100644 data/games/garage/mods/keys/locale/keys.lv.tr create mode 100644 data/games/garage/mods/keys/locale/keys.ms.tr create mode 100644 data/games/garage/mods/keys/locale/keys.pl.tr create mode 100644 data/games/garage/mods/keys/locale/keys.pt_BR.tr create mode 100644 data/games/garage/mods/keys/locale/keys.ru.tr create mode 100644 data/games/garage/mods/keys/locale/keys.sv.tr create mode 100644 data/games/garage/mods/keys/locale/keys.uk.tr create mode 100644 data/games/garage/mods/keys/locale/keys.zh_CN.tr create mode 100644 data/games/garage/mods/keys/locale/keys.zh_TW.tr create mode 100644 data/games/garage/mods/keys/locale/template.txt create mode 100644 data/games/garage/mods/keys/mod.conf create mode 100644 data/games/garage/mods/keys/textures/keys_key.png create mode 100644 data/games/garage/mods/keys/textures/keys_key_skeleton.png delete mode 100644 data/games/garage/mods/last_mod/init.lua delete mode 100644 data/games/garage/mods/last_mod/mod.conf delete mode 100644 data/games/garage/mods/lighting/init.lua delete mode 100644 data/games/garage/mods/lighting/mod.conf delete mode 100644 data/games/garage/mods/log/init.lua delete mode 100644 data/games/garage/mods/log/mod.conf create mode 100644 data/games/garage/mods/map/README.txt create mode 100644 data/games/garage/mods/map/init.lua create mode 100644 data/games/garage/mods/map/license.txt create mode 100644 data/games/garage/mods/map/locale/map.de.tr create mode 100644 data/games/garage/mods/map/locale/map.eo.tr create mode 100644 data/games/garage/mods/map/locale/map.es.tr create mode 100644 data/games/garage/mods/map/locale/map.fr.tr create mode 100644 data/games/garage/mods/map/locale/map.id.tr create mode 100644 data/games/garage/mods/map/locale/map.it.tr create mode 100644 data/games/garage/mods/map/locale/map.ja.tr create mode 100644 data/games/garage/mods/map/locale/map.jbo.tr create mode 100644 data/games/garage/mods/map/locale/map.lv.tr create mode 100644 data/games/garage/mods/map/locale/map.ms.tr create mode 100644 data/games/garage/mods/map/locale/map.pl.tr create mode 100644 data/games/garage/mods/map/locale/map.pt_BR.tr create mode 100644 data/games/garage/mods/map/locale/map.ru.tr create mode 100644 data/games/garage/mods/map/locale/map.sk.tr create mode 100644 data/games/garage/mods/map/locale/map.sv.tr create mode 100644 data/games/garage/mods/map/locale/map.uk.tr create mode 100644 data/games/garage/mods/map/locale/map.zh_CN.tr create mode 100644 data/games/garage/mods/map/locale/map.zh_TW.tr create mode 100644 data/games/garage/mods/map/locale/template.txt create mode 100644 data/games/garage/mods/map/mod.conf create mode 100644 data/games/garage/mods/map/textures/map_mapping_kit.png delete mode 100644 data/games/garage/mods/mapgen/init.lua delete mode 100644 data/games/garage/mods/mapgen/mod.conf delete mode 100644 data/games/garage/mods/modchannels/init.lua delete mode 100644 data/games/garage/mods/modchannels/mod.conf create mode 100644 data/games/garage/mods/mtg_craftguide/README.md create mode 100644 data/games/garage/mods/mtg_craftguide/init.lua create mode 100644 data/games/garage/mods/mtg_craftguide/license.txt create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.de.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.eo.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.es.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.fr.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.id.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ja.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.jbo.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.lv.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ms.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.pl.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.pt_BR.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ru.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.sv.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.uk.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.zh_CN.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.zh_TW.tr create mode 100644 data/games/garage/mods/mtg_craftguide/locale/template.txt create mode 100644 data/games/garage/mods/mtg_craftguide/mod.conf create mode 100644 data/games/garage/mods/mtg_craftguide/textures/craftguide_clear_icon.png create mode 100644 data/games/garage/mods/mtg_craftguide/textures/craftguide_furnace.png create mode 100644 data/games/garage/mods/mtg_craftguide/textures/craftguide_next_icon.png create mode 100644 data/games/garage/mods/mtg_craftguide/textures/craftguide_prev_icon.png create mode 100644 data/games/garage/mods/mtg_craftguide/textures/craftguide_search_icon.png create mode 100644 data/games/garage/mods/mtg_craftguide/textures/craftguide_shapeless.png create mode 100644 data/games/garage/mods/player_api/README.txt create mode 100644 data/games/garage/mods/player_api/api.lua create mode 100644 data/games/garage/mods/player_api/init.lua create mode 100644 data/games/garage/mods/player_api/license.txt create mode 100644 data/games/garage/mods/player_api/mod.conf rename data/games/garage/mods/{testentities/models/testentities_sam.b3d => player_api/models/character.b3d} (100%) create mode 100644 data/games/garage/mods/player_api/models/character.blend rename data/games/garage/mods/{testentities/models/testentities_sam.png => player_api/models/character.png} (100%) create mode 100644 data/games/garage/mods/player_api/textures/player.png create mode 100644 data/games/garage/mods/player_api/textures/player_back.png create mode 100644 data/games/garage/mods/screwdriver/README.txt create mode 100644 data/games/garage/mods/screwdriver/init.lua create mode 100644 data/games/garage/mods/screwdriver/license.txt create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.de.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.eo.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.es.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.fr.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.id.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.it.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.ja.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.jbo.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.lv.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.ms.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.pl.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.pt_BR.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.ru.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.sk.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.sv.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.uk.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.zh_CN.tr create mode 100644 data/games/garage/mods/screwdriver/locale/screwdriver.zh_TW.tr create mode 100644 data/games/garage/mods/screwdriver/locale/template.txt create mode 100644 data/games/garage/mods/screwdriver/mod.conf create mode 100644 data/games/garage/mods/screwdriver/textures/screwdriver.png create mode 100644 data/games/garage/mods/sethome/README.txt create mode 100644 data/games/garage/mods/sethome/init.lua create mode 100644 data/games/garage/mods/sethome/license.txt create mode 100644 data/games/garage/mods/sethome/locale/sethome.de.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.eo.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.es.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.fr.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.id.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.it.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.ja.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.jbo.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.lv.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.ms.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.pl.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.pt_BR.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.ru.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.sk.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.sv.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.uk.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.zh_CN.tr create mode 100644 data/games/garage/mods/sethome/locale/sethome.zh_TW.tr create mode 100644 data/games/garage/mods/sethome/locale/template.txt create mode 100644 data/games/garage/mods/sethome/mod.conf create mode 100644 data/games/garage/mods/sfinv/README.txt create mode 100644 data/games/garage/mods/sfinv/api.lua create mode 100644 data/games/garage/mods/sfinv/init.lua create mode 100644 data/games/garage/mods/sfinv/license.txt create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.de.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.eo.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.es.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.fr.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.id.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.it.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.ja.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.jbo.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.lv.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.ms.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.pl.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.pt_BR.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.ru.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.sk.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.sv.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.uk.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.zh_CN.tr create mode 100644 data/games/garage/mods/sfinv/locale/sfinv.zh_TW.tr create mode 100644 data/games/garage/mods/sfinv/locale/template.txt create mode 100644 data/games/garage/mods/sfinv/mod.conf create mode 100644 data/games/garage/mods/sfinv/textures/sfinv_crafting_arrow.png delete mode 100644 data/games/garage/mods/soundstuff/bigfoot.lua delete mode 100644 data/games/garage/mods/soundstuff/init.lua delete mode 100644 data/games/garage/mods/soundstuff/jukebox.lua delete mode 100644 data/games/garage/mods/soundstuff/mod.conf delete mode 100644 data/games/garage/mods/soundstuff/racecar.lua delete mode 100644 data/games/garage/mods/soundstuff/sound_event_items.lua delete mode 100644 data/games/garage/mods/soundstuff/sounds/gitignored_sounds/custom_sounds_here.txt delete mode 100644 data/games/garage/mods/soundstuff/sounds/soundstuff_mono.ogg delete mode 100644 data/games/garage/mods/soundstuff/sounds/soundstuff_sinus.ogg delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_bigfoot.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_eat.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_jukebox.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_node_blank.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_node_climbable.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_node_dig.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_node_dug.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_node_fall.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_node_footstep.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_node_place.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_node_place_failed.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_node_sound.png delete mode 100644 data/games/garage/mods/soundstuff/textures/soundstuff_racecar.png create mode 100644 data/games/garage/mods/spawn/README.txt create mode 100644 data/games/garage/mods/spawn/api.lua create mode 100644 data/games/garage/mods/spawn/init.lua create mode 100644 data/games/garage/mods/spawn/license.txt create mode 100644 data/games/garage/mods/spawn/mod.conf create mode 100644 data/games/garage/mods/stairs/README.txt create mode 100644 data/games/garage/mods/stairs/license.txt create mode 100644 data/games/garage/mods/stairs/locale/stairs.de.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.eo.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.es.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.fr.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.id.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.it.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.ja.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.jbo.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.lv.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.ms.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.pl.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.pt_BR.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.ru.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.sk.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.sv.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.uk.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.zh_CN.tr create mode 100644 data/games/garage/mods/stairs/locale/stairs.zh_TW.tr create mode 100644 data/games/garage/mods/stairs/locale/template.txt create mode 100644 data/games/garage/mods/stairs/textures/stairs_glass_outer_stairside.png create mode 100644 data/games/garage/mods/stairs/textures/stairs_glass_split.png create mode 100644 data/games/garage/mods/stairs/textures/stairs_glass_stairside.png create mode 100644 data/games/garage/mods/stairs/textures/stairs_obsidian_glass_outer_stairside.png create mode 100644 data/games/garage/mods/stairs/textures/stairs_obsidian_glass_split.png create mode 100644 data/games/garage/mods/stairs/textures/stairs_obsidian_glass_stairside.png delete mode 100644 data/games/garage/mods/testabms/README.md delete mode 100644 data/games/garage/mods/testabms/after_node.lua delete mode 100644 data/games/garage/mods/testabms/chances.lua delete mode 100644 data/games/garage/mods/testabms/init.lua delete mode 100644 data/games/garage/mods/testabms/intervals.lua delete mode 100644 data/games/garage/mods/testabms/min_max.lua delete mode 100644 data/games/garage/mods/testabms/mod.conf delete mode 100644 data/games/garage/mods/testabms/neighbors.lua delete mode 100644 data/games/garage/mods/testabms/textures/testabms_after_node.png delete mode 100644 data/games/garage/mods/testabms/textures/testabms_wait_node.png delete mode 100644 data/games/garage/mods/testentities/armor.lua delete mode 100644 data/games/garage/mods/testentities/init.lua delete mode 100644 data/games/garage/mods/testentities/mod.conf delete mode 100644 data/games/garage/mods/testentities/models/LICENSE.txt delete mode 100644 data/games/garage/mods/testentities/observers.lua delete mode 100644 data/games/garage/mods/testentities/pointable.lua delete mode 100644 data/games/garage/mods/testentities/selectionbox.lua delete mode 100644 data/games/garage/mods/testentities/textures/testentities_armorball.png delete mode 100644 data/games/garage/mods/testentities/textures/testentities_cube1.png delete mode 100644 data/games/garage/mods/testentities/textures/testentities_cube2.png delete mode 100644 data/games/garage/mods/testentities/textures/testentities_cube3.png delete mode 100644 data/games/garage/mods/testentities/textures/testentities_cube4.png delete mode 100644 data/games/garage/mods/testentities/textures/testentities_cube5.png delete mode 100644 data/games/garage/mods/testentities/textures/testentities_cube6.png delete mode 100644 data/games/garage/mods/testentities/textures/testentities_dungeon_master.png delete mode 100644 data/games/garage/mods/testentities/textures/testentities_sprite.png delete mode 100644 data/games/garage/mods/testentities/textures/testentities_upright_sprite1.png delete mode 100644 data/games/garage/mods/testentities/textures/testentities_upright_sprite2.png delete mode 100644 data/games/garage/mods/testentities/visuals.lua delete mode 100644 data/games/garage/mods/testfood/init.lua delete mode 100644 data/games/garage/mods/testfood/mod.conf delete mode 100644 data/games/garage/mods/testfood/textures/testfood_bad.png delete mode 100644 data/games/garage/mods/testfood/textures/testfood_bad2.png delete mode 100644 data/games/garage/mods/testfood/textures/testfood_good.png delete mode 100644 data/games/garage/mods/testfood/textures/testfood_good2.png delete mode 100644 data/games/garage/mods/testfood/textures/testfood_replace.png delete mode 100644 data/games/garage/mods/testformspec/LICENSE.txt delete mode 100644 data/games/garage/mods/testformspec/callbacks.lua delete mode 100644 data/games/garage/mods/testformspec/dummy_items.lua delete mode 100644 data/games/garage/mods/testformspec/formspec.lua delete mode 100644 data/games/garage/mods/testformspec/init.lua delete mode 100644 data/games/garage/mods/testformspec/mod.conf delete mode 100644 data/games/garage/mods/testformspec/models/testformspec_character.b3d delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_9slice.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_animation.jpg delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_animation.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_bg.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_bg_9slice.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_bg_9slice_focused.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_bg_9slice_hovered.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_bg_9slice_pressed.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_bg_focused.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_bg_hovered.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_bg_pressed.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_button_image.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_character.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_hovered.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_item.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_node.png delete mode 100644 data/games/garage/mods/testformspec/textures/testformspec_pressed.png delete mode 100644 data/games/garage/mods/testfullscreenfs/init.lua delete mode 100644 data/games/garage/mods/testfullscreenfs/mod.conf delete mode 100644 data/games/garage/mods/testhud/init.lua delete mode 100644 data/games/garage/mods/testhud/mod.conf delete mode 100644 data/games/garage/mods/testhud/textures/testhud_waypoint.png delete mode 100644 data/games/garage/mods/testitems/init.lua delete mode 100644 data/games/garage/mods/testitems/mod.conf delete mode 100644 data/games/garage/mods/testitems/textures/testitems_overlay_base.png delete mode 100644 data/games/garage/mods/testitems/textures/testitems_overlay_overlay.png delete mode 100644 data/games/garage/mods/testitems/textures/testitems_overridden.png delete mode 100644 data/games/garage/mods/testitems/textures/testitems_telescope_stick.png delete mode 100644 data/games/garage/mods/testnodes/README.md delete mode 100644 data/games/garage/mods/testnodes/commands.lua delete mode 100644 data/games/garage/mods/testnodes/drawtypes.lua delete mode 100644 data/games/garage/mods/testnodes/init.lua delete mode 100644 data/games/garage/mods/testnodes/light.lua delete mode 100644 data/games/garage/mods/testnodes/liquids.lua delete mode 100644 data/games/garage/mods/testnodes/meshes.lua delete mode 100644 data/games/garage/mods/testnodes/mod.conf delete mode 100644 data/games/garage/mods/testnodes/models/testnodes_marble_glass.obj delete mode 100644 data/games/garage/mods/testnodes/models/testnodes_marble_metal.obj delete mode 100644 data/games/garage/mods/testnodes/models/testnodes_ocorner.obj delete mode 100644 data/games/garage/mods/testnodes/models/testnodes_pyramid.obj delete mode 100644 data/games/garage/mods/testnodes/nodeboxes.lua delete mode 100644 data/games/garage/mods/testnodes/overlays.lua delete mode 100644 data/games/garage/mods/testnodes/param2.lua delete mode 100644 data/games/garage/mods/testnodes/performance_test_nodes.lua delete mode 100644 data/games/garage/mods/testnodes/properties.lua delete mode 100644 data/games/garage/mods/testnodes/textures.lua delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_1.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_128x128_rgb.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_1f.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_1fg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_1g.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_1w.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_1wg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_2.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_2f.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_2fg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_2g.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_2w.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_2wg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_3.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_3f.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_3fg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_3g.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_3w.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_3wg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_4.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_4f.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_4fg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_4g.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_4w.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_4wg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_5.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_5f.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_5fg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_5g.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_5w.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_5wg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_6.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_6f.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_6fg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_6g.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_6w.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_6wg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_airlike.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_allfaces.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_allfaces_optional.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_alpha.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_alpha128.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_alpha191.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_alpha64.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_alpha_compositing_bottom.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_alpha_compositing_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_anim.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attached4_bottom.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attached4_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attached4_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attached_bottom.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attached_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attached_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedf_bottom.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedf_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedf_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedfr_bottom.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedfr_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedfr_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedw_bottom.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedw_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedw_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedwr_bottom.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedwr_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_attachedwr_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_blocking_pointable.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_bouncy.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_buildable_to.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_climbable_noclimb_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_climbable_noclimb_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_climbable_nodescend_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_climbable_nodescend_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_climbable_nojump_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_climbable_nojump_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_climbable_resistance_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_climbable_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_climbable_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_damage.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_damage_neg.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_drowning.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_fall_damage_minus.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_fall_damage_plus.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_fencelike.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_fill_positioning_reference.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_firelike.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_glasslike.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_glasslike_detail.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_glasslike_framed.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_glasslike_framed2.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_glasslike_framed_optional.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_glasslikeliquid.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_1.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_10.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_11.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_12.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_13.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_14.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_2.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_3.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_4.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_5.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_6.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_7.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_8.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_light_9.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_line_crossing.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_line_curved.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_line_straight.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_line_t_junction.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquid.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidflowing.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r0.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r1.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r2.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r3.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r4.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r5.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r6.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r7.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r8.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidsource.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r0.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r1.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r2.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r3.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r4.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r5.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r6.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r7.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r8.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_marble_glass.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_marble_metal.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_marble_metal_overlay.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_mask_WRGBKW.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes10.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes2.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes3.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes4.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes5.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes6.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes7.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes8.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes9.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_move_resistance.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_node.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_node_falling.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_node_falling_1.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_node_falling_2.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_node_falling_3.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_node_falling_4.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_node_falling_5.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_node_falling_6.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_nodebox.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_nojump_side.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_nojump_top.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_normal.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_normal1.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_normal2.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_normal3.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_normal4.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_normal5.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_normal6.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_not_pointable.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_overlay.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_overlayable.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_palette_4dir.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_palette_facedir.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_palette_full.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_palette_metal.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_palette_wallmounted.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_degrotate.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_leveled.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_meshoptions.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_base.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_degrotate.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_leveled.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_meshoptions.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_wallmounted.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_waving.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_degrotate.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_leveled.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_meshoptions.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_wallmounted.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_waving.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_wallmounted.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_plantlike_waving.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_pointable.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_post_effect_color_shaded_false.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_post_effect_color_shaded_true.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_rail2_crossing.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_rail2_curved.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_rail2_straight.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_rail2_t_junction.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_rail_crossing.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_rail_curved.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_rail_straight.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_rail_t_junction.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_sign3d.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_signlike.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_slippery.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_street_crossing.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_street_curved.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_street_straight.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_street_t_junction.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_sunlight_filter.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_tga_type10_32bpp_bt.tga delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_tga_type10_32bpp_tb.tga delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_tga_type1_24bpp_bt.tga delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_tga_type1_24bpp_tb.tga delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_tga_type2_16bpp_bt.tga delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_tga_type2_16bpp_tb.tga delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_tga_type2_32bpp_bt.tga delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_tga_type2_32bpp_tb.tga delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_tga_type3_16bpp_bt.tga delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_tga_type3_16bpp_tb.tga delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_torchlike_ceiling.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_torchlike_floor.png delete mode 100644 data/games/garage/mods/testnodes/textures/testnodes_torchlike_wall.png delete mode 100644 data/games/garage/mods/testpathfinder/README.md delete mode 100644 data/games/garage/mods/testpathfinder/init.lua delete mode 100644 data/games/garage/mods/testpathfinder/mod.conf delete mode 100644 data/games/garage/mods/testpathfinder/textures/testpathfinder_testpathfinder.png delete mode 100644 data/games/garage/mods/testpathfinder/textures/testpathfinder_waypoint.png delete mode 100644 data/games/garage/mods/testpathfinder/textures/testpathfinder_waypoint_end.png delete mode 100644 data/games/garage/mods/testpathfinder/textures/testpathfinder_waypoint_start.png delete mode 100644 data/games/garage/mods/testtools/README.md delete mode 100644 data/games/garage/mods/testtools/init.lua delete mode 100644 data/games/garage/mods/testtools/light.lua delete mode 100644 data/games/garage/mods/testtools/mod.conf delete mode 100644 data/games/garage/mods/testtools/node_box_visualizer.lua delete mode 100644 data/games/garage/mods/testtools/particles.lua delete mode 100644 data/games/garage/mods/testtools/privatizer.lua delete mode 100644 data/games/garage/mods/testtools/textures/testtools_blocked_pointing_staff.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_branding_iron.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_children_getter.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_entity_rotator.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_entity_scaler.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_entity_spawner.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_falling_node_tool.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_item_meta_editor.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_lighttool.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_node_box_visualizer.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_node_meta_editor.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_node_setter.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_object_attacher.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_object_editor.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_object_mover.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_param2tool.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_particle_sheet.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_particle_spawner.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_particle_vertical.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_privatizer.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_remover.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_ultimate_pointing_staff.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_visual_collision_box.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_visual_node_box.png delete mode 100644 data/games/garage/mods/testtools/textures/testtools_visual_selection_box.png delete mode 100644 data/games/garage/mods/testtranslations/init.lua delete mode 100644 data/games/garage/mods/testtranslations/locale/testtranslations.fr.po delete mode 100644 data/games/garage/mods/testtranslations/locale/translation_mo.fr.mo delete mode 100644 data/games/garage/mods/testtranslations/locale/translation_po.fr.po delete mode 100644 data/games/garage/mods/testtranslations/locale/translation_tr.fr.tr delete mode 100644 data/games/garage/mods/testtranslations/mod.conf delete mode 100644 data/games/garage/mods/testtranslations/test_locale/readme.txt delete mode 100644 data/games/garage/mods/testtranslations/test_locale/translation_mo.de.mo delete mode 100644 data/games/garage/mods/testtranslations/test_locale/translation_po.de.po delete mode 100644 data/games/garage/mods/testtranslations/translation_mo.de.po delete mode 100644 data/games/garage/mods/testtranslations/translation_mo.fr.po delete mode 100644 data/games/garage/mods/tiled/init.lua delete mode 100644 data/games/garage/mods/tiled/mod.conf delete mode 100644 data/games/garage/mods/tiled/textures/tiled_tiled.png delete mode 100644 data/games/garage/mods/tiled/textures/tiled_tiled_node.png create mode 100644 data/games/garage/mods/tnt/README.txt create mode 100644 data/games/garage/mods/tnt/init.lua create mode 100644 data/games/garage/mods/tnt/license.txt create mode 100644 data/games/garage/mods/tnt/locale/template.txt create mode 100644 data/games/garage/mods/tnt/locale/tnt.de.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.eo.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.es.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.fr.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.id.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.it.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.ja.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.jbo.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.lv.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.ms.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.pl.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.pt_BR.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.ru.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.sk.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.sv.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.uk.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.zh_CN.tr create mode 100644 data/games/garage/mods/tnt/locale/tnt.zh_TW.tr create mode 100644 data/games/garage/mods/tnt/mod.conf create mode 100644 data/games/garage/mods/tnt/sounds/tnt_explode.ogg create mode 100644 data/games/garage/mods/tnt/sounds/tnt_gunpowder_burning.ogg create mode 100644 data/games/garage/mods/tnt/sounds/tnt_ignite.ogg create mode 100644 data/games/garage/mods/tnt/textures/tnt_blast.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_boom.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_bottom.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_gunpowder_burning_curved_animated.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_gunpowder_burning_straight_animated.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_gunpowder_crossing.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_gunpowder_curved.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_gunpowder_inventory.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_gunpowder_straight.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_gunpowder_t_junction.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_side.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_smoke.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_tnt_stick.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_top.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_top_burning.png create mode 100644 data/games/garage/mods/tnt/textures/tnt_top_burning_animated.png delete mode 100644 data/games/garage/mods/unittests/async_env.lua delete mode 100644 data/games/garage/mods/unittests/color.lua delete mode 100644 data/games/garage/mods/unittests/content_ids.lua delete mode 100644 data/games/garage/mods/unittests/crafting.lua delete mode 100644 data/games/garage/mods/unittests/crafting_prepare.lua delete mode 100644 data/games/garage/mods/unittests/entity.lua delete mode 100644 data/games/garage/mods/unittests/get_version.lua delete mode 100644 data/games/garage/mods/unittests/init.lua delete mode 100644 data/games/garage/mods/unittests/inside_async_env.lua delete mode 100644 data/games/garage/mods/unittests/inside_mapgen_env.lua delete mode 100644 data/games/garage/mods/unittests/inventory.lua delete mode 100644 data/games/garage/mods/unittests/itemdescription.lua delete mode 100644 data/games/garage/mods/unittests/itemstack_equals.lua delete mode 100644 data/games/garage/mods/unittests/load_time.lua delete mode 100644 data/games/garage/mods/unittests/metadata.lua delete mode 100644 data/games/garage/mods/unittests/misc.lua delete mode 100644 data/games/garage/mods/unittests/mod.conf delete mode 100644 data/games/garage/mods/unittests/on_shutdown.lua delete mode 100644 data/games/garage/mods/unittests/player.lua delete mode 100644 data/games/garage/mods/unittests/raycast.lua delete mode 100644 data/games/garage/mods/unittests/textures/default_dirt.png delete mode 100644 data/games/garage/mods/unittests/textures/unittests_callback.png delete mode 100644 data/games/garage/mods/unittests/textures/unittests_coal_lump.png delete mode 100644 data/games/garage/mods/unittests/textures/unittests_description_test.png delete mode 100644 data/games/garage/mods/unittests/textures/unittests_iron_lump.png delete mode 100644 data/games/garage/mods/unittests/textures/unittests_repairable_tool.png delete mode 100644 data/games/garage/mods/unittests/textures/unittests_steel_ingot.png delete mode 100644 data/games/garage/mods/unittests/textures/unittests_stick.png delete mode 100644 data/games/garage/mods/unittests/textures/unittests_torch.png delete mode 100644 data/games/garage/mods/unittests/textures/unittests_unrepairable_tool.png delete mode 100644 data/games/garage/mods/util_commands/init.lua delete mode 100644 data/games/garage/mods/util_commands/mod.conf create mode 100644 data/games/garage/mods/vessels/README.txt create mode 100644 data/games/garage/mods/vessels/init.lua create mode 100644 data/games/garage/mods/vessels/license.txt create mode 100644 data/games/garage/mods/vessels/locale/template.txt create mode 100644 data/games/garage/mods/vessels/locale/vessels.de.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.eo.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.es.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.fr.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.id.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.it.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.ja.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.jbo.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.lv.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.ms.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.pl.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.pt_BR.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.ru.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.sk.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.sv.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.uk.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.zh_CN.tr create mode 100644 data/games/garage/mods/vessels/locale/vessels.zh_TW.tr create mode 100644 data/games/garage/mods/vessels/mod.conf create mode 100644 data/games/garage/mods/vessels/textures/vessels_drinking_glass.png create mode 100644 data/games/garage/mods/vessels/textures/vessels_drinking_glass_inv.png create mode 100644 data/games/garage/mods/vessels/textures/vessels_glass_bottle.png create mode 100644 data/games/garage/mods/vessels/textures/vessels_glass_fragments.png create mode 100644 data/games/garage/mods/vessels/textures/vessels_shelf.png create mode 100644 data/games/garage/mods/vessels/textures/vessels_shelf_slot.png create mode 100644 data/games/garage/mods/vessels/textures/vessels_steel_bottle.png create mode 100644 data/games/garage/mods/walls/README.txt create mode 100644 data/games/garage/mods/walls/init.lua create mode 100644 data/games/garage/mods/walls/license.txt create mode 100644 data/games/garage/mods/walls/locale/template.txt create mode 100644 data/games/garage/mods/walls/locale/walls.de.tr create mode 100644 data/games/garage/mods/walls/locale/walls.eo.tr create mode 100644 data/games/garage/mods/walls/locale/walls.es.tr create mode 100644 data/games/garage/mods/walls/locale/walls.fr.tr create mode 100644 data/games/garage/mods/walls/locale/walls.id.tr create mode 100644 data/games/garage/mods/walls/locale/walls.it.tr create mode 100644 data/games/garage/mods/walls/locale/walls.ja.tr create mode 100644 data/games/garage/mods/walls/locale/walls.jbo.tr create mode 100644 data/games/garage/mods/walls/locale/walls.lv.tr create mode 100644 data/games/garage/mods/walls/locale/walls.ms.tr create mode 100644 data/games/garage/mods/walls/locale/walls.pl.tr create mode 100644 data/games/garage/mods/walls/locale/walls.pt_BR.tr create mode 100644 data/games/garage/mods/walls/locale/walls.ru.tr create mode 100644 data/games/garage/mods/walls/locale/walls.sk.tr create mode 100644 data/games/garage/mods/walls/locale/walls.sv.tr create mode 100644 data/games/garage/mods/walls/locale/walls.uk.tr create mode 100644 data/games/garage/mods/walls/locale/walls.zh_CN.tr create mode 100644 data/games/garage/mods/walls/locale/walls.zh_TW.tr create mode 100644 data/games/garage/mods/walls/mod.conf create mode 100644 data/games/garage/mods/weather/README.txt create mode 100644 data/games/garage/mods/weather/api.lua create mode 100644 data/games/garage/mods/weather/init.lua create mode 100644 data/games/garage/mods/weather/license.txt create mode 100644 data/games/garage/mods/weather/mod.conf create mode 100644 data/games/garage/mods/wool/README.txt create mode 100644 data/games/garage/mods/wool/init.lua create mode 100644 data/games/garage/mods/wool/license.txt create mode 100644 data/games/garage/mods/wool/locale/template.txt create mode 100644 data/games/garage/mods/wool/locale/wool.de.tr create mode 100644 data/games/garage/mods/wool/locale/wool.eo.tr create mode 100644 data/games/garage/mods/wool/locale/wool.es.tr create mode 100644 data/games/garage/mods/wool/locale/wool.fr.tr create mode 100644 data/games/garage/mods/wool/locale/wool.id.tr create mode 100644 data/games/garage/mods/wool/locale/wool.it.tr create mode 100644 data/games/garage/mods/wool/locale/wool.ja.tr create mode 100644 data/games/garage/mods/wool/locale/wool.jbo.tr create mode 100644 data/games/garage/mods/wool/locale/wool.lv.tr create mode 100644 data/games/garage/mods/wool/locale/wool.ms.tr create mode 100644 data/games/garage/mods/wool/locale/wool.pl.tr create mode 100644 data/games/garage/mods/wool/locale/wool.pt.tr create mode 100644 data/games/garage/mods/wool/locale/wool.pt_BR.tr create mode 100644 data/games/garage/mods/wool/locale/wool.ru.tr create mode 100644 data/games/garage/mods/wool/locale/wool.sk.tr create mode 100644 data/games/garage/mods/wool/locale/wool.sv.tr create mode 100644 data/games/garage/mods/wool/locale/wool.uk.tr create mode 100644 data/games/garage/mods/wool/locale/wool.zh_CN.tr create mode 100644 data/games/garage/mods/wool/locale/wool.zh_TW.tr create mode 100644 data/games/garage/mods/wool/mod.conf create mode 100644 data/games/garage/mods/wool/textures/wool_black.png create mode 100644 data/games/garage/mods/wool/textures/wool_blue.png create mode 100644 data/games/garage/mods/wool/textures/wool_brown.png create mode 100644 data/games/garage/mods/wool/textures/wool_cyan.png create mode 100644 data/games/garage/mods/wool/textures/wool_dark_green.png create mode 100644 data/games/garage/mods/wool/textures/wool_dark_grey.png create mode 100644 data/games/garage/mods/wool/textures/wool_green.png create mode 100644 data/games/garage/mods/wool/textures/wool_grey.png create mode 100644 data/games/garage/mods/wool/textures/wool_magenta.png create mode 100644 data/games/garage/mods/wool/textures/wool_orange.png create mode 100644 data/games/garage/mods/wool/textures/wool_pink.png create mode 100644 data/games/garage/mods/wool/textures/wool_red.png create mode 100644 data/games/garage/mods/wool/textures/wool_violet.png create mode 100644 data/games/garage/mods/wool/textures/wool_white.png create mode 100644 data/games/garage/mods/wool/textures/wool_yellow.png create mode 100644 data/games/garage/mods/xpanes/README.txt create mode 100644 data/games/garage/mods/xpanes/init.lua create mode 100644 data/games/garage/mods/xpanes/license.txt create mode 100644 data/games/garage/mods/xpanes/locale/template.txt create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.de.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.eo.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.es.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.fr.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.id.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.it.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.ja.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.jbo.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.lv.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.ms.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.pl.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.pt_BR.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.ru.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.sk.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.sv.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.uk.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.zh_CN.tr create mode 100644 data/games/garage/mods/xpanes/locale/xpanes.zh_TW.tr create mode 100644 data/games/garage/mods/xpanes/mod.conf create mode 100644 data/games/garage/mods/xpanes/sounds/xpanes_steel_bar_door_close.ogg create mode 100644 data/games/garage/mods/xpanes/sounds/xpanes_steel_bar_door_open.ogg create mode 100644 data/games/garage/mods/xpanes/textures/xpanes_bar.png create mode 100644 data/games/garage/mods/xpanes/textures/xpanes_bar_top.png create mode 100644 data/games/garage/mods/xpanes/textures/xpanes_door_steel_bar.png create mode 100644 data/games/garage/mods/xpanes/textures/xpanes_edge.png create mode 100644 data/games/garage/mods/xpanes/textures/xpanes_edge_obsidian.png create mode 100644 data/games/garage/mods/xpanes/textures/xpanes_item_steel_bar.png create mode 100644 data/games/garage/mods/xpanes/textures/xpanes_trapdoor_steel_bar.png create mode 100644 data/games/garage/mods/xpanes/textures/xpanes_trapdoor_steel_bar_side.png create mode 100644 data/games/garage/schematic_tables.txt create mode 100644 data/games/garage/utils/optimize_textures.sh create mode 100644 data/games/garage/utils/test/minetest.conf create mode 100755 data/games/garage/utils/test/run.sh diff --git a/data/games/garage/LICENSE.txt b/data/games/garage/LICENSE.txt index a76b0a1..48f0b8d 100644 --- a/data/games/garage/LICENSE.txt +++ b/data/games/garage/LICENSE.txt @@ -1,4 +1,519 @@ -License information for Development Test ----------------------------------------- +License of media (textures and sounds) +-------------------------------------- +Copyright (C) 2010-2012 celeron55, Perttu Ahola +See README.txt in each mod directory for information about other authors. -The same license as for Luanti applies. +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/data/games/garage/README.md b/data/games/garage/README.md deleted file mode 100644 index 4b5fb73..0000000 --- a/data/games/garage/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# Development Test (devtest) - -This is a basic testing environment that contains a bunch of things to test the engine, but it could also be used as a minimal testbed for testing out mods. - -## Features - -* Basic nodes for mapgen -* Basic, minimal map generator -* Lots of example nodes for testing drawtypes, param2, light level, and many other node properties -* Example entities -* Other example items -* Formspec test (via `/test_formspec` command) -* Automated unit tests (disabled by default) -* Tools for manipulating nodes and entities, like the "Param2 Tool" - -## Getting started - -Basically, just create a world and start. A few important things to note: - -* Items are gotten from the “Chest of Everything” (`chest_of_everything:chest`) -* When you lost your initial items, type in `/stuff` command to get them back -* By default, Creative Mode activates infinite node placement. This behavior can be changed with the `devtest_infplace` setting -* Use the `/infplace` command to toggle infinite node placement in-game -* Use the Param2 Tool to change the param2 of nodes; it's useful to experiment with the various drawtype test nodes -* Check out the game settings and server commands for additional tests and features - -Confused by a certain node or item? Check out for inline code comments. The usages of most tools are explained in their tooltips. - -### Example tests - -* You can use this to test what happens if a player is simultaneously in 2 nodes with `damage_per_second` but with a different value. -* Or use the Falling Node Tool on various test nodes to see how they behave when falling. -* You could also use this as a testbed for dependency-free mods, e.g. to test out how your formspecs behave without theming. - -## Random notes - -* Textures of drawtype test nodes have a red dot at the top left corner. This is to see whether the textures are oriented properly - -## Design philosophy - -This should loosely follow the following principles: - -* Engine testing: The main focus of this is to aid testing of *engine* features, such as mapgen or node drawtypes -* Mod testing: The secondary focus is to help modders as well, either as a minimal testbed for mods or even as a code example -* Minimal interference: Under default settings, it shall not interfere with APIs except on explicit user wish. Non-trivial tests and features need to be enabled by a setting first -* Convenience: Have various tools to make usage easier and more convenient -* Reproducing engine bugs: When an engine bug was found, consider creating a test case -* Clarity: Textures and names need to be designed to keep different things clearly visually apart at a glance -* Low loading time: It must load blazing-fast so stuff can be tested quickly - diff --git a/data/games/garage/game.conf b/data/games/garage/game.conf index e79cc94..e9c3f85 100644 --- a/data/games/garage/game.conf +++ b/data/games/garage/game.conf @@ -1,4 +1,3 @@ -title = Development Test -description = Testing environment to help with testing the engine features of Luanti. It can also be helpful in mod development. -first_mod = first_mod -last_mod = last_mod +title = Minetest Game +description = A basic exploration, mining, crafting, and building, sandbox game with no NPCs, monsters, or animals. Minetest Game is usually used with mods added, and many mods are available for this game. Reliably maintained by Luanti core developers. +min_minetest_version = 5.8 diff --git a/data/games/garage/game_api.txt b/data/games/garage/game_api.txt new file mode 100644 index 0000000..9c57694 --- /dev/null +++ b/data/games/garage/game_api.txt @@ -0,0 +1,1233 @@ +Minetest Game API +================= +GitHub Repo: https://github.com/minetest/minetest_game + + +Introduction +------------ + +The Minetest Game game offers multiple new possibilities in addition to the Luanti 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 Luanti API, visit https://github.com/minetest/minetest/blob/master/doc/lua_api.txt +Please note: + + * [XYZ] refers to a section the Luanti 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 + * `beds.day_interval` Is a table with keys "start" and "finish". Allows you + to set the period of the day (timeofday format). Default: `{ start = 0.2, finish = 0.805 }`. + +### 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. + +Creative provides `creative.is_enabled_for(name)`, which is identical in +functionality to the engine's `minetest.creative_is_enabled(name)`. +Its use is deprecated and it should also not be overriden. + +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. + +Group overrides can be used for any registered item, node or tool. Use one of +the groups stated below to pick which category it will appear in. + + node = 1 -- Appears in the Nodes category + tool = 1 -- Appears in the Tools category + craftitem = 1 -- Appears in the Items category + + +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 = "default:chest" }` + +`default.chest.register_chest(name, def)` + + * Registers new chest + * `name` Name for chest e.g. "default: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.registered_doors[name] = Door definition` + * Table of registered doors, indexed by door name + +`doors.registered_trapdoors[name] = Trapdoor definition` + * Table of registered trap doors, indexed by trap door name + +`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. + +`doors.door_toggle(pos, node, clicker)` + + * Toggle door open or shut + * `pos` Position of the door + * `node` Node definition + * `clicker` Player definition for the player that clicked on the door + +### Door definition + + description = "Door description", + inventory_image = "mod_door_inv.png", + groups = {choppy = 2}, + model = "mod_door", -- (optional) + -- Model name without a suffix ("big_door" not "big_door_a.obj", "big_door_b.obj") + tiles = {"mod_door.png"}, -- UV map. + -- The front and back of the door must be identical in appearence as they swap on + -- open/close. + 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 + gain_open = 0.3, -- optional, defaults to 0.3 + gain_close = 0.3, -- optional, defaults to 0.3 + protected = false, -- If true, only placer can open the door (locked for others) + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing), + -- optional function containing the on_rightclick callback, defaults to a doors.door_toggle-wrapper + use_texture_alpha = "clip", + +### Trapdoor definition + + description = "Trapdoor description", + inventory_image = "mod_trapdoor_inv.png", + nodebox_closed = {} -- Nodebox for closed model + nodebox_opened = {} -- Nodebox for opened model + -- (optional) both nodeboxes must be used, not one only + 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 texture for the four sides of the trapdoor. + -- The texture should have the trapdoor side drawn twice, in the lowest and highest + -- 1/8ths of the texture, both upright. The area between is not used. + -- The lower 1/8th will be used for the closed trapdoor, the higher 1/8th will be used + -- for the open trapdoor. + sounds = default.node_sound_wood_defaults(), -- optional + sound_open = sound play for open door, -- optional + sound_close = sound play for close door, -- optional + gain_open = 0.3, -- optional, defaults to 0.3 + gain_close = 0.3, -- optional, defaults to 0.3 + protected = false, -- If true, only placer can open the door (locked for others) + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) , + -- function containing the on_rightclick callback + use_texture_alpha = "clip", + +### 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 + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + -- function containing the on_rightclick callback + + +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" and "ice" + -- 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", -- `nil` if you don't want the recipe + 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] + +All walls will be connected to any nodes with one of the following groups: + * `wall` + * `stone` + * `fence` + * `wall_connected` + + +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 + harvest_description = "", -- Description of harvest item + -- (optional, derived automatically if not provided) + 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 + can_grow = function(pos) -- Сalled every growth tick to check if the plant can grow, returns bool + -- (optional, checks for wet soil by default) + } + + +Fire API +-------- + +Add group flammable when registering a node to make fire seek for it. +Add it to an item to make it burn up when dropped in lava or fire. +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 + + +Player API +---------- + +The player API can register player models and update the player's appearance. + +* `player_api.globalstep(dtime, ...)` + * The function called by the globalstep that controls player animations. + You can override this to replace the globalstep with your own implementation. + * Receives all args that minetest.register_globalstep() passes + +* `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_models[name]` + * Get a model's definition + * `name`: model filename + * 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 if speed or anim_name differ from the currently playing animation + * `player`: PlayerRef + * `anim_name`: name of the animation + * `speed`: keyframes per second. If nil, the default from the model def is used + +* `player_api.set_textures(player, textures)` + * Sets player textures + * `player`: PlayerRef + * `textures`: array of textures. If nil, the default from the model def is used + +* `player_api.set_textures(player, index, texture)` + * Sets one of the player textures + * `player`: PlayerRef + * `index`: Index into array of all textures + * `texture`: the texture string + +* `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 + +* `player_api.player_attached` + * A table that maps a player name to a boolean + * If the value for a given player is set to true, the default player animations + (walking, digging, ...) will no longer be updated, and knockback from damage is + prevented for that player + * Example of usage: A mod sets a player's value to true when attached to a vehicle + +### Model Definition + + { + animation_speed = 30, -- Default animation speed, in keyframes per second + textures = {"character.png"}, -- Default array of textures + animations = { + -- [anim_name] = { + -- x = , + -- y = , + -- collisionbox = , -- (optional) + -- eye_height = , -- (optional) + -- -- suspend client side animations while this one is active (optional) + -- override_local = + -- }, + stand = ..., lay = ..., walk = ..., mine = ..., walk_mine = ..., -- required animations + sit = ... -- used by boats and other MTG mods + }, + -- Default object properties, see lua_api.txt + visual_size = {x = 1, y = 1}, + collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, + stepheight = 0.6, + eye_height = 1.47 + } + + +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 + +Spawn API +--------- + +The spawn mod takes care of deciding the position of new and respawning players +in the world and has an API to modify its behavior. + +`spawn.get_default_pos()` +* Gets the default spawn position as decided by a biome-dependent algorithm. +* This is not influenced by settings like "static_spawnpoint" or "engine_spawn". +* return value: a vector or `nil` on failure + +`spawn.add_suitable_biome(biome)`: +* Adds a biome to the list of allowed biomes for the above algorithm. +* `biome`: Name of a registered biome + +`spawn.register_on_spawn(func)`: +* Registers a callback to be called when a player (re-)spawns. This can be used + to intercept the normal logic to e.g. respawn a player at his bed. +* `func`: `function(player, is_new)` with arguments + - `player`: ObjectRef + - `is_new`: true if the player is joining the server for the first time + - return value: true to skip all other spawn logic, false or nil otherwise + +When a player (re-)spawns the following order is executed: +1. All spawn callbacks in order of registration. +2. If no result, teleport player to `spawn.get_default_pos()`. +3. If that fails, spawning is left up to engine. + + +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_page(player) - get the current page name. Will never return nil +* 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. + +The following node attributes are sourced from the recipeitem: + * use_texture_alpha + * sunlight_propagates + * light_source + * If the recipeitem is a fuel, the stair/slab is also registered as a fuel of proportionate burntime. + +`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, full_description)` + + * 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 with "Inner" prepended + * `sounds`: See [#Default sounds] + * `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition] + * `full_description`: Overrides the description, bypassing string concatenation. This is useful for translation. (optional) + +`stairs.register_stair_outer(subname, recipeitem, groups, images, description, sounds, worldaligntex, full_description)` + + * 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 with "Outer" prepended + * `sounds`: See [#Default sounds] + * `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition] + * `full_description`: Overrides the description, bypassing string concatenation. This is useful for translation. (optional) + +``` +stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, + sounds, worldaligntex, desc_stair_inner, desc_stair_outer) +``` + + * 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 unless + `desc_stair_inner` or `desc_stair_outer` are specified, which are used instead. + * `desc_slab`: Description for slab node + * `desc_stair_inner`: Description for inner stair node + * `desc_stair_outer`: Description for outer stair 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 front and back", + (unused), + "texture for the 4 edges" + }, -- 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 + + * `default.on_grow_failed(pos)` + * Reset the node timer to 300 seconds, used as default callback when the growth of a sapling fails + + * `default.sapling_growth_defs` + * Table that contains all the definitions for the growable saplings, see `default.register_sapling_growth` + + * `default.register_sapling_growth(name, def)` + * Register a new sapling growth configuration. Useful to add custom sapling and trees to the game in a compact way. + default.register_sapling_growth( + "default:sapling", -- Name of the sapling + { + can_grow = default.can_grow, -- Function called to determine whether the sapling can grow, should return a boolean + on_grow_failed = default.on_grow_failed, -- Function called when the growth fails + grow = function(pos) -- Function called when the growth has success. This should replace the sapling with a tree. + } + ) + + * `default.grow_sapling(pos)` + * Attempt to grow a sapling at the given position. Useful as on_timer callback. + + + +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. + +`default.register_craft_metadata_copy(ingredient, result)` +---------------------------------------------------------- + +This function registers a shapeless recipe that takes `ingredient` +and `result` as input and outputs `result`. + +The metadata of the input `result` is copied to the output `result`. + + +Log API +------- + +Logs action of the player with a node at a certain position. +By default only actions of real players are logged. +Actions of non-players (usually machines) are logged only when +setting `log_non_player_actions` is enabled. +A player is considered non-player if `player:is_player()` returns +`false` or `player.is_fake_player` is truthy. The use of +`is_fake_player` is an unofficial standard between mods. +These non-players are marked by the content of `is_fake_player` +(if it is a string) or a "*" in brackets after the player name in +the log. + +`default.log_player_action(player, ...)` + + * `player` The player who performed the action + * `message_parts` Any mumber of message parts describing the action + in 3rd person singular present tense. It can also + contain a `pos` which is logged as "(X,Y,Z)" + +`default.set_inventory_action_loggers(def, name)` + + * hooks the callbacks `on_metadata_inventory_move`, + `on_metadata_inventory_put` and `on_metadata_inventory_take` + that log corresponding actions + * after logging the action, the original callback (if any) is called + * `def` See [Node definition] + * `name` Description of the node in the log message + + +Weather API +----------- + +The weather mod will constantly adjust weather effects seen by the player +(that is: cloud parameters, shadow intensity, bloom and volumetric lighting). +These can be influenced using this API. + +#### `weather.get = function(player)` + +* Returns the current weather effects seen by the player. + It returns a table with two keys: + * `clouds`: A table (or `nil`) with cloud data following the same format as used for `player:set_clouds()`. + * `lighting`: A table (or `nil`) with lighting data following the same format as used for `player:set_lighting()`. +* `player`: ObjectRef of the relevant player +* You can override this function to change the weather effects by simply returning different values. + Setting `clouds` or `lighting` in the result table to `nil` will *prevent* those from changing. + +Utilities +--------- + +`default.dig_up(pos, node, digger, max_height)` + + * Find all nodes above `pos` that is the same, then dig them all + * `max_height` Maximum number of nodes to iterate. Default: 100 diff --git a/data/games/garage/menu/background.png b/data/games/garage/menu/background.png deleted file mode 100644 index e69c4d03f2d9f061c89a19999bf3d2e20dc152ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^A3&Iq8A!6suD%GQ*aCb)ToW1sER$qU@NaShia2<> zIEF;DzCCX!$iTpH#6af3eN~}?57OMz*Ub%*U47Yh3FfJ`KF)%YSF*!FjIyg5vIXFT zzPrV}yT-r0%EiOV#=}{4q22%h00DGTPE!Ct=GbNc00O5;L_t(YORZLady_B_PFJ-G z!44adj;N&C%~1j}=ceEPi+OjDCJoR$^XdJu@xJ%oufRdsa|^a-U{6}>=9aM5`x##A zgT4r6gN1aVK3J!u`ci`8Pg&+lt$UouN1pw3`MfO4i(oTANH^1;%~Pd9h&jSpBC=?F3Q?M5a>kzL;{78q^A-*0iU#2%kIw&_6 z7s9N?jY!k=E=aX-YED+BuoQ_ zdX`tj6OP!a)q);3v`If%*XQ;0#%x??>nxzZ^=FHn{zi2U*kJNisYNZM6w%{fZ211i zk%zI7Cw%wNb#-00ZT+2s+a35Lo5%4#c3>^y-xTlbPwL-UU0)YHwS#ScqduBK;s^PL zUZ_%X!VqHkLP?jG22*w1sNryZe@Jg^GLCLi>teq@o41p2#Qnsu*NPLCGBG@S*IXX| z5@tgU^LYFIklxs2oZrv5KbyD3X?ULC0I%|+awsP7NyjZMb+{fzsw zc|S(c@L|vJYC)LuS2KK);76?_7oiX5_U6}d9Fh9dn?9?irAF3LhreAnu153Jc+`YR) zR&;bZ+`0HrcTet_0G1CsO3Z(kSGC7G_Y0j`$|k_Tu-zmhHH$Aa1?UI{Pgg&ebxsLQ E04Hlq*8l(j diff --git a/data/games/garage/menu/icon.png b/data/games/garage/menu/icon.png index f854b9c319242b2f5a3d5cb8d4c89a6ffe448859..bf90c8299d517371d9f800a87ed7c9326bf9e10f 100644 GIT binary patch literal 3008 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 diff --git a/data/games/garage/mods/gltf/invalid/empty.gltf b/data/games/garage/minetest.conf similarity index 100% rename from data/games/garage/mods/gltf/invalid/empty.gltf rename to data/games/garage/minetest.conf diff --git a/data/games/garage/minetest.conf.example b/data/games/garage/minetest.conf.example new file mode 100644 index 0000000..6b392e8 --- /dev/null +++ b/data/games/garage/minetest.conf.example @@ -0,0 +1,81 @@ +# This file contains settings of Minetest Game that can be changed in +# minetest.conf. +# By default, all the settings are commented and not functional. +# Uncomment settings by removing the preceding #. + +# Whether creative mode (fast digging of all blocks, unlimited resources) should +# be enabled. +#creative_mode = false + +# 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 + +# The time in seconds after which the bones of a dead player can be looted by +# everyone. +# 0 to disable. +#share_bones_time = 1200 + +# 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 = 300 + +# Inform player of condition and location of new bones. +#bones_position_message = false + +# Whether fire should be enabled. If disabled, 'basic_flame' nodes will +# disappear. +# 'permanent_flame' nodes will remain with either setting. +#enable_fire = true + +# Enable flame sound. +#flame_sound = true + +# Whether lavacooling should be enabled. +#enable_lavacooling = true + +# Whether the stuff in initial_stuff should be given to new players. +#give_initial_stuff = false +#initial_stuff = default:pick_steel,default:axe_steel,default:shovel_steel, +default:torch 99,default:cobble 99 + +# Whether the TNT mod should be enabled. +#enable_tnt = + +# 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 + +# If enabled, fences and walls cannot be jumped over. +#enable_fence_tall = false + +# Whether the engine's spawn search, which does not check for a suitable +# starting biome, is used. +# Default value is false. +#engine_spawn = false + +# Whether river water source nodes create flowing sounds. +# Helps rivers create more sound, especially on level sections. +#river_source_sounds = false + +# If enabled, the 'weather' mod will control cloud parameters, shadow intensity, +# bloom and volumetric lighting. +# Non-functional in V6 or Singlenode mapgens. +#enable_weather = true + +# If enabled, non-player actions are logged +#log_non_player_actions = false diff --git a/data/games/garage/mods/basenodes/init.lua b/data/games/garage/mods/basenodes/init.lua deleted file mode 100644 index a6cc680..0000000 --- a/data/games/garage/mods/basenodes/init.lua +++ /dev/null @@ -1,361 +0,0 @@ -local WATER_ALPHA = "^[opacity:" .. 160 -local WATER_VISC = 1 -local LAVA_VISC = 7 - --- --- Node definitions --- - --- Register nodes - -core.register_node("basenodes:stone", { - description = "Stone", - tiles = {"default_stone.png"}, - groups = {cracky=3}, -}) - -core.register_node("basenodes:desert_stone", { - description = "Desert Stone", - tiles = {"default_desert_stone.png"}, - groups = {cracky=3}, -}) - -core.register_node("basenodes:dirt_with_grass", { - description = "Dirt with Grass", - tiles ={"default_grass.png", - -- a little dot on the bottom to distinguish it from dirt - "default_dirt.png^basenodes_dirt_with_grass_bottom.png", - {name = "default_dirt.png^default_grass_side.png", - tileable_vertical = false}}, - groups = {crumbly=3, soil=1}, -}) - -core.register_node("basenodes:dirt_with_snow", { - description = "Dirt with Snow", - tiles ={"basenodes_dirt_with_snow.png", - -- a little dot on the bottom to distinguish it from dirt - "default_dirt.png^basenodes_dirt_with_snow_bottom.png", - {name = "default_dirt.png^default_snow_side.png", - tileable_vertical = false}}, - groups = {crumbly=3, soil=1}, -}) - -core.register_node("basenodes:dirt", { - description = "Dirt", - tiles ={"default_dirt.png"}, - groups = {crumbly=3, soil=1}, -}) - -core.register_node("basenodes:sand", { - description = "Sand", - tiles ={"default_sand.png"}, - groups = {crumbly=3}, -}) - -core.register_node("basenodes:desert_sand", { - description = "Desert Sand", - tiles ={"default_desert_sand.png"}, - groups = {crumbly=3}, -}) - -core.register_node("basenodes:gravel", { - description = "Gravel", - tiles ={"default_gravel.png"}, - groups = {crumbly=2}, -}) - -core.register_node("basenodes:junglegrass", { - description = "Jungle Grass", - drawtype = "plantlike", - tiles ={"default_junglegrass.png"}, - inventory_image = "default_junglegrass.png", - wield_image = "default_junglegrass.png", - paramtype = "light", - walkable = false, - groups = {snappy=3}, -}) - -core.register_node("basenodes:tree", { - description = "Normal Tree Trunk", - tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, - is_ground_content = false, - groups = {choppy=2,oddly_breakable_by_hand=1}, -}) - -core.register_node("basenodes:leaves", { - description = "Normal Leaves", - drawtype = "allfaces_optional", - tiles = {"default_leaves.png"}, - paramtype = "light", - is_ground_content = false, - groups = {snappy=3}, -}) - -core.register_node("basenodes:jungletree", { - description = "Jungle Tree Trunk", - tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, - is_ground_content = false, - groups = {choppy=2,oddly_breakable_by_hand=1}, -}) - -core.register_node("basenodes:jungleleaves", { - description = "Jungle Leaves", - drawtype = "allfaces_optional", - tiles = {"default_jungleleaves.png"}, - paramtype = "light", - is_ground_content = false, - groups = {snappy=3}, -}) - -core.register_node("basenodes:pine_tree", { - description = "Pine Tree Trunk", - tiles = {"default_pine_tree_top.png", "default_pine_tree_top.png", "default_pine_tree.png"}, - is_ground_content = false, - groups = {choppy=2,oddly_breakable_by_hand=1}, -}) - -core.register_node("basenodes:pine_needles", { - description = "Pine Needles", - drawtype = "allfaces_optional", - tiles = {"default_pine_needles.png"}, - paramtype = "light", - is_ground_content = false, - groups = {snappy=3}, -}) - -core.register_node("basenodes:water_source", { - description = "Water Source".."\n".. - "Swimmable, spreading, renewable liquid".."\n".. - "Drowning damage: 1", - drawtype = "liquid", - waving = 3, - tiles = {"default_water.png"..WATER_ALPHA}, - special_tiles = { - {name = "default_water.png"..WATER_ALPHA, backface_culling = false}, - {name = "default_water.png"..WATER_ALPHA, backface_culling = true}, - }, - use_texture_alpha = "blend", - paramtype = "light", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drowning = 1, - liquidtype = "source", - liquid_alternative_flowing = "basenodes:water_flowing", - liquid_alternative_source = "basenodes:water_source", - liquid_viscosity = WATER_VISC, - post_effect_color = {a = 64, r = 100, g = 100, b = 200}, - post_effect_color_shaded = true, - groups = {water = 3, liquid = 3}, -}) - -core.register_node("basenodes:water_flowing", { - description = "Flowing Water".."\n".. - "Swimmable, spreading, renewable liquid".."\n".. - "Drowning damage: 1", - drawtype = "flowingliquid", - waving = 3, - tiles = {"default_water_flowing.png"}, - special_tiles = { - {name = "default_water_flowing.png"..WATER_ALPHA, - backface_culling = false}, - {name = "default_water_flowing.png"..WATER_ALPHA, - backface_culling = false}, - }, - use_texture_alpha = "blend", - paramtype = "light", - paramtype2 = "flowingliquid", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drowning = 1, - liquidtype = "flowing", - liquid_alternative_flowing = "basenodes:water_flowing", - liquid_alternative_source = "basenodes:water_source", - liquid_viscosity = WATER_VISC, - post_effect_color = {a = 64, r = 100, g = 100, b = 200}, - post_effect_color_shaded = true, - groups = {water = 3, liquid = 3}, -}) - -core.register_node("basenodes:river_water_source", { - description = "River Water Source".."\n".. - "Swimmable, spreading, non-renewable liquid".."\n".. - "Drowning damage: 1", - drawtype = "liquid", - waving = 3, - tiles = { "default_river_water.png"..WATER_ALPHA }, - special_tiles = { - {name = "default_river_water.png"..WATER_ALPHA, backface_culling = false}, - {name = "default_river_water.png"..WATER_ALPHA, backface_culling = true}, - }, - use_texture_alpha = "blend", - paramtype = "light", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drowning = 1, - liquidtype = "source", - liquid_alternative_flowing = "basenodes:river_water_flowing", - liquid_alternative_source = "basenodes:river_water_source", - liquid_viscosity = 1, - liquid_renewable = false, - liquid_range = 2, - post_effect_color = {a = 103, r = 30, g = 76, b = 90}, - post_effect_color_shaded = true, - groups = {water = 3, liquid = 3, }, -}) - -core.register_node("basenodes:river_water_flowing", { - description = "Flowing River Water".."\n".. - "Swimmable, spreading, non-renewable liquid".."\n".. - "Drowning damage: 1", - drawtype = "flowingliquid", - waving = 3, - tiles = {"default_river_water_flowing.png"..WATER_ALPHA}, - special_tiles = { - {name = "default_river_water_flowing.png"..WATER_ALPHA, - backface_culling = false}, - {name = "default_river_water_flowing.png"..WATER_ALPHA, - backface_culling = false}, - }, - use_texture_alpha = "blend", - paramtype = "light", - paramtype2 = "flowingliquid", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drowning = 1, - liquidtype = "flowing", - liquid_alternative_flowing = "basenodes:river_water_flowing", - liquid_alternative_source = "basenodes:river_water_source", - liquid_viscosity = 1, - liquid_renewable = false, - liquid_range = 2, - post_effect_color = {a = 103, r = 30, g = 76, b = 90}, - post_effect_color_shaded = true, - groups = {water = 3, liquid = 3, }, -}) - -core.register_node("basenodes:lava_flowing", { - description = "Flowing Lava".."\n".. - "Swimmable, spreading, renewable liquid".."\n".. - "4 damage per second".."\n".. - "Drowning damage: 1", - drawtype = "flowingliquid", - tiles = {"default_lava_flowing.png"}, - special_tiles = { - {name="default_lava_flowing.png", backface_culling = false}, - {name="default_lava_flowing.png", backface_culling = false}, - }, - paramtype = "light", - light_source = core.LIGHT_MAX, - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drowning = 1, - damage_per_second = 4, - liquidtype = "flowing", - liquid_alternative_flowing = "basenodes:lava_flowing", - liquid_alternative_source = "basenodes:lava_source", - liquid_viscosity = LAVA_VISC, - post_effect_color = {a=192, r=255, g=64, b=0}, - groups = {lava=3, liquid=1}, -}) - -core.register_node("basenodes:lava_source", { - description = "Lava Source".."\n".. - "Swimmable, spreading, renewable liquid".."\n".. - "4 damage per second".."\n".. - "Drowning damage: 1", - drawtype = "liquid", - tiles = { "default_lava.png" }, - special_tiles = { - {name = "default_lava.png", backface_culling = false}, - {name = "default_lava.png", backface_culling = true}, - }, - paramtype = "light", - light_source = core.LIGHT_MAX, - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - drowning = 1, - damage_per_second = 4, - liquidtype = "source", - liquid_alternative_flowing = "basenodes:lava_flowing", - liquid_alternative_source = "basenodes:lava_source", - liquid_viscosity = LAVA_VISC, - post_effect_color = {a=192, r=255, g=64, b=0}, - groups = {lava=3, liquid=1}, -}) - -core.register_node("basenodes:cobble", { - description = "Cobblestone", - tiles ={"default_cobble.png"}, - is_ground_content = false, - groups = {cracky=3}, -}) - -core.register_node("basenodes:mossycobble", { - description = "Mossy Cobblestone", - tiles ={"default_mossycobble.png"}, - is_ground_content = false, - groups = {cracky=3}, -}) - -core.register_node("basenodes:apple", { - description = "Apple".."\n".. - "Punch: Eat (+2)", - drawtype = "plantlike", - tiles ={"default_apple.png"}, - inventory_image = "default_apple.png", - paramtype = "light", - is_ground_content = false, - sunlight_propagates = true, - walkable = false, - groups = {dig_immediate=3}, - - -- Make eatable because why not? - on_use = core.item_eat(2), -}) - -core.register_node("basenodes:ice", { - description = "Ice", - tiles ={"default_ice.png"}, - groups = {cracky=3}, -}) - --- The snow nodes intentionally have different tints to make them more --- distinguishable -core.register_node("basenodes:snow", { - description = "Snow Sheet", - tiles = {"basenodes_snow_sheet.png"}, - groups = {crumbly=3}, - walkable = false, - paramtype = "light", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - }, -}) - -core.register_node("basenodes:snowblock", { - description = "Snow Block", - tiles ={"default_snow.png"}, - groups = {crumbly=3}, -}) - - diff --git a/data/games/garage/mods/basenodes/mod.conf b/data/games/garage/mods/basenodes/mod.conf deleted file mode 100644 index 25024dc..0000000 --- a/data/games/garage/mods/basenodes/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = basenodes -description = Contains basic nodes for mapgen diff --git a/data/games/garage/mods/basenodes/textures/basenodes_dirt_with_grass_bottom.png b/data/games/garage/mods/basenodes/textures/basenodes_dirt_with_grass_bottom.png deleted file mode 100644 index 5e8fc41a951f6d48cb260110ef67048a5232361c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=4@sJoxwR!~g&Pv->O> zW_r%v7@j-#e=ksiwIs+d7)UcP9Li?f2&4i$T^vIy7){SyOE=Xm%DI@@Q_jol-E6SNMo~3SdG0E+&(98jni_FYfi1rHKjTg&i92D>cP$6n O!QkoY=d#Wzp$P!-!ae^0 diff --git a/data/games/garage/mods/basenodes/textures/basenodes_dirt_with_snow_bottom.png b/data/games/garage/mods/basenodes/textures/basenodes_dirt_with_snow_bottom.png deleted file mode 100644 index 447c94e9860cd8d7a8510ecf768141c4da33f952..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr*{C2iX7ZscdNaU;CTk z#T=dx1{NoYU;pFx3RD@K%2{p@w4?X!p19BJ8@=*3zbn`x(x~FIsZ0N@n3! b-WmGsS2s=H8>;FIbOVE@tDnm{r-UW|q%=ig diff --git a/data/games/garage/mods/basenodes/textures/basenodes_snow_sheet.png b/data/games/garage/mods/basenodes/textures/basenodes_snow_sheet.png deleted file mode 100644 index 455332093d1a834e621b648ac62cdf69976c17f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u1~+d`v3p`v6q*{Dq3d) z1tUCN978x{Sq~a=H7JNQJhXRL@ASK%a6{M1sk?-&|DnJ`i5u%eZ0>3Pw!5Qx$mE@M znjP!crJL#&%iK~xwS1;GJg1R)3n!CpmSW%S6I{Qs+|0-i?i*2naK z7Z&kkSSJ)Y65B_u_jaOd#Y*7eW6>22rXM_?J;DiV3KW!nHdFwMZ$X4zlh=q#lZ4*o zDk;`mf(uac6wkYE6aF>7EK2GB%!&t}&LQ_100000NkvXXu0mjfG{T9{ diff --git a/data/games/garage/mods/basenodes/textures/default_desert_stone.png b/data/games/garage/mods/basenodes/textures/default_desert_stone.png deleted file mode 100644 index 5126fb61ce84f5c023753a39ed47107c1e69e233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 584 zcmV-O0=NB%P)M=+sNIGj;8$$w_Zdtta= zL483iqEtDzUqH29K#NE*lT0*#LM_5>QG7rvt64mmPd2(>LB3=~o>Di*dSJ$PTfk~f zs#rXTMlii&M5tFgkxMhQT|b*pHpO*Xa5^W&bXbN(FR@%c%7SUgePh6BOU8Iz%!O^x zk9o3OKf7T2VISv`3_D$$dDmQFR2Of%AzfPX?P zbUZ26o{C4ZE5HB%0QE^kK~#7F4a(DDMFA85uybvj&$eyb+JBKY-vK~Sz;J@3Xolr@ zK?F%g6;;y>)3P1c(|rg+I^suTVLTB{x?Cy^nPfJX&lO~{h#;jBQwF1gnq;+B|8L1i zgRB5WH(R0HRNHB(Lza;)C|Iu_3<4@MjEu(igopZc(wRl-!@1c`Q45cRrLtPjHrw8= z#zuyneFkXbAg1#ExQ837MX#`fX(E4IN76@(tgORMhJ#bJkU3XYG1*R~BW;d?@v2@+ zkQX8mki)HU6(N_u-HC_$6ww!SyKfOni`9X7G!O8(O*lH~0`d)iG#_U>hjyHaBx-*H WxFrOtm=sh10000*fu~F01^m9M- zXSPF3PEMZO+?<;EUQW5 zc-Y7X1$-kHWVNE4c2wUgfksZy2uT{pGdC6gW!w>W2-w$F3wTuI^D1``Nc=`zArS>>U?@k31kX6VC_=)#W}e{G8_;BFi5|tiMgPp5hEo_bae4gfc+Ez3z4}BYUel9YZdGJQ2QH z{f_X6a7>V`?|cm?^!n*eK}%Jfx!6Q6X9Q{c`ab|@(f{2uO+;OjCz#0T0X7>WY2|ut zb3{Wz#g&Dq__1Uz2l&8+u<7la;s$xlz6vRC(z`XitW`Dy5#htNKMgbLnW>lW;YwvY z9TX?FAkfWf-!6Q^l(biy&gVWhipWe26Y^eDO7mUA@P`@=^~eHfMwV!byA=dF0$MKn z$Z1`lN@(wPBeX|)n{PvK;S;}6r#d=y9-dAICTXaJq3b7%NPZZ_!HZkk(b`$e3W~V; z;!so1@_RWIwktnza&fPa@N0h5kXqhXi!!sGv9y;Lac(5h&C0&wKW2~MnQ+w{S^xk5 M07*qoM6N<$f*ZVN_W%F@ diff --git a/data/games/garage/mods/basenodes/textures/default_grass.png b/data/games/garage/mods/basenodes/textures/default_grass.png deleted file mode 100644 index 3d6397186fbaaceb56eea5c2c314546f09016a67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 697 zcmV;q0!ICbP)l^t)Bw|+Aa?;hI|w<&kB=MGOsmJbTy3SC zm`gVDuG)4Mj$oW6m{?*n+K8RKani|YHZwx(>Z-{0LhemX(Kl5eL~)eoe(c~;07xMo z+tHK(WmjcuFyt0We7-CMbn(TT!90Va5UZPB$^kwX4^<(wWp(5D_*4yMq}+XelIL&c z)El0c4MwDsL+mmKsk1ji{J88FjtwSocTqeKR zMBn^$zMqFx(G!XS?k$%MgsKyAYs5S$mr%kXfmS<$-6#*j5PkT0rlE=BjNnPCmf6-Y zo1^4>)U#;X!!#i_yT5Dx`==P^7I6c&#iXQGs?$Bd8e`~~(faGJzxuk|&%Jzi|N4)O z%dIr^+y!9{#@IsGcJvr(Q`tU#eC#5hx(kMFSyp}5-6ng)jcfzEZkQ0^_`Ofl>nphw z+oRJcaNWS?lW8r0u6~oFWz;O=9X`WB)+)|pFt@nvWgHSO#gqcAtaV+BN!Xk~2Og!K zGL}u9vMw*rQ^U~B^$ITURl4xgFs#?&X|tO2&`aP@@9ZR#^Z2qs2$=@FlkZ>szIK^` zrpIyoDr^WAiQm;Iap<%)o|iWzTNeG#zx*eg>F<9ZUNG5Fg1-3fSgHxzBSOUUXp~aQ za94rJj5hE%cfi>7TCIx~QiQ36E2DvFol=*t$3hJG fj_32BDC_?LK=*Q2k?)<+00000NkvXXu0mjfB~n)> diff --git a/data/games/garage/mods/basenodes/textures/default_gravel.png b/data/games/garage/mods/basenodes/textures/default_gravel.png deleted file mode 100644 index 7e5ff616f05a9002e8e084ef353ea29f47651c55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-t{#qNx|%ATwFP1R9jmX`L;&i0s?`>n0`v$OxNultsk_^hn=w6y=3nfuPp_mq_N z&CT}G()^j3{IRk9m6i6?)cy%!8J++D0Io?yK~#7F70Sh-#V`~@!4t{8K|f|@=)b@Z zvmU4<;go}nZA{&`4%$wAM;<`9kVhWVk|&9Qp=CUcnd;p9Co~ThId@A;$uL_b$_yrJ zHrpKr*gN77YmS^0RJ(J+7sFvT%-Sp5;yx~ssb|4Mpv37p+fb<7N`|2Aq1e&l7St~= zg_uneQ$#Zx&s^YjY4pwn%}1%Ns?!CxAqATBa2jr?_0C@r3`PQGFBJI~H3kTo{elut P00000NkvXXu0mjf&JVwF diff --git a/data/games/garage/mods/basenodes/textures/default_junglegrass.png b/data/games/garage/mods/basenodes/textures/default_junglegrass.png deleted file mode 100644 index d64e33abce8cb5324f338f95d39842c1b6f5616d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?bWysG_@nDba)38gGlrUha zxTxy|lwvFi@(X5gcy=QV$jR_@aSY**Wj)Bq*rFiddhmD=V~OGcaqbgY42-|icS#mB zT1M~*Oei^B!aVO$OIw}RTsE($wDiLfrd4bqHuD;uR26Szi{G6zHQ{+s3G3+qP{R>+klHA7}B_R4<;!pnCxKfxpafM_aW;@6uPtbV{#uNOwTM zWV{Fl^P2QKwN3j0dxjia3=C>=9Usa7VNIuX+6Z(yl547fvneFlsQu-Y_5jPw8O|@E zUXR6g!%OYaaXr+XXf&vaJ36U_y25|NIQc8^A{W&g&?g;Hu4RV~0$a>HhHOmMRqX?I zs2&$jbPNHFa)aA7A$zQt;)15e~Ia;0mP!?2Uu}-^F*WWg$ zY~N-+39{D?0MfkB8SP8o0B5zLY#p>w`_lt(&tk25H9DAWy-t^3xkCde1AxuqrtWA* zrXSSD@>dqioF^l!W1QBSZ|C3+ZPn89QG3NW+QX%*ZTan?|ZFIgX+c?zpQ-o z)4#4`^}5Y;K6Qgivu3+y<)!D33}{sx>u`MqWvW01DyAflz5$ zK#0=yJU?(1HRrh?M8|R8)k^AxbwbG`O?3l7u490ly2(rIna0WC(9~Tni_39>rehAJ zYg^5VJ3xpCB@jTbz2CcaI}S`-Fv-~xmiSh`eR6O*yna9?=yzLBUwMZM_Tg*y(~+PQ zEmN)EYYkUe)%36`2?dzyS(X-(6NJ(B-l^^m#wVvGFIo-Hv2i;L3PDS>V;gYJxPsOX zzx>3KG@Wr|>SmIH%i(l7JlH!pCjdv5T?8dLnkI8LF7r)AGq=JhxOI<(>?t#RWKhfY^rZhZx9d)BcmoBr_YZ&|(!ed~Ho zw{P~o*#46ZM|iNL5TG&3Br>*E|2!M>X5epZ%;q!MYJ|1AKDg&B7Cd9}!QBDEpvWdr zDguC(u;t#)Rx|Pdprg@6&hu7GEQby+im+{mhW_qLFZ;eJvP=Q_KaD<9=P>kPF#rGn M07*qoM6N<$f(y}N3;+NC diff --git a/data/games/garage/mods/basenodes/textures/default_jungletree_top.png b/data/games/garage/mods/basenodes/textures/default_jungletree_top.png deleted file mode 100644 index e80de8a69ff4537e1d01388ca82186cc1a4b760b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 714 zcmV;*0yX`KP)x@d^Rd?TN)h-bdRysL@mQK#Ru-qg0|rE$+Eq(Ix{Wg`zry?2yA`cu(zsTwn2S* zsGd??6Z<8#EsX=o2|kMmeI3~`zzxucD*Xn;-VE)pIsU)P^8fzw(x46HiQm^}{R$BJ zvz?4Cw;X*_pf&mnR!tbKHkMkO#A?evzsybiJ-Cc%J6G+vwNXaSH*W=w{a~gT(>lr< z9G8>M|LNE`a$Sa7iLU|ABo{`9*KC8QJ}$2*RE@3TwqC+$z4 z;()V~Dv!8cHk4HwazPeMWx|>nxwB%P6xRjMk3RBn@U|qxj7%}qe`Oi|P0<}${>O(` zx{AWTUmv9|JLzs?FHjQy-3!k=5&ivp6NJKPc9}<5>6J8^Fhyk%-vBqzQ=Tlrl~DUK z02U;>I{I@KqHxiM-|=(z7NrMUrnLnN71w?ByCf|N)}CqOwgOj-#WW`b%mrd{>sltI wb=r}#vXo!01b+PJRUSN7_y6YSA6nN008DC23aufI_5c6?07*qoM6N<$f-JjNZvX%Q diff --git a/data/games/garage/mods/basenodes/textures/default_lava.png b/data/games/garage/mods/basenodes/textures/default_lava.png deleted file mode 100644 index a4cf649f142ae0e8d7519390a0950ee2bd131b23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBE)Z6J!|v8#DYr!_Zr~ zWED_6+SA1`ghQ4wfMNZA20Q%+4h(y^pM)`7SpSrb;nDt=Q4ELv{)l6E{Qp-JL&E-l zK@1Nze|BS7p#RU2VZr);t_%$ue?~Ge?SERy!1RCV1P1O^jV%n?dm2I*_Wggzz}Kz% UPGG5|70?<6Pgg&ebxsLQ0Fos<3;+NC diff --git a/data/games/garage/mods/basenodes/textures/default_lava_flowing.png b/data/games/garage/mods/basenodes/textures/default_lava_flowing.png deleted file mode 100644 index 07066a6e3911b347a77d3ecd74d93b3221f1fc96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|N}eu`Ar*|tGZYSgI6vdze@TUA o4YRkV6PC=flXCOY=xq~Xh;|nhP@5CO22{=9>FVdQ&MBb@0JAq2wEzGB diff --git a/data/games/garage/mods/basenodes/textures/default_leaves.png b/data/games/garage/mods/basenodes/textures/default_leaves.png deleted file mode 100644 index c0475d4d247346bbf4a20522b143cd281828cef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 883 zcmV-(1C0EMP)1uOZdd1lB%%XO z1$$iD^|3~^@f4=6=2Ed9q6ug_g1YznwfHPkb?ejRABCzl4mk8jhGrg^ioZ4(-rT6l zMpLncWJ=>61t(C|X1j*ZB@tURRJ_tqdKD^|b*p$ZO*LDA&HuG)=sMJFa?^R*Mp4{G zY{sViF68Ss6rFIYdACzVGfu2!thwGq>n_MEbrOH(hVgS~^ad=vg`7SV?sBMWL%t$Y z4nkw7e4SlIEg33`L(NXu_Cu)(tFjfD@F@NkQ6G;g@jP9{8w@q=O4i(K)PKvs8Xz*9 zqT(r!LKAj{CT;3Go=*EolwX&oz#_CP^+Cykn`K|D&A+0=7ejp)4T94sJZ7q7+KVsh z)|$_0syu`Wsx#?2>Y;otO|2U}${$7~p1E}TpEeHvX>#H3LI!Wb(1}coJVO=pUKO{c zGI}sb>rp2o*I?;8)N}+j9JDJug=pMwGIR?qel&IL_jIj&pULR)Z1o;bqU9heYfD$C z#jWrRG#!BKDYWFdUmd%0=s)9y*sPP{HHKDwLNhnK3eSJ7v>k$`?aA`TTuN_2fewSl zoem9O^DucEHviwv&?Priu0tdDAkb=IUXNmfp0Ahd)O5vs z&jGi(_BknAaEZ#Mh(>PNS@zbYt}~VrE0Ps%_7Wa;Y4DV(x*nf84<^%SEi1On6c|AD z+YHS=^N!AnXI!XpOs zZuD#5vYqHGn!V^#xXnr7QoADkF6CCZ6q`d;t4xaKZ1RO2vN)q=qYZzvsjLP>Mltw` zQds*Yz}ja~vYNkTz!iewqj_5XBwG~|S@PA`$!hyXdUlcJ%xX)WMxbkdrpyc!9ftfG zr+keL`FgO(GHBWi+0}-kon8x`o6*ar%2uPXt0_vYMdb;P{sqYCHbknK2}l3{002ov JPDHLkV1mTLr>+11 diff --git a/data/games/garage/mods/basenodes/textures/default_mossycobble.png b/data/games/garage/mods/basenodes/textures/default_mossycobble.png deleted file mode 100644 index 69585e37b7d32e78afde08bac7ad714bf9eaeb1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 574 zcmV-E0>S->P)+qrL8R4Ub%<42)TfF+;Lvsf&)-ERB+ zKHTH+xKgRCRx6{?Xfl~*vl)!JTn-5Uold7%EV5`c+G@3^UMiIu4u|LS88{RQRjbwG z@i?E)!H+{mhQH-GMK{QaJ^n13QYjk205CFy(r}*ip^&8dc884 z4CN3f&Th9u003woj|U?wYG5e~8)F?U$IpIa+gN*ltZjs~-LMQBw}0d5n>)$fYWz9Ypz?Ny zWJ7_dNc7Lk5qod`9sj>X#r+0a_ctlt%Wye%zn$cU{eB;zP>8Wva7joguvSuxm6AnT zBZ|4XInpu~OxI*`4Bj97mQ7CU6q3UT8v-eD9r2w!*Z=yB;@Jil1oa3Bl8Ai2$XJLe zWOfq>hr`@q=krM{E-sQ9H&A)DNyz51)O@fBt)HO8b^)a)8{Am6bm&Qwq__$(p^av7 zqDo6kOFSw6G5GQycNEhaq^Qbxa&nS-Z}wpPQ{;L(>mo78P}q@x#{Ko*dMh1kk~ch9 zIp?>Y>(4jg{#PRR?;^yMN*F4#H@j4OwT*+XCq{-xTkJdLWfcU0Z)O-EoK(@hzr&e* zXzdum8aAjg6kLl@Y@(2BlV_Ui3s)gB$4}Y*pYrQyAc$v9@w|DL!B~&Dj zRw(m#nX!>~FmzB6#$rlCnUe$kB}PS4)gQ#Y(_&aTxyfv ij-qtA#{yVIm%anv#9dWKp^SV00000(+G4G4IFYm2a&8 z=Nv`;`2DxP-u<)D?#Bfwm#gqHP2lv`>l8(AA-CGNqeA6gcQ#SKKZ`}@)BVrZUd?N(StpLU>f6A9@ZE(CiF2McN5^7|K_lJJ@EfeSsYktrH#J79+O#= z(ht*iwger1{{CfP3#k*)ZkFB!N-bxpV?cQ4HIH?NFEJQ0KD0dYnJzNK8c=B2+&o$M z`tCz3-unT8%LSB$ou0yB;X@;?5=YFYi8TwpVyNmMsm4F&7PnmfSN=xY`vS<_(QaeQ3o) zYUT3nf1j<~RxJlM$Cu_4>RSkCEOrvLGkjF)qm%o4Qb zUX$uP&#!xQ;tan->llR(ZhhFze&`^Vc+{oIZTID-Y`GF9(4n6x;=VXr0cf~~6GOrJ WEdIP%9kM_NFnGH9xvX+55Jk6%V+=E68ENvE*=&mP&F!#M4h(n@7LUUm0$nHngV!dnxY))xaC1K_*{D}-|AST6 zy}WDZ;H}-a2FUs|)kvZN{FesZ%OswVMkqK%@Z?g?OawO!ps2e3TphoxPG2`@#)Cr) z&f%snzMXS24)lm$6N`4RlT;Ao(tM;m-lc}%ENbD_k=S!`8)?Ni#d(ra#Z*%fi%{ZlNq&fjq{4hkZ= zX-PGCJ$YK*@x?LC8=P}{|GhbXTZbgf4>9;JmsDTh5+6Eyi5y%9lZJA>ma6M);6NteSMB(klaM1{7u9TFmHCq~kzIFF ms`*c&pqaINDKt>3-^fpLin5Z$9Ygj200005!<}#v)Vg w$kWUx^*~2SQY0flth8BOmIqR%9V3I4yVK6V2o*+ zMoL*q+3pS^<$PJ!TI(2^Mykrb7TLrl^&!@5LWwp+tZqS7DR%uBX zx{rjEOadiEFd;SfZOTT6^0v$gIKhG#~v150269L^)HwB#C7xZcA!PBBNN##%xJ#o9z7cD;+b+xO sy`QEDiE$nRyu7^NncyuSk4NFVdQ&MBb@0H{zsTmS$7 diff --git a/data/games/garage/mods/basenodes/textures/default_snow_side.png b/data/games/garage/mods/basenodes/textures/default_snow_side.png deleted file mode 100644 index f34d10991fcb11806073b212d444804e45052b9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uK&J$`2YX^pEnPH0={84 zje!(PNswPKP>{hvYvmUp-`vy1F{FYqSzyMNB-ZAR02dbK$w9}t+CsBpgC%9AuZ=h= vAfa~Q$bltl8zv;q|F?cW&;P~-4km`ikGj$qmTwIK8o}V{>gTe~DWM4f=`S=) diff --git a/data/games/garage/mods/basenodes/textures/default_stone.png b/data/games/garage/mods/basenodes/textures/default_stone.png deleted file mode 100644 index 763b4396a9a4a38f079cfc8748791ae4d6955a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 313 zcmV-90mlA`P)j2QOYrA5t_Pxy)aKB zDfnb%G4+#W1MMeihHeE&B%jGI(l27Wv6$x>H$dYOg_ZN_UrUN<3P)nY)7S|D3{WnVWw+u@f023w!Se!lZxP3Pr!Agw@Mz zYI~ko@-=H}9k6h=|`)pdtr~ zPOBSHJ{~zhrS9+9u2Ns$tCBo~e0*qw-wuQ{H9JI_1HPWuJ4|hFtu4?*Ru{%Sxk8Fe zEI8yj{yMv0V}BY-EW;QUlf+|NsRE|J%MXg`Rlg!{8u?B`fiRqcVl;9wgtG4rHNmH8 zX!!cf3cJBD&ag`i`Pt?8@J>@>T@budsZ-wQ2A{prdJ@l5siZiPo%IA3@BWQBY<&1( zg6wba(_ga{iVQI-n4p#mNu<)WC1T&z ztpJx$8m)~8{_`o(YRvrC>C!gr40fk6)?`{tjnL*iz1YWBlmO}(Hme02B62j_A^S9$ z^2aYHh@v;+LtUH9hO3)_G1W}jiai`@1ur+6aWRFAAt!7vUinh`|6-}rn_AvK))fg4 zq*~S#M~7wvou*7UyGkkyFfW@YX;0vx)|=NcPrICH zNl%kc-jCi%n&h3xCa4-C$C*!0WvMfU_T5fxjt~+h4Lwpy-V?$&A4`$5-!SqszChY5 zeL16ZuyFO)qdH_l0ufO~ScmRiOI>FCUd4 tKpxn*C7L5BhA4fg&_B=H{eeLg{{!$!dKC+%@o@kE002ovPDHLkV1gz|HE#d_ diff --git a/data/games/garage/mods/basenodes/textures/default_tree_top.png b/data/games/garage/mods/basenodes/textures/default_tree_top.png deleted file mode 100644 index d1a4fa7042a17a55d7d3cdab9e3e078d66f4246b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Wu7jMAr*|t1_4u)I2}zzeykL9 z;ox=fThW`;u#u&XC8X^FgZQD=4H*p+W^^>L*_bg1mhomBb3Ty~9y&+L;H+8#^RgiQ zXwI5CgAn1vB|>GqGdR}q#@h(+h3yEKwqB^NI^fczc}n*4N(5K%2RTPQa?ViTWMsHj Xu}=4>SHT3J3m80I{an^LB{Ts5I=nSk diff --git a/data/games/garage/mods/basenodes/textures/default_water.png b/data/games/garage/mods/basenodes/textures/default_water.png deleted file mode 100644 index 3e385ae8bd7c49eaf366af8e23a33eba5f7f990e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!cYsfbtGZK`1_)(qI_GG*=4iR) zYP;rZyX9%S15v(?2M`tLdKMb`ml+0D7zb4v2UnT|SDA!VnFd#zhE|(})|iFY*u*s3 z#+5XH1 zldoK_u6TOC#ogDynAte^Sf;uD_Z_`^vuFLhJJn+SdPzxk1(23fT|PoE)6y2%WQwDI4Wlq@lI(IdTYw_a|??LL-&LC>}C7o+JL4o Nc)I$ztaD0e0ss%}Admn6 diff --git a/data/games/garage/mods/basenodes/textures/dirt_with_grass/default_grass.png b/data/games/garage/mods/basenodes/textures/dirt_with_grass/default_grass.png deleted file mode 100644 index 47e50e836871333272423b67986ee67b68d5cd76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 760 zcmVeg`wlY&D$!VFE$1S)k`(Y0QVoN4W0eAVh*v{OjDBgvFs%~EBFt~o3yBdztq z%$%PYQzJc*#}e0@(TbJeE%xy0A-QxAl4O`E25g~)eSE>qLa`whs%m^0>4!7IcCxRx qQ)~9PA~QBQ7&%c}k9Evm4*CxvHBIud(Nban00009;n+h7p>B+Crpq|D58fu5lEZimbKn4c+**;X~vp`T%QbrgsAONU7ds;3&y zwW*tqw?BA^p_}l9OEu3tKHrlB9xrWQG5$5z7b$Y{YRn{OP!5M=Pl&^tFE8*N#qI4g zT{-f2TaY~-sp}Cpw0W+t$d3&|Es^Wp24xGX=K;@hdGr0(X-wm!CoB`6ou%wvGz+7V zGHogImSnkRx!)771JqD~bfj@k3_2rm%usehD~T^GHnGn`S|LMaASFx_q$Ym6XsPQS zd7s{po5U;x%`k9#m(%M3#}B!`t9k2#JxSLzlqn%(n~F?L*7T5W@&p z7dh2wVz*o1YLBV=Xju$JVf5S3%Op|MBHCf)$G?#2%vi z8Rwq1hQNt<^YtC|G+6vTu14xsv0ne5@Fc7@F->8y2^_|wCW`iy znae}k^8FA0QkNrt{d0rigWanetZ%=2jk+6A-hgGsEz15MZQ&U5QxP^Jj{x3_1~WpHo0=l77L+d8=`y98+tt+Z!O|s5bQBn_ zI5%ZwXJ+n@W9n;M;l{}jbHFid+kqPrE7*Ny=CdgzEf8d2=v}S6Anf$YeIVOBUHx3v IIVCg!0QUPb*#H0l diff --git a/data/games/garage/mods/basetools/textures/basetools_elementalsword.png b/data/games/garage/mods/basetools/textures/basetools_elementalsword.png deleted file mode 100644 index d007217ee2bde93134c257926f4dfc6c7651a673..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X5|9E{-7; zjL8c)f2?P7vS*qvw076>Pxa@1zr6f^@`9?vZT}s3nG(N08cICnZ=ULt+t`Ut@ z0;@QinCyAgRnOhs?HMSWy_)H|^8rJFs{(ofrgFRsTt2OSVj93d%fgO#L5r(0(BkN# Uk8HaZSA%T!boFyt=akR{0NLL<9smFU diff --git a/data/games/garage/mods/basetools/textures/basetools_firesword.png b/data/games/garage/mods/basetools/textures/basetools_firesword.png deleted file mode 100644 index eca999ba16bc16eff8fed9471c0cf2d431c861b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X9tSE{-7; zjL8c)f2?P7JhJ-T%0Kg8ai&aIAhjlO!)mt{=ESQUyu6l6cDe+&h^}B?H_Jfd!{vgY zM=Y-t9ZT1&`knGY$X% diff --git a/data/games/garage/mods/basetools/textures/basetools_healdagger.png b/data/games/garage/mods/basetools/textures/basetools_healdagger.png deleted file mode 100644 index 3e6eb9cd098a5acabe10bacb65ddf84521d735d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1XAIiE{-7; zjL8bpJxn`=BsrAUa2%TPHK*;rsQe+RD0#EPq0Xic*k>uNaj@mM%Hr5KziqORdH_G? zs^r|z2UQ#vY>T8+844Kr`TKY6vRWXQFVdQ&MBb@ E01mS(!vFvP diff --git a/data/games/garage/mods/basetools/textures/basetools_healsword.png b/data/games/garage/mods/basetools/textures/basetools_healsword.png deleted file mode 100644 index f93fddfb26c6815faf9a3a5c2aab13dbd25ef1e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1XA&yE{-7; zjL8c)CumP>R7eUvUuAaqe;5A*$EK`~wu9@W#Q0i5l})zT<*1!iou#zK!ItAHi(}*b zw#h>30sNe+l5;~JRB>3aEs|1YC}8C0@87k{YJptR%hbR(q;`N0_&w#C2m;V*2Q{m1Hr?y@DU_}5cVm6N zt;qf6dVh`I7c*ubxMkA0)pAj;RDSbz$6E!==LOx_x2=1n46?-2)z4*}Q$iB}FRV2i diff --git a/data/games/garage/mods/basetools/textures/basetools_mesepick_no_delay.png b/data/games/garage/mods/basetools/textures/basetools_mesepick_no_delay.png deleted file mode 100644 index 5a7db7e0a2e72eef50b28da4952e27014eb68d94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`1)eUBAr`0CPCUqYz<`JO>szU% z)?cpre}6G6^8C@324Ss5OAKGEd_18sG@Y$`Cfib$&wtuP16p($d70oH5Ka&ylTS4 X@IBwOF+60_8<1I^u6{1-oD!M(LF2>af}lq&H<+IY xnaQoNx)#=|Ve9a6*Dk9CavalNC@d0WV0d~^bDqqt={G=Dc)I$ztaD0e0syW5FT?-< diff --git a/data/games/garage/mods/basetools/textures/basetools_steelpick.png b/data/games/garage/mods/basetools/textures/basetools_steelpick.png deleted file mode 100644 index bc02aac3e45d02f0335309aecbebadbc068d1f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X3ZME{-7; zjC1=AayA6;9IYzlE#%dI_wYc|>??{>_}k<@OIP_+^s4zQ+I&ygwWn@YWZJ3+cecOJ z2q{>@ZGEbbQTf!m-mRQdcx#sCxUKPhoO|F~f_GezXxfy;x^kf)dpuqJT-G@yGywpe CKwqUoc&j zEwam4d^(SIcw*tx2o& zS8e?@>9>tQp{hvDhpqXH#@S68g4c>mx>FFVdQ&MBb@0EeMQ@c;k- diff --git a/data/games/garage/mods/basetools/textures/basetools_steelpick_l2.png b/data/games/garage/mods/basetools/textures/basetools_steelpick_l2.png deleted file mode 100644 index 011df458460115f5b804abbfdb5c3fdb37c16604..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X5|9E{-7; zjJ!gIGHW`BRKyy3P&_BmVP Wq-pLGd8F@wZ1!~Zb6Mw<&;$U7h(Tij diff --git a/data/games/garage/mods/basetools/textures/basetools_steelshears.png b/data/games/garage/mods/basetools/textures/basetools_steelshears.png deleted file mode 100644 index 04c86c3706021dc7b3ed35b19aead2c14823af3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?bWsqg`@bEZ%=Jp=fS?83{1OTuSC13ym diff --git a/data/games/garage/mods/basetools/textures/basetools_steelsword.png b/data/games/garage/mods/basetools/textures/basetools_steelsword.png deleted file mode 100644 index 9909365c32b5646276532b73a63be841f650e478..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X2;6E{-7; zjL8c)KQu5Vg}%SPzy44Qrvn@3Dn%)_-B}S90%5%uHe_B_yA-oX^AOjS<^W#-ksp~B znuSbXCoHhK7RI`+y&+j))x&>^5AN>TWwk)=(j_tGUIvCo*8&VG?><}%vdh!e&t;uc GLK6T5Up65C diff --git a/data/games/garage/mods/basetools/textures/basetools_stoneaxe.png b/data/games/garage/mods/basetools/textures/basetools_stoneaxe.png deleted file mode 100644 index a374c547d7570d417f66b234b1b14811f9c9eb32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1XAXnE{-7; zjL8xf7cO3Oob~F@pBe?vEm;N%j{E_dC#!^ngdS9NToTA${bBRNmU`05Zzc)z4*}Q$iB}-NGee diff --git a/data/games/garage/mods/basetools/textures/basetools_stonepick.png b/data/games/garage/mods/basetools/textures/basetools_stonepick.png deleted file mode 100644 index d9156ee3a230e0d4a462fe73dbe4b4b50e9f3b48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJe}GSjE0A_l;*7Ob$<583G-=X` zk2k&mg&0eM{DK)Ap4~_Ta;!XE978H@<(_fmV^H8=c3k@B|Jks|snS)q6%%>0^*uJJ yW-54vdgOY(_%2=Bnwtg8<7nW~P>e`r4xDrw!7i4^4b`yZFX)QO&3NcLK6Yw_Ll@q$|3>=2*ZX zhDbJz@Anv=?rgRYIDO|a1Aiw+fzjf`2YS}5&z4&LOn*>x%V&qHQNgFz+d@wriR&!V zN?4zq`ntvFe{r)+UFY-F8Z92r_VL-se-_|VcacBvzPe`446cU5h3i!`AFsN2xaI-3 YYU{bX+m9}C1Ui|))78&qol`;+03(N5%m4rY diff --git a/data/games/garage/mods/basetools/textures/basetools_stoneshovel.png b/data/games/garage/mods/basetools/textures/basetools_stoneshovel.png deleted file mode 100644 index 3c1bb48cb58e1a8f3f75ac8aa05ad0a6d7377d01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X9+XE{-7; zjL8d(I$9Z%LZ>SL31t%jmJ_RX@7~RMGhsDTAbYrPMDt`J^$Ct$Sq2Lhz6!j`!4TvN Yv`1;D4ww9KRbh~Ep00i_>zopr0GYZW*8l(j diff --git a/data/games/garage/mods/basetools/textures/basetools_stonesword.png b/data/games/garage/mods/basetools/textures/basetools_stonesword.png deleted file mode 100644 index 6f3e94cda2f7dc43247258e43ebb8e0558701343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X3ZME{-7; zjL8c)KQu5VgSv%OOR=TmUa;{2z=n!G*dH4kxJaSi}-8|Sx87E%x3=UkPX8~Wk3qXpX{sS|BK*yoqq+St5$^{Sz&A!m!i kv4xC08&(}y*FVdQ&MBb@0Ik49DgXcg diff --git a/data/games/garage/mods/basetools/textures/basetools_titaniumsword.png b/data/games/garage/mods/basetools/textures/basetools_titaniumsword.png deleted file mode 100644 index 55e22c7d5d08c6c1a1d365c01eda7863456566ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X7`%E{-7; zjL8c)1)3O>LZu}nR;*aTAgQvVEkokXs>Fv55vESf>(=RI>IEh~WPIhgLXAUc>Q)^~ zhi?-WSOv%}Y;Q8^DUt~L%%tqMEMyAfsx+XT44$rj JF6*2UngFbsIynFU diff --git a/data/games/garage/mods/basetools/textures/basetools_usessword.png b/data/games/garage/mods/basetools/textures/basetools_usessword.png deleted file mode 100644 index 0eaf4cf380442e716dff8d4ef17805df912a2235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`KAtX)Ar*|t3#>1QB>v?;oRX>c z;qs67OO9}wHN>1PV0JTo+#$EgL^*rW^38^fKE@N&;)~a;@k%SPtIas&~43p@G@z}N1(Y3p00i_>zopr0I(e|*Z=?k diff --git a/data/games/garage/mods/basetools/textures/basetools_woodaxe.png b/data/games/garage/mods/basetools/textures/basetools_woodaxe.png deleted file mode 100644 index 4015e910f8ee3e85cef8923ba061887f7c3cb4cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X6mQE{-7; zjL8xf0S}ft&UzIQEvn$zlx3mh#UEqJ`E5dS=VT%E%vBpbdR8qHWMGK1ld#t0E_@F% N!PC{xWt~$(69Dfd9u5Ei diff --git a/data/games/garage/mods/basetools/textures/basetools_wooddagger.png b/data/games/garage/mods/basetools/textures/basetools_wooddagger.png deleted file mode 100644 index 6e5ab0fd6fe684ec4821cc24631a2a5c3b3d4f93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X2#3E{-7; zjL8dxC0J)Etr2jE5Nrv2u>9eYBc1-tF|skHAt-o5tYDj@vZ8NmsG=8tfYc(X gbE*p%Uu8%!GAvsvIJwEim=$EEr>mdKI;Vst0D%W2{r~^~ diff --git a/data/games/garage/mods/basetools/textures/basetools_woodpick.png b/data/games/garage/mods/basetools/textures/basetools_woodpick.png deleted file mode 100644 index 15c61f408a469d78566a0abd666ff8d9c2f5ea54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJPk>K|E0A_l;*7ObDe%)!;ykz$ z$Y(4G@(X5gcy=QV$T9bHaSW-rm3!hKCxZhIlcVY1?=_V&O_ORll>5@0kN$R6^PTy# sW5Ffs$!wzcLfDS~Tgh|lT-jT8tEUX{oiANWfkrTRy85}Sb4q9e00WXNGynhq diff --git a/data/games/garage/mods/basetools/textures/basetools_woodshears.png b/data/games/garage/mods/basetools/textures/basetools_woodshears.png deleted file mode 100644 index 4ff92fd7cb24dd214e08b6a6dd34d9e85bc5be8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VWox&y^WFeX7Ba`PXnddE$ z=PhNaB9QAPk?$jy>m{1&C6?nXBkq10`lF2<4|zhDN3XE)M-oCr@B$B+uf zWCzBcCMJQl37jnlB_18)Nb8)Y?$IF8V|-d7+L7mADyP#kg|-r=#YK`HY0}J(XR;VH z2Y!=cj&Q4zj&SHHESI{mh5KfvK=RH@3(S_OF4)Duz-`9Ak@2}$1<(!#Pgg&ebxsLQ E0P9gca{vGU diff --git a/data/games/garage/mods/basetools/textures/basetools_woodshovel.png b/data/games/garage/mods/basetools/textures/basetools_woodshovel.png deleted file mode 100644 index 6cc52f8a1607e0ed86566e19301d168eb0dada77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X5O>E{-7; zjL8d(3W6TBC?tg*zqRUs;Ko&gQXEVvS6S<%SV9h8b@W)&)Ba1QB>v?;oRX>c z;qs67OO9}wHN>1PU~Ze5*1{&B7X7(?h1w+3#Wy_s?UR{iq$%{ik-cPc{MIT3X{JLi lma^+4J$owj5B#+TS|IZ$bvJL;O>>~>44$rjF6*2UngEbEFBkv- diff --git a/data/games/garage/mods/beds/README.txt b/data/games/garage/mods/beds/README.txt new file mode 100644 index 0000000..5c452da --- /dev/null +++ b/data/games/garage/mods/beds/README.txt @@ -0,0 +1,30 @@ +Minetest Game mod: beds +======================= +See license.txt for license information. + +Authors of source code +---------------------- +Originally by BlockMen (MIT) +Various Minetest Game developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +BlockMen (CC BY-SA 3.0) + All textures unless otherwise noted + +TumeniNodes (CC BY-SA 3.0) + beds_bed_under.png + +This mod adds a bed which allows players to skip the night. +To sleep, right click on the bed. If playing in singleplayer mode the night gets skipped +immediately. If playing multiplayer you get shown how many other players are in bed too, +if all players are sleeping the night gets skipped. The night skip can be forced if more +than half of the players are lying in bed and use this option. + +Another feature is a controlled respawning. If you have slept in bed (not just lying in +it) your respawn point is set to the beds location and you will respawn there after +death. +You can disable the respawn at beds by setting "enable_bed_respawn = false" in +minetest.conf. +You can disable the night skip feature by setting "enable_bed_night_skip = false" in +minetest.conf or by using the /set command in-game. diff --git a/data/games/garage/mods/beds/api.lua b/data/games/garage/mods/beds/api.lua new file mode 100644 index 0000000..2214465 --- /dev/null +++ b/data/games/garage/mods/beds/api.lua @@ -0,0 +1,204 @@ +-- Removes a node without calling on on_destruct() +-- We use this to mess with bed nodes without causing unwanted recursion. +local function remove_no_destruct(pos) + minetest.swap_node(pos, {name = "air"}) + minetest.remove_node(pos) -- Now clear the meta + minetest.check_for_falling(pos) +end + +--- returns the position of the other bed half (or nil on failure) +local function get_other_bed_pos(pos, n) + local node = core.get_node(pos) + local dir = core.facedir_to_dir(node.param2) + if not dir then + return -- There are 255 possible param2 values. Ignore bad ones. + end + local other + if n == 2 then + other = vector.subtract(pos, dir) + elseif n == 1 then + other = vector.add(pos, dir) + else + return nil + end + + local onode = core.get_node(other) + if onode.param2 == node.param2 and core.get_item_group(onode.name, "bed") ~= 0 then + return other + end + return nil +end + +local function destruct_bed(pos, n) + local other = get_other_bed_pos(pos, n) + if other then + remove_no_destruct(other) + beds.remove_spawns_at(other) + end + beds.remove_spawns_at(pos) +end + +function beds.register_bed(name, def) + minetest.register_node(name .. "_bottom", { + description = def.description, + inventory_image = def.inventory_image, + wield_image = def.wield_image, + drawtype = "nodebox", + tiles = def.tiles.bottom, + use_texture_alpha = "clip", + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + stack_max = 1, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 1}, + sounds = def.sounds or default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = def.nodebox.bottom, + }, + selection_box = { + type = "fixed", + fixed = def.selectionbox, + }, + + 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 + + local pos + if udef and udef.buildable_to then + pos = under + else + pos = pointed_thing.above + end + + local player_name = placer and placer:get_player_name() or "" + + if minetest.is_protected(pos, player_name) and + not minetest.check_player_privs(player_name, "protection_bypass") then + minetest.record_protection_violation(pos, player_name) + return itemstack + end + + local node_def = minetest.registered_nodes[minetest.get_node(pos).name] + if not node_def or not node_def.buildable_to then + return itemstack + end + + local dir = placer and placer:get_look_dir() and + minetest.dir_to_facedir(placer:get_look_dir()) or 0 + local botpos = vector.add(pos, minetest.facedir_to_dir(dir)) + + if minetest.is_protected(botpos, player_name) and + not minetest.check_player_privs(player_name, "protection_bypass") then + minetest.record_protection_violation(botpos, player_name) + return itemstack + end + + local botdef = minetest.registered_nodes[minetest.get_node(botpos).name] + if not botdef or not botdef.buildable_to then + return itemstack + end + + minetest.set_node(pos, {name = name .. "_bottom", param2 = dir}) + minetest.set_node(botpos, {name = name .. "_top", param2 = dir}) + + if not minetest.is_creative_enabled(player_name) then + itemstack:take_item() + end + return itemstack + end, + + on_destruct = function(pos) + destruct_bed(pos, 1) + end, + + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + beds.on_rightclick(pos, clicker) + return itemstack + end, + + on_rotate = function(pos, node, user, _, new_param2) + local dir = minetest.facedir_to_dir(node.param2) + if not dir then + return false + end + -- old position of the top node + local p = vector.add(pos, dir) + local node2 = minetest.get_node_or_nil(p) + if not node2 or minetest.get_item_group(node2.name, "bed") ~= 2 or + node.param2 ~= node2.param2 then + return false + end + if minetest.is_protected(p, user:get_player_name()) then + minetest.record_protection_violation(p, user:get_player_name()) + return false + end + if new_param2 % 32 > 3 then + return false + end + -- new position of the top node + local newp = vector.add(pos, minetest.facedir_to_dir(new_param2)) + local node3 = minetest.get_node_or_nil(newp) + local node_def = node3 and minetest.registered_nodes[node3.name] + if not node_def or not node_def.buildable_to then + return false + end + if minetest.is_protected(newp, user:get_player_name()) then + minetest.record_protection_violation(newp, user:get_player_name()) + return false + end + node.param2 = new_param2 + remove_no_destruct(p) + minetest.set_node(pos, node) + minetest.set_node(newp, {name = name .. "_top", param2 = new_param2}) + return true + end, + can_dig = function(pos, player) + return beds.can_dig(pos) + end, + }) + + minetest.register_node(name .. "_top", { + drawtype = "nodebox", + tiles = def.tiles.top, + use_texture_alpha = "clip", + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 2, + not_in_creative_inventory = 1}, + sounds = def.sounds or default.node_sound_wood_defaults(), + drop = "", + node_box = { + type = "fixed", + fixed = def.nodebox.top, + }, + selection_box = { + type = "fixed", + -- Small selection box to allow digging stray top nodes + fixed = {-0.3, -0.3, -0.3, 0.3, -0.1, 0.3}, + }, + on_destruct = function(pos) + destruct_bed(pos, 2) + end, + can_dig = function(pos, player) + local other = get_other_bed_pos(pos, 2) + return (not other) or beds.can_dig(other) + end, + }) + + minetest.register_alias(name, name .. "_bottom") + + minetest.register_craft({ + output = name, + recipe = def.recipe + }) +end diff --git a/data/games/garage/mods/beds/beds.lua b/data/games/garage/mods/beds/beds.lua new file mode 100644 index 0000000..e905107 --- /dev/null +++ b/data/games/garage/mods/beds/beds.lua @@ -0,0 +1,109 @@ +-- beds/beds.lua + +-- support for MT game translation. +local S = beds.get_translator + +-- Fancy shaped bed + +beds.register_bed("beds:fancy_bed", { + description = S("Fancy Bed"), + inventory_image = "beds_bed_fancy.png", + wield_image = "beds_bed_fancy.png", + tiles = { + bottom = { + "beds_bed_top1.png", + "beds_bed_under.png", + "beds_bed_side1.png", + "beds_bed_side1.png^[transformFX", + "beds_bed_foot.png", + "beds_bed_foot.png", + }, + top = { + "beds_bed_top2.png", + "beds_bed_under.png", + "beds_bed_side2.png", + "beds_bed_side2.png^[transformFX", + "beds_bed_head.png", + "beds_bed_head.png", + } + }, + nodebox = { + bottom = { + {-0.5, -0.5, -0.5, -0.375, -0.065, -0.4375}, + {0.375, -0.5, -0.5, 0.5, -0.065, -0.4375}, + {-0.5, -0.375, -0.5, 0.5, -0.125, -0.4375}, + {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5}, + {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5}, + {-0.4375, -0.3125, -0.4375, 0.4375, -0.0625, 0.5}, + }, + top = { + {-0.5, -0.5, 0.4375, -0.375, 0.1875, 0.5}, + {0.375, -0.5, 0.4375, 0.5, 0.1875, 0.5}, + {-0.5, 0, 0.4375, 0.5, 0.125, 0.5}, + {-0.5, -0.375, 0.4375, 0.5, -0.125, 0.5}, + {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5}, + {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5}, + {-0.4375, -0.3125, -0.5, 0.4375, -0.0625, 0.4375}, + } + }, + selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, + recipe = { + {"", "", "group:stick"}, + {"wool:white", "wool:white", "wool:white"}, + {"group:wood", "group:wood", "group:wood"}, + }, +}) + +-- Simple shaped bed + +beds.register_bed("beds:bed", { + description = S("Simple Bed"), + inventory_image = "beds_bed.png", + wield_image = "beds_bed.png", + tiles = { + bottom = { + "beds_bed_top_bottom.png^[transformR90", + "beds_bed_under.png", + "beds_bed_side_bottom_r.png", + "beds_bed_side_bottom_r.png^[transformFX", + "blank.png", + "beds_bed_side_bottom.png" + }, + top = { + "beds_bed_top_top.png^[transformR90", + "beds_bed_under.png", + "beds_bed_side_top_r.png", + "beds_bed_side_top_r.png^[transformFX", + "beds_bed_side_top.png", + "blank.png", + } + }, + nodebox = { + bottom = {-0.5, -0.5, -0.5, 0.5, 0.0625, 0.5}, + top = {-0.5, -0.5, -0.5, 0.5, 0.0625, 0.5}, + }, + selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.0625, 1.5}, + recipe = { + {"wool:white", "wool:white", "wool:white"}, + {"group:wood", "group:wood", "group:wood"} + }, +}) + +-- Aliases for PilzAdam's beds mod + +minetest.register_alias("beds:bed_bottom_red", "beds:bed_bottom") +minetest.register_alias("beds:bed_top_red", "beds:bed_top") + +-- Fuel + +minetest.register_craft({ + type = "fuel", + recipe = "beds:fancy_bed_bottom", + burntime = 13, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "beds:bed_bottom", + burntime = 12, +}) diff --git a/data/games/garage/mods/beds/functions.lua b/data/games/garage/mods/beds/functions.lua new file mode 100644 index 0000000..6ce90f2 --- /dev/null +++ b/data/games/garage/mods/beds/functions.lua @@ -0,0 +1,304 @@ +local pi = math.pi +local is_sp = minetest.is_singleplayer() +local enable_respawn = minetest.settings:get_bool("enable_bed_respawn") +if enable_respawn == nil then + enable_respawn = true +end + +-- support for MT game translation. +local S = beds.get_translator + +-- Helper functions + +local function get_look_yaw(pos) + local rotation = minetest.get_node(pos).param2 + if rotation > 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 + if not beds.player[name] then + -- player not in bed, do nothing + return false + end + beds.bed_position[name] = nil + -- skip here to prevent sending player specific changes (used for leaving players) + if skip then + return + end + player:set_pos(beds.pos[name]) + + -- physics, eye_offset, etc + local physics_override = beds.player[name].physics_override + beds.player[name] = nil + player:set_physics_override({ + speed = physics_override.speed, + jump = physics_override.jump, + gravity = physics_override.gravity + }) + 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) + player_api.player_attached[name] = false + hud_flags.wielditem = true + player_api.set_animation(player, "stand" , 30) + + -- lay down + else + + -- Check if bed is occupied + for _, other_pos in pairs(beds.bed_position) do + if vector.distance(bed_pos, other_pos) < 0.1 then + minetest.chat_send_player(name, S("This bed is already occupied!")) + return false + end + end + + -- Check if player is moving + if vector.length(player:get_velocity()) > 0.05 then + minetest.chat_send_player(name, S("You have to stop moving before going to bed!")) + return false + end + + -- Check if player is attached to an object + if player:get_attach() then + return false + end + + if beds.player[name] then + -- player already in bed, do nothing + return false + end + + beds.pos[name] = pos + beds.bed_position[name] = bed_pos + beds.player[name] = {physics_override = player:get_physics_override()} + + local yaw, param2 = get_look_yaw(bed_pos) + player:set_look_horizontal(yaw) + local dir = minetest.facedir_to_dir(param2) + -- p.y is just above the nodebox height of the 'Simple Bed' (the highest bed), + -- to avoid sinking down through the bed. + local p = { + x = bed_pos.x + dir.x / 2, + y = bed_pos.y + 0.07, + z = bed_pos.z + dir.z / 2 + } + player:set_physics_override({speed = 0, jump = 0, gravity = 0}) + player:set_pos(p) + player_api.player_attached[name] = true + hud_flags.wielditem = false + player_api.set_animation(player, "lay" , 0) + end + + player:hud_set_flags(hud_flags) +end + +local function get_player_in_bed_count() + local c = 0 + for _, _ in pairs(beds.player) do + c = c + 1 + end + return c +end + +local function update_formspecs(finished) + local ges = #minetest.get_connected_players() + local player_in_bed = get_player_in_bed_count() + local is_majority = (ges / 2) < player_in_bed + + local form_n + local esc = minetest.formspec_escape + if finished then + form_n = beds.formspec .. "label[2.7,9;" .. esc(S("Good morning.")) .. "]" + else + form_n = beds.formspec .. "label[2.2,9;" .. + esc(S("@1 of @2 players are in bed", player_in_bed, ges)) .. "]" + if is_majority and is_night_skip_enabled() then + form_n = form_n .. "button_exit[2,6;4,0.75;force;" .. + esc(S("Force night 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() + minetest.set_timeofday(0.23) +end + +local update_scheduled = false +local function schedule_update() + if update_scheduled then + -- there already is an update scheduled; don't schedule more to prevent races + return + end + update_scheduled = true + minetest.after(2, function() + update_scheduled = false + if not is_sp then + update_formspecs(is_night_skip_enabled()) + end + if is_night_skip_enabled() then + -- skip the night and let all players stand up + beds.skip_night() + beds.kick_players() + end + end) +end + +function beds.on_rightclick(pos, player) + local name = player:get_player_name() + local ppos = player:get_pos() + local tod = minetest.get_timeofday() + + if tod > beds.day_interval.start and tod < beds.day_interval.finish then + if beds.player[name] then + lay_down(player, nil, nil, false) + end + minetest.chat_send_player(name, S("You can only sleep at night.")) + return + end + + -- 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 + + if check_in_beds() then + schedule_update() + 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 valid position is found + spawn.register_on_spawn(function(player, is_new) + local pos = beds.spawn[player:get_player_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 + schedule_update() + end +end) + +minetest.register_on_dieplayer(function(player) + local name = player:get_player_name() + local in_bed = beds.player + local pos = player:get_pos() + local yaw = get_look_yaw(pos) + + if in_bed[name] then + lay_down(player, nil, pos, false) + player:set_look_horizontal(yaw) + player:set_pos(pos) + end +end) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= "beds_form" then + return + end + + -- 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 = get_player_in_bed_count() + + 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() + beds.kick_players() + else + update_formspecs(false) + end + end +end) diff --git a/data/games/garage/mods/beds/init.lua b/data/games/garage/mods/beds/init.lua new file mode 100644 index 0000000..14ced8b --- /dev/null +++ b/data/games/garage/mods/beds/init.lua @@ -0,0 +1,31 @@ +-- beds/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("beds") +local esc = minetest.formspec_escape + +beds = {} +beds.player = {} +beds.bed_position = {} +beds.pos = {} +beds.spawn = {} +beds.get_translator = S + +beds.formspec = "size[8,11;true]" .. + "no_prepend[]" .. + "bgcolor[#080808BB;true]" .. + "button_exit[2,10;4,0.75;leave;" .. esc(S("Leave Bed")) .. "]" + +beds.day_interval = { + start = 0.2, + finish = 0.805, +} + +local modpath = minetest.get_modpath("beds") + +-- Load files + +dofile(modpath .. "/functions.lua") +dofile(modpath .. "/api.lua") +dofile(modpath .. "/beds.lua") +dofile(modpath .. "/spawns.lua") diff --git a/data/games/garage/mods/beds/license.txt b/data/games/garage/mods/beds/license.txt new file mode 100644 index 0000000..383047d --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/beds/locale/beds.de.tr b/data/games/garage/mods/beds/locale/beds.de.tr new file mode 100644 index 0000000..3f2c959 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.de.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Schickes Bett +Simple Bed=Schlichtes Bett +This bed is already occupied!=Dieses Bett ist bereits belegt! +You have to stop moving before going to bed!=Sie müssen stehen bleiben, bevor Sie zu Bett gehen können! +Good morning.=Guten Morgen. +@1 of @2 players are in bed=@1 von @2 Spielern sind im Bett +Force night skip=Überspringen der Nacht erzwingen +You can only sleep at night.=Sie können nur nachts schlafen. +Leave Bed=Bett verlassen diff --git a/data/games/garage/mods/beds/locale/beds.eo.tr b/data/games/garage/mods/beds/locale/beds.eo.tr new file mode 100644 index 0000000..3a4ad2f --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.eo.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Luksa lito +Simple Bed=Simpla lito +This bed is already occupied!=Tiu lito jam estas okupata! +You have to stop moving before going to bed!=Vi ĉesu moviĝi por enlitiĝi! +Good morning.=Bonan matenon. +@1 of @2 players are in bed=@1 el @2 ludantoj estas en lito +Force night skip=Devigi noktan salton +You can only sleep at night.=Vi povas dormi nur nokte. +Leave Bed=Ellitiĝi diff --git a/data/games/garage/mods/beds/locale/beds.es.tr b/data/games/garage/mods/beds/locale/beds.es.tr new file mode 100644 index 0000000..8ef0db7 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.es.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Cama de lujo +Simple Bed=Cama sencilla +This bed is already occupied!=Esta cama esta ocupada +You have to stop moving before going to bed!=Deja de moverte o no podras acostarte +Good morning.=Buenos días. +@1 of @2 players are in bed=@1 de @2 jugadores están durmiendo +Force night skip=Forzar hacer de dia +You can only sleep at night.=Sólo puedes dormir por la noche. +Leave Bed=Levantarse diff --git a/data/games/garage/mods/beds/locale/beds.fr.tr b/data/games/garage/mods/beds/locale/beds.fr.tr new file mode 100644 index 0000000..43c06e3 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.fr.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Lit chic +Simple Bed=Lit simple +This bed is already occupied!=Ce lit est déjà occupé ! +You have to stop moving before going to bed!=Vous devez arrêter de bouger avant de vous coucher ! +Good morning.=Bonjour. +@1 of @2 players are in bed=@1 joueur(s) sur @2 sont au lit +Force night skip=Forcer le passage de la nuit +You can only sleep at night.=Vous ne pouvez dormir que la nuit. +Leave Bed=Se lever du lit diff --git a/data/games/garage/mods/beds/locale/beds.id.tr b/data/games/garage/mods/beds/locale/beds.id.tr new file mode 100644 index 0000000..d87c933 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.id.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Ranjang Mewah +Simple Bed=Ranjang Sederhana +This bed is already occupied!=Ranjang telah terisi! +You have to stop moving before going to bed!=Anda harus diam untuk tidur! +Good morning.=Selamat pagi. +@1 of @2 players are in bed=@1 dari @2 pemain sedang tidur +Force night skip=Paksa lewati malam +You can only sleep at night.=Anda hanya bisa tidur pada waktu malam. +Leave Bed=Tinggalkan Ranjang diff --git a/data/games/garage/mods/beds/locale/beds.it.tr b/data/games/garage/mods/beds/locale/beds.it.tr new file mode 100644 index 0000000..8f4e14e --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.it.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Letto decorato +Simple Bed=Letto semplice +This bed is already occupied!= +You have to stop moving before going to bed!= +Good morning.= +@1 of @2 players are in bed= +Force night skip= +You can only sleep at night.= +Leave Bed=Alzati dal letto diff --git a/data/games/garage/mods/beds/locale/beds.ja.tr b/data/games/garage/mods/beds/locale/beds.ja.tr new file mode 100644 index 0000000..5034456 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.ja.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=ファンシーなベッド +Simple Bed=シンプルなベッド +This bed is already occupied!=ベッドはすでに使われています! +You have to stop moving before going to bed!=寝るときは動かないでください! +Good morning.=おはようございます。 +@1 of @2 players are in bed=ベッドに@1 / @2人います +Force night skip=強制的に夜をスキップします +You can only sleep at night.=夜しか寝れません。 +Leave Bed=ベッドから出ます diff --git a/data/games/garage/mods/beds/locale/beds.jbo.tr b/data/games/garage/mods/beds/locale/beds.jbo.tr new file mode 100644 index 0000000..a72f686 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.jbo.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=lo selja'i ckana +Simple Bed=lo sampu ckana +This bed is already occupied!=.i lo ti ckana cu canlu +You have to stop moving before going to bed!=lo nu do cando cu sarcu lo nu do sipna +Good morning.=.i .uise'inai cerni +@1 of @2 players are in bed=.i @1 cmima be lu'i @2 le pilno cu vreta lo ckana +Force night skip=bapli le nu co'u nicte +You can only sleep at night.=.i steci le ka nicte kei fa le ka do kakne le ka sipna ca pa ckaji be ce'u +Leave Bed=cliva lo ckana diff --git a/data/games/garage/mods/beds/locale/beds.lv.tr b/data/games/garage/mods/beds/locale/beds.lv.tr new file mode 100644 index 0000000..cea63ff --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.lv.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Skaista gulta +Simple Bed=Gulta +This bed is already occupied!=Šī gulta jau ir aizņemta! +You have to stop moving before going to bed!=Jums jāapstājas lai gulētu! +Good morning.=Labrīt. +@1 of @2 players are in bed=@1 no @2 spēlētājiem guļ gultās +Force night skip=Izlaist nakti +You can only sleep at night.=Jūs variet gulēt tikai naktī. +Leave Bed=Celties no gultas diff --git a/data/games/garage/mods/beds/locale/beds.ms.tr b/data/games/garage/mods/beds/locale/beds.ms.tr new file mode 100644 index 0000000..b197b63 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.ms.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Katil Beragam +Simple Bed=Katil Biasa +This bed is already occupied!=Katil ini sudah diduduki! +You have to stop moving before going to bed!=Anda perlu berhenti bergerak sebelum tidur! +Good morning.=Selamat pagi. +@1 of @2 players are in bed=@1 daripada @2 pemain sedang tidur +Force night skip=Paksa langkau malam +You can only sleep at night.=Anda hanya boleh tidur pada waktu malam. +Leave Bed=Tinggalkan Katil diff --git a/data/games/garage/mods/beds/locale/beds.pl.tr b/data/games/garage/mods/beds/locale/beds.pl.tr new file mode 100644 index 0000000..2bc03c6 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.pl.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Fantazyjne łóżko +Simple Bed=Proste łóżko +This bed is already occupied!=To łóżko jest już zajęte! +You have to stop moving before going to bed!=Musisz się zatrzymać aby wejść do łóżka +Good morning.=Dzień dobry. +@1 of @2 players are in bed=@1 z @2 graczy śpią +Force night skip=Wymuś pominięcie nocy +You can only sleep at night.=Możesz spać tylko w nocy. +Leave Bed=Opuść łóżko diff --git a/data/games/garage/mods/beds/locale/beds.pt_BR.tr b/data/games/garage/mods/beds/locale/beds.pt_BR.tr new file mode 100644 index 0000000..47fb1b9 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.pt_BR.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Cama Bonita +Simple Bed=Cama Simples +This bed is already occupied!=Esta cama já está ocupada! +You have to stop moving before going to bed!=Você precisa parar de se mover antes de ir para cama! +Good morning.=Bom dia. +@1 of @2 players are in bed=@1 de @2 jogadores estão na cama +Force night skip=Forçar o amanhecer +You can only sleep at night.=Você só pode dormir à noite +Leave Bed=Sair da Cama diff --git a/data/games/garage/mods/beds/locale/beds.ru.tr b/data/games/garage/mods/beds/locale/beds.ru.tr new file mode 100644 index 0000000..7c1b536 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.ru.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Красивая кровать +Simple Bed=Простая кровать +This bed is already occupied!=Эта кровать уже занята! +You have to stop moving before going to bed!=Вам нужно перестать двигаться чтобы лечь! +Good morning.=Доброе утро. +@1 of @2 players are in bed=@1 из @2 игроков в кровати +Force night skip=Пропустить ночь +You can only sleep at night.=Вы можете спать только ночью. +Leave Bed=Встать с кровати diff --git a/data/games/garage/mods/beds/locale/beds.sk.tr b/data/games/garage/mods/beds/locale/beds.sk.tr new file mode 100644 index 0000000..5f31f0f --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.sk.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Pekná posteľ +Simple Bed=Jednoduchá posteľ +This bed is already occupied!=Táto posteľ je už obsadená +You have to stop moving before going to bed!=Predtým ako si ľahneš do postele, sa musíš prestať pohybovať! +Good morning.=Dobré ráno. +@1 of @2 players are in bed=@1 z @2 hráčov sú v posteli +Force night skip=Nútene preskočiť noc +You can only sleep at night.=Môžeš spať len v noci. +Leave Bed=Opusti posteľ diff --git a/data/games/garage/mods/beds/locale/beds.sv.tr b/data/games/garage/mods/beds/locale/beds.sv.tr new file mode 100644 index 0000000..3b737b4 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.sv.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Fin säng +Simple Bed=Enkel säng +This bed is already occupied!=Den här sängen används redan! +You have to stop moving before going to bed!=Du måste stanna innan du kan lägga dig! +Good morning.=God morgon. +@1 of @2 players are in bed=@1 av @2 spelare försöker sova. +Force night skip=Tvinga att hoppa över natt +You can only sleep at night.=Du kan bara sova på natten. +Leave Bed=Lämna säng diff --git a/data/games/garage/mods/beds/locale/beds.uk.tr b/data/games/garage/mods/beds/locale/beds.uk.tr new file mode 100644 index 0000000..c9db693 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.uk.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=Гарне ліжко +Simple Bed=Просте ліжко +This bed is already occupied!=Це ліжко вже зайняте! +You have to stop moving before going to bed!=Зупиніться перед тим як лягти! +Good morning.=Доброго ранку. +@1 of @2 players are in bed=@1 з @2 гравців(-я) у ліжку +Force night skip=Пропустити ніч +You can only sleep at night.=Ви можете спати лише вночі. +Leave Bed=Встати з ліжка diff --git a/data/games/garage/mods/beds/locale/beds.zh_CN.tr b/data/games/garage/mods/beds/locale/beds.zh_CN.tr new file mode 100644 index 0000000..7e6cfc7 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.zh_CN.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=花式床 +Simple Bed=简易床 +This bed is already occupied!=床上已有人! +You have to stop moving before going to bed!=上床前要停止移动! +Good morning.=早安! +@1 of @2 players are in bed=@2位玩家中的@1位在床上 +Force night skip=强制跳过夜晚 +You can only sleep at night.=你只能在晚上睡觉。 +Leave Bed=离开床 diff --git a/data/games/garage/mods/beds/locale/beds.zh_TW.tr b/data/games/garage/mods/beds/locale/beds.zh_TW.tr new file mode 100644 index 0000000..a0428b4 --- /dev/null +++ b/data/games/garage/mods/beds/locale/beds.zh_TW.tr @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed=花式床 +Simple Bed=簡易床 +This bed is already occupied!=這個床已經被占據了! +You have to stop moving before going to bed!=你必須在上床前停止移動! +Good morning.=早安! +@1 of @2 players are in bed=@2位玩家中的@1位在床上 +Force night skip=強制跳過夜晚 +You can only sleep at night.=你只能在晚上睡覺。 +Leave Bed=離開床 diff --git a/data/games/garage/mods/beds/locale/template.txt b/data/games/garage/mods/beds/locale/template.txt new file mode 100644 index 0000000..a965787 --- /dev/null +++ b/data/games/garage/mods/beds/locale/template.txt @@ -0,0 +1,10 @@ +# textdomain: beds +Fancy Bed= +Simple Bed= +This bed is already occupied!= +You have to stop moving before going to bed!= +Good morning.= +@1 of @2 players are in bed= +Force night skip= +You can only sleep at night.= +Leave Bed= diff --git a/data/games/garage/mods/beds/mod.conf b/data/games/garage/mods/beds/mod.conf new file mode 100644 index 0000000..ef88ad1 --- /dev/null +++ b/data/games/garage/mods/beds/mod.conf @@ -0,0 +1,3 @@ +name = beds +description = Minetest Game mod: beds +depends = default, wool, spawn diff --git a/data/games/garage/mods/beds/spawns.lua b/data/games/garage/mods/beds/spawns.lua new file mode 100644 index 0000000..1a2ce81 --- /dev/null +++ b/data/games/garage/mods/beds/spawns.lua @@ -0,0 +1,72 @@ +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 + +function beds.remove_spawns_at(pos) + for name, p in pairs(beds.spawn) do + if vector.equals(vector.round(p), pos) then + beds.spawn[name] = nil + end + end + beds.save_spawns() +end diff --git a/data/games/garage/mods/beds/textures/beds_bed.png b/data/games/garage/mods/beds/textures/beds_bed.png new file mode 100644 index 0000000000000000000000000000000000000000..d4b02e77d1814c41e126d633dab1de638ef5c537 GIT binary patch literal 490 zcmVA*+w(JU&Kk1Zk_!-35xOeo)(h+5{vICtQH8HY%Q%`B;t{W zyvvNJgAT6U?{h!*@4BC7&;3dOqZ)5T<9G-v-Mp5bzqKm-3`dME6~qY^T>N{C2urn46nNcSj2( zHxu&&ecasV_XeZrCZaI&G3QAeb+XP(xn^f!&=kYipn?=oDB$I5io5z*w8a9^Z9RRO z4d#v9H&b2A^|V%^UR?sSz5>?f3Z-=5G$PERBkHT8kN`&rSSev((U(K7DTTvQ14~oY z_bd1(4Okk|$z6{L?NMIJM5tFBxvmTi)k?YRaHsa~IXLqVV9MTz!-Y14cqJ3TcFLeF zkwII#Is?p@gRt9*^MD=Krw-UGYUp^}L30f{bSh=GVarI|oH#JnUkkfQ^KaLjqdeND g&D!;cLB4MV*ZoB#j-07*qoM6N<$f;SQ4WdHyG literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/beds/textures/beds_bed_fancy.png b/data/games/garage/mods/beds/textures/beds_bed_fancy.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9fde9ac1ecba7049fb5fed5166658fb92904d9 GIT binary patch literal 486 zcmV@P)4j-(5@Dr9Hlx->MZ-l{ViTA)8O=#S&`nR!GjtW*g_;EUKE1?h zoxdz13&V@W{?D+!z0W!O7XVU@B=GuNl8%-KQEa{>^UK{84wn45SRcT@0HgJS2Oe4i9|&O9@81*^LgZQISr&Lx=xJYhtc0Cn6J?x zPSY99C)6%M+Z=B&-akAblYPSZc?zl3{x85pgJ9Mu*y6@bDn==Y%6>%1{>M1Z@8w7Y z(dY{NJ#I*l#%UUpTs-CC4x`GZqJkwk7yAJ9u>yCMARZn^XR96_do5(Gju}O?vmSEO z9yh6M+l&gZ!+8(aZPfyYK`_#xhrPK9UT3{_k+K+Y;Bu`CVUv7jR8qzvy}(J6mF9kj z5zf{cO!&<3xtg>WP!}ocNp4R98f4BaIHqxvYNN@`qxssH(PV(F#fZs1OYuG^Knm5^ znAyd%c3O;@ajd%qzdiT2K>-x#ZA3fE4SLP!X|FZ>)oew3erDW?Qd+zyKwZq#u*Fa^ cpxod24Md^ljB?aa0{{R307*qoM6N<$f+CIIz5oCK literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/beds/textures/beds_bed_foot.png b/data/games/garage/mods/beds/textures/beds_bed_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..af510bb6dda50efc7828dae542e1a8e5b9e5257e GIT binary patch literal 340 zcmV-a0jvIrP)N+rsw*y2~c6DtYLCN&M>%1XC}v<7qPLyMK(v#U9TS=BqGw`&fOStgzh8 m#n}6~M${_tVbO|L&6PROI&Q5!M+1BS0000AUJONPz=)=XP4?##CRKfl)F|FT9ef*5ST;(AXE ziG_6@V1r-=g7`4GML_kfKnp>789)Lso6#}MCG&xro71iT$9rh}pI`0ve-V)1kZ1sL yLAbN(e`0W$lj?s^c!4m84HKt47C_FR!~g&aaaf=WOm=7h0000u4iTaU&PG(zY@qU z1JX4>em)b^|Et$;{=aea_WyhLAO62`?fU;~K>meGSN>nVa_xV(v+94aDInaEVe=p4 zBoOY*w*5c9*5m)OMlXUGY{24rPYj8Lbsk`YUaad&PLdMosQg1aG*m#V%U0@(}!Rynhu68%5+MiIVs9or$`Ku~3s zGf_l{K<7>X${`i7fkZ_}!yI>P=tTrAMab?>3sZ9BT;dO%ZnPrC_3Y(7)Z%D8fr$}ZFq39O$ctf%jdsMQ$CD-`3&QN`@hL&_KcSp9B!{dUgD z($V@$o(vixp-!%Co}>U*-!!5N3yalrhk38W3o- Z;14BhoQ*@c+gktt002ovPDHLkV1o2c!BhYM literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/beds/textures/beds_bed_side_bottom_r.png b/data/games/garage/mods/beds/textures/beds_bed_side_bottom_r.png new file mode 100644 index 0000000000000000000000000000000000000000..2d86532d34b412b6cbd69987f6829c00d3bc875f GIT binary patch literal 427 zcmV;c0aX5pP)FIQn2}7f$Z6x+qp2@~jN+dSIMl3MHh{g=vHB~ir&!I^sv#;-y zh+qt5BxNLJBxNLJBxNLdrW*TZ6n6yJmcn6GF+{La+?kqj?oNrIL@-N6Ph>(Db z2n@(T1{ClJh6oJEB8UjRI|=9`NFrz!p+qn@Ln4@)QQVn`;1Sd!6nCzP;1OgIT6djE&KSH(nVB4~jI$f`6E)WEk=n3z$C;6STNT0DP>wjIsTlUiY3*ZgWa>g?=` zQ|CQS&kDJQ+3$hd*C#|haQZzss3ARA-QeBpBaYtur0gkQg#QA#1>`U4j= Vs3~&c`%M4<002ovPDHLkV1j9Sy}JMa literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/beds/textures/beds_bed_side_top.png b/data/games/garage/mods/beds/textures/beds_bed_side_top.png new file mode 100644 index 0000000000000000000000000000000000000000..04b2ba1e555efa7ab39a22cf520c65bc7251093b GIT binary patch literal 464 zcmV;>0WbcEP)=jN!D~ zMb#2QK*UfK9uc8w8jLYG=ZG;9nuaDcqzow~G$(LQsdqcnTAcG(E9^sn4Bk6(hPtjf z5)lyC)iogmbh%#PoTKm_V=N*3!l}c14{fcs1 zGwyc)Arc7G*;N5?M}Rn}zY^fKh*s$)M+tJIrnj>ueEgfG&9cDme08M*`M3qGXOn!-CuC zhJCX`XZL|e{VvxxKY8)A$7DRDP|HzO2i|@tdHMVa>V$8%b7D+fJsUz3+00MTvomE@ z9T*tp>T<+%UXc?2O)h$TFXvb*OfCi#Y6<%dtIYwE5`O?n_PT*Z*Zn&H0000%>BpasgZ$LL@P0jOZ6SV|PTg782~GwKLTgta?Kl{x|yVVN_@ z3hH`;2UM#y?!kIh;qFvbMQQ;D6v!fEAV(k~mdgifrP=Q>RV*ds&8ugj z;Z)lM1e2paDTM1^8xBW?d!|rjn}tCyakbuYGB&Q4nJ*U$(&tYLs(|Bg_91+{P$uR; z;%9B!rkP(Y7iSMhh4A&qoSdDqD8PepIV3%OJmpU7&i8qRJO9k46TV%} oF%xFf6Ut=lwkz(93$EIRKh1);I&!ddmH+?%07*qoM6N<$feP?fFPnMrrLlep$#SgS6* z&%EELwjsPZw-Q;aA}SI5*CAxM7x^u29002jKFoGz03h~eI5r^wa4L zGCEaI#A>9g=;3R5?Y^^7L)}qp2sOoQDXgW)PqUWy9aP;99IC(rIGU5zn5qijTN+4h z00ksvw-*uc?tMu;EAQvdwFIX|uL-~rJ{PDnzKnp9XJpru0k4UoCq?0X?3L<^_vlar z)GWHE2gHHGfP|zYy`czt01y9wp3j&L{2lq+(=MVBN#2r&2tcPEoht}{q*?^T8~#8{ zoHzZGVD{z@j(`w*LfpU-tdBH+U-%qMqmf`-{UGh%;duyrRe)hHgOL@XK?;e__@y;0$?_ElbF|w|!wbmFr zFY7pt^E}sDKYx6?4IB;!Dk1o`q1EJENOoPvmsao0?d@Tj#O7MZaRA=?uIpo(;1N-K}BnqI=X>} z^j0?JqM>cuQpy5E)%L2xl1&5OahhNSD$3_&5tSH&>ZXAP=Ecag$J@ZK$Hx?-wQM*B zA7YHO)Kg*1I_xlg-&d{Pg>3+$4=S1DKFo@^2;

Dqk#>^oNI0C?h<&n z+*zbAg%~nun6P2jgIqiybK^+t14I>mBG-Egxs+MEjbVc^I7R^t&1GO<7pD<{G|q4l lBtn`DKdtJq6f$Xt`wLNMA$3yUweJ7`002ovPDHLkV1j~`0C)fZ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/beds/textures/beds_bed_top_bottom.png b/data/games/garage/mods/beds/textures/beds_bed_top_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..43dcc6498817803d8c0913669608760f780b3860 GIT binary patch literal 425 zcmV;a0apHrP)>_k-Y)G817Gm%{#ok*J-85$_+_}mr;DaaJp>GjKB;|EF+^O=YC`Z2%r-Wv Tjs66>00000NkvXXu0mjf9)`uw literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/beds/textures/beds_bed_top_top.png b/data/games/garage/mods/beds/textures/beds_bed_top_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b3d08fa46f3f4aa4e6c0dc25379ec76599e8806 GIT binary patch literal 490 zcmV z3y#|`3`9jzlAX4jEYR!qAiZRJm`(f_$qpHyf?yM}^oBDs{brs;PP0+Um+H^fcK1@s zuRni3?+;>>w64py+xO@48rR@XG-J`7-Fqo5r@Ob-`qYWJiu7q}Q^yL{`9_4-Lj(st zMa*m_8tzjEitax?q{`#t&fw1THAW51q+(wqy3j!>0up1V)GFONUNkOMWsFS~s719U z7=pvBF`wswrq1)k88^MnGeD4KAryrZjNT}Va8jG#8wHedgj#RhnGf_0r2GG;B7ok9 z>NIt90=r|NMmod_a83;Di&4sf2bALx`neVh=E|4Z#Ek5F;@^T3k(r`_>$>1%jL}++ zy0#hs#FChi9?*HqRd8Xz9Z_5OL~v5WbRZLtaK19G-He6D06s*paoaWoa2$Kw0~&oh zk*tH3MYvK8ol+oz3^4g=Rw3dJsV(EW5R}NWEI4xl&$REyTSRc1;EkN2lX%T(ZrB~V zjAN&|9mfIpJc+D{e?f{FHSP&cs5>k&gMg gZA=U`iQlXK1K*S|&_Gn2(*OVf07*qoM6N<$f-k!^dnZD+Ra+)CH^weAb+JQme^ENk>SJI|L5Xh^N6i(`m{ zr0+pSr$Y_`%m;E7%cWJjpZG7Iy^(dUqxa#;PkNd!tQc1?HKo0D>T(R0$_`kbV7~Hj z$-H+3a~VPy<4@SD*$a5qOw8+;yp=ariZP&GYT=TXF;eBvAFOv;5b@7*(J{7(8A5T-G@yGywp6uv(b_ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/benchmarks/init.lua b/data/games/garage/mods/benchmarks/init.lua deleted file mode 100644 index 8f6bb1e..0000000 --- a/data/games/garage/mods/benchmarks/init.lua +++ /dev/null @@ -1,189 +0,0 @@ --- Safeguard against too much optimization. This way the results cannot be optimized --- away, but they can be garbage collected (due to __mode = "k"). -_G._bench_content_ids_data = setmetatable({}, {__mode = "k"}) - -local function bench_name2content() - local t = {} - _G._bench_content_ids_data[t] = true - - local get_content_id = core.get_content_id - - local start = core.get_us_time() - - for i = 1, 200 do - for name in pairs(core.registered_nodes) do - t[#t + 1] = get_content_id(name) - end - end - - local finish = core.get_us_time() - - return (finish - start) / 1000 -end - -local function bench_content2name() - local t = {} - _G._bench_content_ids_data[t] = true - - -- Try to estimate the highest content ID that's used - -- (not accurate but good enough for this test) - local n = 0 - for _ in pairs(core.registered_nodes) do - n = n + 1 - end - - local get_name_from_content_id = core.get_name_from_content_id - - local start = core.get_us_time() - - for i = 1, 200 do - for j = 0, n do - t[#t + 1] = get_name_from_content_id(j) - end - end - - local finish = core.get_us_time() - - return (finish - start) / 1000 -end - -core.register_chatcommand("bench_name2content", { - params = "", - description = "Benchmark: Conversion from node names to content IDs", - func = function(name, param) - core.chat_send_player(name, "Benchmarking core.get_content_id. Warming up ...") - bench_name2content() - core.chat_send_player(name, "Warming up finished, now benchmarking ...") - local time = bench_name2content() - return true, ("Time: %.2f ms"):format(time) - end, -}) - -core.register_chatcommand("bench_content2name", { - params = "", - description = "Benchmark: Conversion from content IDs to node names", - func = function(name, param) - core.chat_send_player(name, "Benchmarking core.get_name_from_content_id. Warming up ...") - bench_content2name() - core.chat_send_player(name, "Warming up finished, now benchmarking ...") - local time = bench_content2name() - return true, ("Time: %.2f ms"):format(time) - end, -}) - -local function get_positions_cube(ppos) - local pos_list = {} - - local i = 1 - for x=2,100 do - for y=2,100 do - for z=2,100 do - pos_list[i] = ppos:offset(x, y, z) - i = i + 1 - end - end - end - - return pos_list -end - -core.register_chatcommand("bench_bulk_set_node", { - params = "", - description = "Benchmark: Bulk-set 99×99×99 stone nodes", - func = function(name, param) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - local pos_list = get_positions_cube(player:get_pos()) - - core.chat_send_player(name, "Benchmarking core.bulk_set_node. Warming up ...") - - -- warm up with stone to prevent having different callbacks - -- due to different node topology - core.bulk_set_node(pos_list, {name = "mapgen_stone"}) - - core.chat_send_player(name, "Warming up finished, now benchmarking ...") - - local start_time = core.get_us_time() - for i=1,#pos_list do - core.set_node(pos_list[i], {name = "mapgen_stone"}) - end - local middle_time = core.get_us_time() - core.bulk_set_node(pos_list, {name = "mapgen_stone"}) - local end_time = core.get_us_time() - local msg = string.format("Benchmark results: core.set_node loop: %.2f ms; core.bulk_set_node: %.2f ms", - ((middle_time - start_time)) / 1000, - ((end_time - middle_time)) / 1000 - ) - return true, msg - end, -}) - -core.register_chatcommand("bench_bulk_get_node", { - params = "", - description = "Benchmark: Bulk-get 99×99×99 nodes", - func = function(name, param) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - local pos_list = get_positions_cube(player:get_pos()) - local function bench() - local start_time = core.get_us_time() - for i=1,#pos_list do - local n = core.get_node(pos_list[i]) - -- Make sure the name lookup is never optimized away. - -- Table allocation might still be omitted. But only accessing - -- the name of a node is a common pattern anyways. - if n.name == "benchmarks:nonexistent_node" then - error("should never happen") - end - end - return core.get_us_time() - start_time - end - - core.chat_send_player(name, "Benchmarking core.get_node. Warming up ...") - bench() - - core.chat_send_player(name, "Warming up finished, now benchmarking ...") - local result_us = bench() - - local msg = string.format("Benchmark results: core.get_node loop 1: %.2f ms", - result_us / 1000) - return true, msg - end, -}) - -core.register_chatcommand("bench_bulk_swap_node", { - params = "", - description = "Benchmark: Bulk-swap 99×99×99 stone nodes", - func = function(name, param) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - local pos_list = get_positions_cube(player:get_pos()) - - core.chat_send_player(name, "Benchmarking core.bulk_swap_node. Warming up ...") - - -- warm up because first execution otherwise becomes - -- significantly slower - core.bulk_swap_node(pos_list, {name = "mapgen_stone"}) - - core.chat_send_player(name, "Warming up finished, now benchmarking ...") - - local start_time = core.get_us_time() - for i=1,#pos_list do - core.swap_node(pos_list[i], {name = "mapgen_stone"}) - end - local middle_time = core.get_us_time() - core.bulk_swap_node(pos_list, {name = "mapgen_stone"}) - local end_time = core.get_us_time() - local msg = string.format("Benchmark results: core.swap_node loop: %.2f ms; core.bulk_swap_node: %.2f ms", - ((middle_time - start_time)) / 1000, - ((end_time - middle_time)) / 1000 - ) - return true, msg - end, -}) diff --git a/data/games/garage/mods/benchmarks/mod.conf b/data/games/garage/mods/benchmarks/mod.conf deleted file mode 100644 index fd8d039..0000000 --- a/data/games/garage/mods/benchmarks/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = benchmarks -description = Adds some benchmark chat commands diff --git a/data/games/garage/mods/binoculars/README.txt b/data/games/garage/mods/binoculars/README.txt new file mode 100644 index 0000000..0c65f6e --- /dev/null +++ b/data/games/garage/mods/binoculars/README.txt @@ -0,0 +1,37 @@ +Minetest Game mod: binoculars +============================= +See license.txt for license information. + +Authors of source code +---------------------- +paramat (MIT) + +Authors of media (textures) +--------------------------- +paramat (CC BY-SA 3.0): + binoculars_binoculars.png + +Crafting +-------- +binoculars:binoculars + +default:obsidian_glass O +default:bronze_ingot B + +O_O +BBB +O_O + +Usage +----- +In survival mode, use of zoom requires the binoculars item in your inventory, +they will allow a 10 degree field of view. +It can take up to 5 seconds for adding to or removal from inventory to have an +effect, however to instantly allow the use of this zoom 'use' (leftclick) the +item. + +Zoom with a field of view of 15 degrees is automatically allowed in creative +mode and for any player with the 'creative' privilege. + +The 'binoculars.update_player_property()' function is global so can be +redefined by a mod for alternative behaviour. diff --git a/data/games/garage/mods/binoculars/init.lua b/data/games/garage/mods/binoculars/init.lua new file mode 100644 index 0000000..914a861 --- /dev/null +++ b/data/games/garage/mods/binoculars/init.lua @@ -0,0 +1,73 @@ +-- binoculars/init.lua + +-- Mod global namespace + +binoculars = {} + +-- Load support for MT game translation. +local S = minetest.get_translator("binoculars") + + +-- Update player property +-- Global to allow overriding + +function binoculars.update_player_property(player) + local new_zoom_fov = 0 + + if player:get_inventory():contains_item( + "main", "binoculars:binoculars") then + new_zoom_fov = 10 + elseif minetest.is_creative_enabled(player:get_player_name()) then + new_zoom_fov = 15 + end + + -- Only set property if necessary to avoid player mesh reload + if player:get_properties().zoom_fov ~= new_zoom_fov then + player:set_properties({zoom_fov = new_zoom_fov}) + end +end + + +-- Set player property 'on joinplayer' + +minetest.register_on_joinplayer(function(player) + binoculars.update_player_property(player) +end) + + +-- Cyclic update of player property + +local function cyclic_update() + for _, player in ipairs(minetest.get_connected_players()) do + binoculars.update_player_property(player) + end + minetest.after(4.7, cyclic_update) +end + +minetest.after(4.7, cyclic_update) + + +-- Binoculars item + +minetest.register_craftitem("binoculars:binoculars", { + description = S("Binoculars") .. "\n" .. S("Use with 'Zoom' key"), + inventory_image = "binoculars_binoculars.png", + stack_max = 1, + groups = {tool = 1}, + + on_use = function(itemstack, user, pointed_thing) + binoculars.update_player_property(user) + end, +}) + + +-- Crafting + +minetest.register_craft({ + output = "binoculars:binoculars", + recipe = { + {"default:obsidian_glass", "", "default:obsidian_glass"}, + {"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"}, + {"default:obsidian_glass", "", "default:obsidian_glass"}, + } +}) diff --git a/data/games/garage/mods/binoculars/license.txt b/data/games/garage/mods/binoculars/license.txt new file mode 100644 index 0000000..f3aefda --- /dev/null +++ b/data/games/garage/mods/binoculars/license.txt @@ -0,0 +1,59 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2017 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 + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +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/data/games/garage/mods/binoculars/locale/binoculars.de.tr b/data/games/garage/mods/binoculars/locale/binoculars.de.tr new file mode 100644 index 0000000..7bd9b9d --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.de.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Fernglas +Use with 'Zoom' key=Mit „Zoom“-Taste benutzen diff --git a/data/games/garage/mods/binoculars/locale/binoculars.eo.tr b/data/games/garage/mods/binoculars/locale/binoculars.eo.tr new file mode 100644 index 0000000..bec8dc1 --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.eo.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Binoklo +Use with 'Zoom' key=Uzi per 'Zomo' klavo diff --git a/data/games/garage/mods/binoculars/locale/binoculars.es.tr b/data/games/garage/mods/binoculars/locale/binoculars.es.tr new file mode 100644 index 0000000..7b7e77d --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.es.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Prismáticos +Use with 'Zoom' key=Usar con la tecla 'Zoom' diff --git a/data/games/garage/mods/binoculars/locale/binoculars.fr.tr b/data/games/garage/mods/binoculars/locale/binoculars.fr.tr new file mode 100644 index 0000000..3f8b0bc --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.fr.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Jumelles +Use with 'Zoom' key=Utiliser avec le bouton « Zoom » diff --git a/data/games/garage/mods/binoculars/locale/binoculars.id.tr b/data/games/garage/mods/binoculars/locale/binoculars.id.tr new file mode 100644 index 0000000..59ba2cd --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.id.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Teropong +Use with 'Zoom' key=Gunakan dengan tombol 'Zum' diff --git a/data/games/garage/mods/binoculars/locale/binoculars.it.tr b/data/games/garage/mods/binoculars/locale/binoculars.it.tr new file mode 100644 index 0000000..97c7b86 --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.it.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Binocolo +Use with 'Zoom' key=Usalo col tasto 'Ingrandimento' diff --git a/data/games/garage/mods/binoculars/locale/binoculars.ja.tr b/data/games/garage/mods/binoculars/locale/binoculars.ja.tr new file mode 100644 index 0000000..9766f46 --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.ja.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=双眼鏡 +Use with 'Zoom' key=ズームキーで使います diff --git a/data/games/garage/mods/binoculars/locale/binoculars.jbo.tr b/data/games/garage/mods/binoculars/locale/binoculars.jbo.tr new file mode 100644 index 0000000..e146569 --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.jbo.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=lo reldarvistci +Use with 'Zoom' key=.i tu'a le jvinu banro batke cu tadji lo nu pilno diff --git a/data/games/garage/mods/binoculars/locale/binoculars.lv.tr b/data/games/garage/mods/binoculars/locale/binoculars.lv.tr new file mode 100644 index 0000000..0713a03 --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.lv.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Binoklis +Use with 'Zoom' key=Lietojiet ar 'Pietuvināt' pogu diff --git a/data/games/garage/mods/binoculars/locale/binoculars.ms.tr b/data/games/garage/mods/binoculars/locale/binoculars.ms.tr new file mode 100644 index 0000000..d38e64f --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.ms.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Binokular +Use with 'Zoom' key=Guna dengan kekunci 'Zum' diff --git a/data/games/garage/mods/binoculars/locale/binoculars.pl.tr b/data/games/garage/mods/binoculars/locale/binoculars.pl.tr new file mode 100644 index 0000000..9fbd903 --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.pl.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Lornetka +Use with 'Zoom' key=Aby użyć naciśnij 'Zoom' diff --git a/data/games/garage/mods/binoculars/locale/binoculars.pt_BR.tr b/data/games/garage/mods/binoculars/locale/binoculars.pt_BR.tr new file mode 100644 index 0000000..4aabfef --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.pt_BR.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Binóculos +Use with 'Zoom' key=Use com a tecla de 'Zoom' diff --git a/data/games/garage/mods/binoculars/locale/binoculars.ru.tr b/data/games/garage/mods/binoculars/locale/binoculars.ru.tr new file mode 100644 index 0000000..6825f27 --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.ru.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Бинокль +Use with 'Zoom' key=Используется клавишей 'Приближение' diff --git a/data/games/garage/mods/binoculars/locale/binoculars.sk.tr b/data/games/garage/mods/binoculars/locale/binoculars.sk.tr new file mode 100644 index 0000000..5008311 --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.sk.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Ďalekohľad +Use with 'Zoom' key=Použi s klávesou "Priblíž" diff --git a/data/games/garage/mods/binoculars/locale/binoculars.sv.tr b/data/games/garage/mods/binoculars/locale/binoculars.sv.tr new file mode 100644 index 0000000..f8a01db --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.sv.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Kikare +Use with 'Zoom' key=Använd med 'Zoom'-knappen diff --git a/data/games/garage/mods/binoculars/locale/binoculars.uk.tr b/data/games/garage/mods/binoculars/locale/binoculars.uk.tr new file mode 100644 index 0000000..cec1e2f --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.uk.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Бінокль +Use with 'Zoom' key=Використовується клавішею 'Наближення' diff --git a/data/games/garage/mods/binoculars/locale/binoculars.zh_CN.tr b/data/games/garage/mods/binoculars/locale/binoculars.zh_CN.tr new file mode 100644 index 0000000..ec46cf8 --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.zh_CN.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=望远镜 +Use with 'Zoom' key=与“缩放”键一起使用 diff --git a/data/games/garage/mods/binoculars/locale/binoculars.zh_TW.tr b/data/games/garage/mods/binoculars/locale/binoculars.zh_TW.tr new file mode 100644 index 0000000..bbe3b39 --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/binoculars.zh_TW.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=望遠鏡 +Use with 'Zoom' key=與“縮放”鍵一起使用 diff --git a/data/games/garage/mods/binoculars/locale/template.txt b/data/games/garage/mods/binoculars/locale/template.txt new file mode 100644 index 0000000..a526462 --- /dev/null +++ b/data/games/garage/mods/binoculars/locale/template.txt @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars= +Use with 'Zoom' key= diff --git a/data/games/garage/mods/binoculars/mod.conf b/data/games/garage/mods/binoculars/mod.conf new file mode 100644 index 0000000..4a64ce5 --- /dev/null +++ b/data/games/garage/mods/binoculars/mod.conf @@ -0,0 +1,3 @@ +name = binoculars +description = Minetest Game mod: binoculars +depends = default diff --git a/data/games/garage/mods/binoculars/textures/binoculars_binoculars.png b/data/games/garage/mods/binoculars/textures/binoculars_binoculars.png new file mode 100644 index 0000000000000000000000000000000000000000..5803d48f3b7b3b0cb5864680aa56d0b9e2e7a1ef GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZP0TD25D<`8Gt|-%bN8~W zu8HZY@$IYgo!ynUW@g3lEmMwdn|gU$$<-Yhzn|<9xR84YsFATG$S;_|;n|HeAScGt z#W95AdU8So^FD5YGZS(S= 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 = S("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 minetest.is_creative_enabled(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/data/games/garage/mods/boats/license.txt b/data/games/garage/mods/boats/license.txt new file mode 100644 index 0000000..d816be5 --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/boats/locale/boats.de.tr b/data/games/garage/mods/boats/locale/boats.de.tr new file mode 100644 index 0000000..d8eb8d7 --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.de.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Schneller Bootsmodus an +Boat cruise mode off=Schneller Bootsmodus aus +Boat=Boot diff --git a/data/games/garage/mods/boats/locale/boats.eo.tr b/data/games/garage/mods/boats/locale/boats.eo.tr new file mode 100644 index 0000000..7d02e2f --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.eo.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=La kroza maniero de la boato estas ŝaltita. +Boat cruise mode off=La kroza maniero de la boato estas malŝaltita. +Boat=Boato diff --git a/data/games/garage/mods/boats/locale/boats.es.tr b/data/games/garage/mods/boats/locale/boats.es.tr new file mode 100644 index 0000000..b9adb72 --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.es.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Modo crucero en bote activado +Boat cruise mode off=Modo crucero en bote desactivado +Boat=Bote diff --git a/data/games/garage/mods/boats/locale/boats.fr.tr b/data/games/garage/mods/boats/locale/boats.fr.tr new file mode 100644 index 0000000..f469a0b --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.fr.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Bateau mode rapide activé +Boat cruise mode off=Bateau mode rapide désactivé +Boat=Bateau diff --git a/data/games/garage/mods/boats/locale/boats.id.tr b/data/games/garage/mods/boats/locale/boats.id.tr new file mode 100644 index 0000000..cf37f47 --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.id.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Mode perahu jelajah nyala +Boat cruise mode off=Mode perahu jelajah mati +Boat=Perahu diff --git a/data/games/garage/mods/boats/locale/boats.it.tr b/data/games/garage/mods/boats/locale/boats.it.tr new file mode 100644 index 0000000..4a87835 --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.it.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Modalità movimento automatico barca attivata +Boat cruise mode off=Modalità movimento automatico barca disattivata +Boat=Barca diff --git a/data/games/garage/mods/boats/locale/boats.ja.tr b/data/games/garage/mods/boats/locale/boats.ja.tr new file mode 100644 index 0000000..ee2d086 --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.ja.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=クルージングモード・オン +Boat cruise mode off=クルージングモード・オフ +Boat=ボート diff --git a/data/games/garage/mods/boats/locale/boats.jbo.tr b/data/games/garage/mods/boats/locale/boats.jbo.tr new file mode 100644 index 0000000..c7d534f --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=.i lo bloti cu zmiku le ka klama +Boat cruise mode off=.i lo bloti cu macnu le ka klama +Boat=lo bloti diff --git a/data/games/garage/mods/boats/locale/boats.lv.tr b/data/games/garage/mods/boats/locale/boats.lv.tr new file mode 100644 index 0000000..8d78fa6 --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.lv.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Autopilots ieslēgts +Boat cruise mode off=Autopilots izslēgts +Boat=Laiva diff --git a/data/games/garage/mods/boats/locale/boats.ms.tr b/data/games/garage/mods/boats/locale/boats.ms.tr new file mode 100644 index 0000000..df42bc3 --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.ms.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Mod jelajah bot dihidupkan +Boat cruise mode off=Mod jelajah bot dimatikan +Boat=Bot diff --git a/data/games/garage/mods/boats/locale/boats.pl.tr b/data/games/garage/mods/boats/locale/boats.pl.tr new file mode 100644 index 0000000..ce43286 --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.pl.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Tryb rejsu łodką włączony +Boat cruise mode off=Tryb rejsu łodką wyłączony +Boat=Łódka diff --git a/data/games/garage/mods/boats/locale/boats.pt_BR.tr b/data/games/garage/mods/boats/locale/boats.pt_BR.tr new file mode 100644 index 0000000..1992fdf --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Modo de cruseiro do barco ligado +Boat cruise mode off=Modo de cruseiro do barco desligado +Boat=Barco diff --git a/data/games/garage/mods/boats/locale/boats.ru.tr b/data/games/garage/mods/boats/locale/boats.ru.tr new file mode 100644 index 0000000..972bfb0 --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.ru.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Автоход лодки включен +Boat cruise mode off=Автоход лодки выключен +Boat=Лодка diff --git a/data/games/garage/mods/boats/locale/boats.sk.tr b/data/games/garage/mods/boats/locale/boats.sk.tr new file mode 100644 index 0000000..4d313cd --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.sk.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Cestovný režim loďky je zapnutý +Boat cruise mode off=Cestovný režim loďky je vypnutý +Boat=Loďka diff --git a/data/games/garage/mods/boats/locale/boats.sv.tr b/data/games/garage/mods/boats/locale/boats.sv.tr new file mode 100644 index 0000000..248b088 --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.sv.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Båtkryssningsläge på +Boat cruise mode off=Båtkryssningsläge av +Boat=Båt diff --git a/data/games/garage/mods/boats/locale/boats.uk.tr b/data/games/garage/mods/boats/locale/boats.uk.tr new file mode 100644 index 0000000..662ba6f --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.uk.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=Режим мандрування на човні увімкнено +Boat cruise mode off=Режим мандрування на човні вимкнено +Boat=Човен diff --git a/data/games/garage/mods/boats/locale/boats.zh_CN.tr b/data/games/garage/mods/boats/locale/boats.zh_CN.tr new file mode 100644 index 0000000..254f2df --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=巡航模式开启 +Boat cruise mode off=巡航模式关闭 +Boat=船 diff --git a/data/games/garage/mods/boats/locale/boats.zh_TW.tr b/data/games/garage/mods/boats/locale/boats.zh_TW.tr new file mode 100644 index 0000000..97b3471 --- /dev/null +++ b/data/games/garage/mods/boats/locale/boats.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on=巡航模式開啟 +Boat cruise mode off=巡航模式關閉 +Boat=船 diff --git a/data/games/garage/mods/boats/locale/template.txt b/data/games/garage/mods/boats/locale/template.txt new file mode 100644 index 0000000..17aedc8 --- /dev/null +++ b/data/games/garage/mods/boats/locale/template.txt @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on= +Boat cruise mode off= +Boat= diff --git a/data/games/garage/mods/boats/mod.conf b/data/games/garage/mods/boats/mod.conf new file mode 100644 index 0000000..a727f8f --- /dev/null +++ b/data/games/garage/mods/boats/mod.conf @@ -0,0 +1,3 @@ +name = boats +description = Minetest Game mod: boats +depends = default, player_api diff --git a/data/games/garage/mods/boats/models/boats_boat.obj b/data/games/garage/mods/boats/models/boats_boat.obj new file mode 100644 index 0000000..0f21e47 --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/boats/textures/boats_inventory.png b/data/games/garage/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/data/games/garage/mods/bones/README.txt b/data/games/garage/mods/bones/README.txt new file mode 100644 index 0000000..219cc30 --- /dev/null +++ b/data/games/garage/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 Game developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +All textures: paramat (CC BY-SA 3.0) diff --git a/data/games/garage/mods/bones/init.lua b/data/games/garage/mods/bones/init.lua new file mode 100644 index 0000000..797224c --- /dev/null +++ b/data/games/garage/mods/bones/init.lua @@ -0,0 +1,310 @@ +-- bones/init.lua + +-- Minetest Game mod: bones +-- See README.txt for licensing and other information. + +-- Load support for MT game translation. +local S = minetest.get_translator("bones") + +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 function drop(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 function drop_contents(pos) + local inv = minetest.get_meta(pos):get_inventory() + + for i = 1, inv:get_size("main") do + local stk = inv:get_stack("main", i) + drop(pos, stk) + end + minetest.remove_node(pos) +end + +local bones_formspec = + "size[8,9]" .. + "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 + +local bones_def = { + description = S("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 not player:is_player() then + drop_contents(pos) + 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", S("@1's old bones", meta:get_string("owner"))) + meta:set_string("owner", "") + else + meta:set_int("time", time) + return true + end + end, + on_blast = function(pos) + end, +} + +default.set_inventory_action_loggers(bones_def, "bones") + +minetest.register_node("bones:bones", bones_def) + +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 + if node_name == "air" then + return true + end + + -- don't replace nodes inside protections + if minetest.is_protected(pos, player:get_player_name()) then + return false + end + + -- allow replacing liquids + if 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 + return node_definition.buildable_to +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) + 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 minetest.is_creative_enabled(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, S("@1 died at @2.", player_name, 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, S("@1 died at @2.", player_name, 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 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, S("@1 died at @2, and dropped their inventory.", player_name, pos_string)) + 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, S("@1 died at @2, and bones were placed.", player_name, pos_string)) + 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", S("@1's fresh bones", player_name)) + + 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", S("@1's bones", player_name)) + end +end) diff --git a/data/games/garage/mods/bones/license.txt b/data/games/garage/mods/bones/license.txt new file mode 100644 index 0000000..5c20a9c --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/bones/locale/bones.de.tr b/data/games/garage/mods/bones/locale/bones.de.tr new file mode 100644 index 0000000..83f5c28 --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.de.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Knochen +@1's old bones=Alte Knochen von @1 +@1 died at @2.=@1 starb bei @2. +@1 died at @2, and dropped their inventory.=@1 starb bei @2 und ließ das Inventar fallen. +@1 died at @2, and bones were placed.=@1 starb bei @2 und Knochen wurden platziert. +@1's fresh bones=Frische Knochen von @1 +@1's bones=Knochen von @1 diff --git a/data/games/garage/mods/bones/locale/bones.eo.tr b/data/games/garage/mods/bones/locale/bones.eo.tr new file mode 100644 index 0000000..d8028f1 --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.eo.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Ostoj +@1's old bones=La malfreŝaj ostoj de @1 +@1 died at @2.=@1 mortis ĉe @2 +@1 died at @2, and dropped their inventory.=@1 mortis ĉe @2, kaj delasis sian stokon. +@1 died at @2, and bones were placed.=@1 mortis ĉe @2, kaj ostoj estas demetitaj. +@1's fresh bones=La freŝaj ostoj de @1 +@1's bones=La ostoj de @1 diff --git a/data/games/garage/mods/bones/locale/bones.es.tr b/data/games/garage/mods/bones/locale/bones.es.tr new file mode 100644 index 0000000..9c45513 --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.es.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Huesos +@1's old bones=Huesos antiguos de @1 +@1 died at @2.=@1 murió en @2. +@1 died at @2, and dropped their inventory.=@1 murió en @2, y su inventario se desprendió. +@1 died at @2, and bones were placed.=@1 murió en @2, y sus huesos fueron depositados. +@1's fresh bones=Huesos recientes de @1 +@1's bones=Huesos de @1 diff --git a/data/games/garage/mods/bones/locale/bones.fr.tr b/data/games/garage/mods/bones/locale/bones.fr.tr new file mode 100644 index 0000000..cfe01ee --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.fr.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Os +@1's old bones=Vieux os de @1 +@1 died at @2.=@1 est mort à @2. +@1 died at @2, and dropped their inventory.=@1 est mort à @2 et a laissé tomber son inventaire. +@1 died at @2, and bones were placed.=@1 est mort à @2 et ses os ont été placés. +@1's fresh bones=Os frais de @1 +@1's bones=Os de @1 diff --git a/data/games/garage/mods/bones/locale/bones.id.tr b/data/games/garage/mods/bones/locale/bones.id.tr new file mode 100644 index 0000000..3c81acc --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.id.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Tulang +@1's old bones=Tulang lama @1 +@1 died at @2.=@1 mati di @2. +@1 died at @2, and dropped their inventory.=@1 mati di @2 dan meninggalkan barangnya. +@1 died at @2, and bones were placed.=@1 mati di @2 dan tulangnya diletakkan. +@1's fresh bones=Tulang segar @1 +@1's bones=Tulang @1 diff --git a/data/games/garage/mods/bones/locale/bones.it.tr b/data/games/garage/mods/bones/locale/bones.it.tr new file mode 100644 index 0000000..ea3094e --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.it.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Ossa +@1's old bones=Ossa vecchie di @1 +@1 died at @2.=@1 è morto alla posizione @2. +@1 died at @2, and dropped their inventory.=@1 è morto alla posizione @2, e ha lasciato a terra il contenuto del suo inventario. +@1 died at @2, and bones were placed.=@1 è morto alla posizione @2, e vi sono state posizionate delle ossa. +@1's fresh bones=Ossa fresche di @1 +@1's bones=Ossa di @1 diff --git a/data/games/garage/mods/bones/locale/bones.ja.tr b/data/games/garage/mods/bones/locale/bones.ja.tr new file mode 100644 index 0000000..8c3f732 --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.ja.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=骨 +@1's old bones=@1の古い骨 +@1 died at @2.=@1は@2で死亡しました。 +@1 died at @2, and dropped their inventory.=@1は@2で死亡して持ち物を落としました。 +@1 died at @2, and bones were placed.=@1は@2で死亡して骨が残されました。 +@1's fresh bones=@1の新鮮な骨 +@1's bones=@1の骨 diff --git a/data/games/garage/mods/bones/locale/bones.jbo.tr b/data/games/garage/mods/bones/locale/bones.jbo.tr new file mode 100644 index 0000000..cbb476e --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.jbo.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=lo bongu gunma +@1's old bones=.i ti tolci'o ke bongu gunma po'a la'o zo'i.@1.zo'i +@1 died at @2.=.i la'o zo'i.@1.zo'i pu morsi di'o lo me zoi pos.@2.pos. +@1 died at @2, and dropped their inventory.=.i la'o zo'i.@1.zo'i goi ly. pu morsi di'o lo me zoi pos.@2.pos. .ije ly. te farlu lo me le dacti liste po ly. +@1 died at @2, and bones were placed.=.i la'o zo'i.@1.zo'i goi ly. pu morsi di'o lo me zoi pos.@2.pos. .ije lo bongu gunma pu se punji +@1's fresh bones=.i ti cnino ke bongu gunma po'a la'o zo'i.@1.zo'i +@1's bones=.i ti bongu gunma po'a la'o zo'i.@1.zo'i diff --git a/data/games/garage/mods/bones/locale/bones.lv.tr b/data/games/garage/mods/bones/locale/bones.lv.tr new file mode 100644 index 0000000..eb2fce2 --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.lv.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Kauli +@1's old bones=@1 vecie kauli +@1 died at @2.=@1 nomira @2. +@1 died at @2, and dropped their inventory.=@1 nomira @2 pazaudēja inventāru. +@1 died at @2, and bones were placed.=@1 nomira @2, un kauli nolikti. +@1's fresh bones=@1 jaunie kauli +@1's bones=@1 kauli diff --git a/data/games/garage/mods/bones/locale/bones.ms.tr b/data/games/garage/mods/bones/locale/bones.ms.tr new file mode 100644 index 0000000..e4b8712 --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.ms.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Tulang +@1's old bones=Tulang lama @1 +@1 died at @2.=@1 mati di @2. +@1 died at @2, and dropped their inventory.=@1 mati di @2, dan menjatuhkan inventorinya. +@1 died at @2, and bones were placed.=@1 mati di @2, dan tulang diletakkan. +@1's fresh bones=Tulang segar @1 +@1's bones=Tulang @1 diff --git a/data/games/garage/mods/bones/locale/bones.pl.tr b/data/games/garage/mods/bones/locale/bones.pl.tr new file mode 100644 index 0000000..be48a0c --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.pl.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Kości +@1's old bones=Stare kości @1 +@1 died at @2.=@1 umarł w @2. +@1 died at @2, and dropped their inventory.=@1 umarł w @2, i upuścił swój ekwipunek. +@1 died at @2, and bones were placed.=@1 umarł w @2, kości zostały położone. +@1's fresh bones=Świeże kości @1 +@1's bones=Kości @1 diff --git a/data/games/garage/mods/bones/locale/bones.pt_BR.tr b/data/games/garage/mods/bones/locale/bones.pt_BR.tr new file mode 100644 index 0000000..31339af --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.pt_BR.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Ossos +@1's old bones=Ossos antigos de @1 +@1 died at @2.=@1 morreu em @2. +@1 died at @2, and dropped their inventory.=@1 morreu em @2, e seu inventário foi derrubado. +@1 died at @2, and bones were placed.=@1 morreu em @2, e os ossos foram colocados. +@1's fresh bones=Ossos recentes de @1 +@1's bones=Ossos de @1 diff --git a/data/games/garage/mods/bones/locale/bones.ru.tr b/data/games/garage/mods/bones/locale/bones.ru.tr new file mode 100644 index 0000000..0bc5eaf --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.ru.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Кости +@1's old bones=Старые кости @1 +@1 died at @2.=Игрок @1 умер в @2. +@1 died at @2, and dropped their inventory.=Игрок @1 умер в @2 и потерял содержимое своего инвентаря. +@1 died at @2, and bones were placed.=Игрок @1 умер в @2, кости размещены. +@1's fresh bones=Новые кости @1 +@1's bones=Кости @1 diff --git a/data/games/garage/mods/bones/locale/bones.sk.tr b/data/games/garage/mods/bones/locale/bones.sk.tr new file mode 100644 index 0000000..a32c17d --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.sk.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Kosti +@1's old bones=Staré kosti hráča @1 +@1 died at @2.=@1 zomrel na pozícií @2. +@1 died at @2, and dropped their inventory.=@1 zomrel na pozícií @2 a vysypal svoj inventár. +@1 died at @2, and bones were placed.=@1 zomrel na pozícií @2 a ostali po ňom kosti. +@1's fresh bones=Čerstvé kosti hráča @1 +@1's bones=Kosti hráča @1 diff --git a/data/games/garage/mods/bones/locale/bones.sv.tr b/data/games/garage/mods/bones/locale/bones.sv.tr new file mode 100644 index 0000000..9df9b0f --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.sv.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Ben +@1's old bones=@1s Gamla ben +@1 died at @2.=@1 dog på @2. +@1 died at @2, and dropped their inventory.=@1 dog på @2, och tappade deras saker. +@1 died at @2, and bones were placed.=@1 dog på @2, och deras ben var placerade. +@1's fresh bones=@1s färska ben +@1's bones=@1s ben diff --git a/data/games/garage/mods/bones/locale/bones.uk.tr b/data/games/garage/mods/bones/locale/bones.uk.tr new file mode 100644 index 0000000..00b4ff4 --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.uk.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=Кістки +@1's old bones=Старі кістки @1 +@1 died at @2.=@1 загинув на координатах @2. +@1 died at @2, and dropped their inventory.=@1 загинув на координатах @2 та втратив вміст свого інвентарю. +@1 died at @2, and bones were placed.=@1 загинув на координатах @2, було розміщено кістки. +@1's fresh bones=Свіжі кістки @1 +@1's bones=Кістки @1 diff --git a/data/games/garage/mods/bones/locale/bones.zh_CN.tr b/data/games/garage/mods/bones/locale/bones.zh_CN.tr new file mode 100644 index 0000000..7911e37 --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.zh_CN.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=骨骸 +@1's old bones=@1的旧骨骸 +@1 died at @2.=@1在@2死亡。 +@1 died at @2, and dropped their inventory.=@1在@2死亡,丢掉了所有物品。 +@1 died at @2, and bones were placed.=@1在@2死亡,已放置骨骸。 +@1's fresh bones=@1的新鲜骨骸 +@1's bones=@1的骨骸 diff --git a/data/games/garage/mods/bones/locale/bones.zh_TW.tr b/data/games/garage/mods/bones/locale/bones.zh_TW.tr new file mode 100644 index 0000000..1a94d2f --- /dev/null +++ b/data/games/garage/mods/bones/locale/bones.zh_TW.tr @@ -0,0 +1,8 @@ +# textdomain: bones +Bones=骨骸 +@1's old bones=@1的舊骨骸 +@1 died at @2.=@1在@2死亡。 +@1 died at @2, and dropped their inventory.=@1在@2死亡,丟掉了物品欄。 +@1 died at @2, and bones were placed.=@1在@2死亡,骨骸被放置。 +@1's fresh bones=@1的新鮮骨骸 +@1's bones=@1的骨骸 diff --git a/data/games/garage/mods/bones/locale/template.txt b/data/games/garage/mods/bones/locale/template.txt new file mode 100644 index 0000000..4ac8d45 --- /dev/null +++ b/data/games/garage/mods/bones/locale/template.txt @@ -0,0 +1,8 @@ +# textdomain: bones +Bones= +@1's old bones= +@1 died at @2.= +@1 died at @2, and dropped their inventory.= +@1 died at @2, and bones were placed.= +@1's fresh bones= +@1's bones= diff --git a/data/games/garage/mods/bones/mod.conf b/data/games/garage/mods/bones/mod.conf new file mode 100644 index 0000000..371997b --- /dev/null +++ b/data/games/garage/mods/bones/mod.conf @@ -0,0 +1,3 @@ +name = bones +description = Minetest Game mod: bones +depends = default diff --git a/data/games/garage/mods/bones/textures/bones_bottom.png b/data/games/garage/mods/bones/textures/bones_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d5d32247d1cfa9f90516b31199488b312d21ae GIT binary patch literal 349 zcmV-j0iyniP)+HF#!S_obT6`p*)RF1cFYr9`FVNiPA9JG+V_2$rg@%! z3hTOh_I*$AJkMoWFrXdB5m3i*TnmKEVPinm9t&h~<5k$U4F=J^fPol&Fi?z$uIr%T z-UX0IV4z_WP9zb6tx5=T-j&?n1LlId`3B$xz7)_9btV*8J^<&bzzaL5?0^p&|EZuW zz|20#V{uYV?p=`AY+pMJLl)S`CgeT^3!3c%Xp#p1LI+MlPgmjxo$TEKAdk}+zlG)^ z=b)HmXz_-l(0(mHHEuavQtnlbRp3K%zU~iqXcPD2c}7mjgeyo>($0V&zpFgjxLM#P l6KY!t!wAEG;Uc?c;2)2m^Z>APcvk=b002ovPDHLkV1j;XkB|TW literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/bones/textures/bones_rear.png b/data/games/garage/mods/bones/textures/bones_rear.png new file mode 100644 index 0000000000000000000000000000000000000000..05ee2a126410e0b208c217056dda87d3f0205aef GIT binary patch literal 341 zcmV-b0jmCqP)|aU9FCtn2!0vTd91 zIF5W?*HubEA?!TQAatJRt;wqiK6HWzRiB%XfEkY_`@R!l0>HQdg9in~h!}=}Fw9Q^ zK{!mX0A3&y0tp45wL+pBYzg_yA`x+G4~PZm2ABlcvq%X+XF`D{9!6ghX5W=#1gkP& z}qI&S$Tj*tmGncbOYJ!EdRI}tg6-^K^M0ry$Kc{=qfQBjoAOR^JA;1rU}M$< nFPX2rO2GV~bs{`u?!s>0g=gRP+3fwr00000NkvXXu0mjf9`ukj literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/bones/textures/bones_side.png b/data/games/garage/mods/bones/textures/bones_side.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ac5053c4f4cf9fc6c7cf60fc7c37c1e0c58a3f GIT binary patch literal 338 zcmV-Y0j>UtP)2C^r>A=ui2J_J^W3(rl=2-`YxPVi zk!-E)`;G(bx~>44bFRZkS;NNxs-K5ZC5+Fo<2XQ&O~Y^?Lk9=Oh**{d7~#_Zhyo5A zif}>+5olRLqvovEz`?DcZH!cg$=mOMIRG_xKm+QaDa}sksCG*E2n2~B^j7P-IQb-`|w<&Z^?pR5K+qRfF!RgJ=}!7!3QQa kf2Bi{;Q}E1$bK{I51LD^-v+>SMF0Q*07*qoM6N<$f|%i!`Tzg` literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/bones/textures/bones_top.png b/data/games/garage/mods/bones/textures/bones_top.png new file mode 100644 index 0000000000000000000000000000000000000000..63786da7cb89fb64adb2fb95001b41c11cf035a3 GIT binary patch literal 333 zcmV-T0kZyyP)${1{r}vp>PzJ*pu!>_AvW0kEIaMA~oOc%p|ez`?4&8(0p2^Q7Q~T~t-Try5^Yn5C$pg>wuGBK6ae(*P^0H; zke-N(Vw0ieO`f(y0a^c5lt0|kE!0PxG3u7M9H(CpQPS>!Ag?Pu+_<&DpG@fdm0p?% f15n{drqgMElAQ#eG (LGPLv2.1+) +celeron55, Perttu Ahola (LGPLv2.1+) +Various Minetest Game developers and contributors (LGPLv2.1+) + +Authors of media (textures) +--------------------------- +ElementW (CC BY-SA 3.0) diff --git a/data/games/garage/mods/bucket/init.lua b/data/games/garage/mods/bucket/init.lua index bce5843..b026ee0 100644 --- a/data/games/garage/mods/bucket/init.lua +++ b/data/games/garage/mods/bucket/init.lua @@ -1,27 +1,248 @@ --- Bucket: Punch liquid source or flowing liquid to collect it +-- Minetest Game mod: bucket +-- See README.txt for licensing and other information. -core.register_tool("bucket:bucket", { - description = "Bucket".."\n".. - "Picks up liquid nodes", +-- Load support for MT game translation. +local S = minetest.get_translator("bucket") + + +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 + +local function log_action(pos, name, action) + minetest.log("action", (name ~= "" and name or "A mod") + .. " " .. action .. " at " .. minetest.pos_to_string(pos) .. " with a bucket") +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 + + local pname = user and user:get_player_name() or "" + if check_protection(lpos, pname, "place "..source) then + return + end + + minetest.set_node(lpos, {name = source}) + log_action(lpos, pname, "placed " .. source) + return ItemStack("bucket:bucket_empty") + end + }) + end +end + +minetest.register_craftitem("bucket:bucket_empty", { + description = S("Empty Bucket"), inventory_image = "bucket.png", - stack_max = 1, + groups = {tool = 1}, liquids_pointable = true, - groups = { disable_repair = 1 }, on_use = function(itemstack, user, pointed_thing) - -- Must be pointing to node - if pointed_thing.type ~= "node" then + 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 - local n = core.get_node(pointed_thing.under) - local def = core.registered_nodes[n.name] - if def ~= nil and (def.liquidtype == "source" or def.liquidtype == "flowing") then - core.add_node(pointed_thing.under, {name="air"}) - local inv = user:get_inventory() - if inv then - inv:add_item("main", ItemStack(n.name)) + -- Check if pointing to a liquid source + local pos = pointed_thing.under + local node = minetest.get_node(pos) + 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 + local pname = user:get_player_name() + if check_protection(pos, pname, "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 upos = user:get_pos() + upos.y = math.floor(upos.y + 0.5) + minetest.add_item(upos, 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(pos, 1, liquiddef.source) + end + if source_neighbor and liquiddef.force_renew then + log_action(pos, pname, "picked up " .. liquiddef.source .. " (force renewed)") + else + minetest.add_node(pos, {name = "air"}) + log_action(pos, pname, "picked up " .. liquiddef.source) + 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(pos, 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", + S("Water Bucket"), + {tool = 1, 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", + S("River Water Bucket"), + {tool = 1, water_bucket = 1}, + true +) + +bucket.register_liquid( + "default:lava_source", + "default:lava_flowing", + "bucket:bucket_lava", + "bucket_lava.png", + S("Lava Bucket"), + {tool = 1} +) + +minetest.register_craft({ + type = "fuel", + recipe = "bucket:bucket_lava", + burntime = 60, + replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}}, +}) + +-- Register buckets as dungeon loot +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + {name = "bucket:bucket_empty", chance = 0.55}, + -- water in deserts/ice or above ground, lava otherwise + {name = "bucket:bucket_water", chance = 0.45, + types = {"sandstone", "desert", "ice"}}, + {name = "bucket:bucket_water", chance = 0.45, y = {0, 32768}, + types = {"normal"}}, + {name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1}, + types = {"normal"}}, + }) +end diff --git a/data/games/garage/mods/bucket/license.txt b/data/games/garage/mods/bucket/license.txt new file mode 100644 index 0000000..6245d64 --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/bucket/locale/bucket.de.tr b/data/games/garage/mods/bucket/locale/bucket.de.tr new file mode 100644 index 0000000..570dff1 --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.de.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Leerer Eimer +Water Bucket=Wassereimer +River Water Bucket=Flusswassereimer +Lava Bucket=Lavaeimer diff --git a/data/games/garage/mods/bucket/locale/bucket.eo.tr b/data/games/garage/mods/bucket/locale/bucket.eo.tr new file mode 100644 index 0000000..65d8ec8 --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.eo.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Malplena sitelo +Water Bucket=Sitelo da akvo +River Water Bucket=Sitelo da rivera akvo +Lava Bucket=Sitelo da lafo diff --git a/data/games/garage/mods/bucket/locale/bucket.es.tr b/data/games/garage/mods/bucket/locale/bucket.es.tr new file mode 100644 index 0000000..91a0623 --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.es.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Cubo vacío +Water Bucket=Cubo con agua +River Water Bucket=Cubo con agua de río +Lava Bucket=Cubo con lava diff --git a/data/games/garage/mods/bucket/locale/bucket.fr.tr b/data/games/garage/mods/bucket/locale/bucket.fr.tr new file mode 100644 index 0000000..5065150 --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.fr.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Seau vide +Water Bucket=Seau d'eau +River Water Bucket=Seau d'eau de rivière +Lava Bucket=Seau de lave diff --git a/data/games/garage/mods/bucket/locale/bucket.id.tr b/data/games/garage/mods/bucket/locale/bucket.id.tr new file mode 100644 index 0000000..5662563 --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.id.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Ember Kosong +Water Bucket=Ember Air +River Water Bucket=Ember Air Sungai +Lava Bucket=Ember Lava diff --git a/data/games/garage/mods/bucket/locale/bucket.it.tr b/data/games/garage/mods/bucket/locale/bucket.it.tr new file mode 100644 index 0000000..beca28c --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.it.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Secchio vuoto +Water Bucket=Secchio d'acqua +River Water Bucket=Secchio d'acqua di fiume +Lava Bucket=Secchio di lava diff --git a/data/games/garage/mods/bucket/locale/bucket.ja.tr b/data/games/garage/mods/bucket/locale/bucket.ja.tr new file mode 100644 index 0000000..06a401a --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.ja.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=空のバケツ +Water Bucket=水入りバケツ +River Water Bucket=河川水入りバケツ +Lava Bucket=溶岩入りバケツ diff --git a/data/games/garage/mods/bucket/locale/bucket.jbo.tr b/data/games/garage/mods/bucket/locale/bucket.jbo.tr new file mode 100644 index 0000000..e40d2b9 --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.jbo.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=lo baktu be no da +Water Bucket=lo baktu be lo djacu +River Water Bucket=lo baktu be lo rirxe djacu +Lava Bucket=lo baktu be lo likro'i diff --git a/data/games/garage/mods/bucket/locale/bucket.lv.tr b/data/games/garage/mods/bucket/locale/bucket.lv.tr new file mode 100644 index 0000000..5d6e2c4 --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.lv.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Tukšs spainis +Water Bucket=Spainis ar ūdeni +River Water Bucket=Spainis ar upes ūdeni +Lava Bucket=Spainis ar lavu diff --git a/data/games/garage/mods/bucket/locale/bucket.ms.tr b/data/games/garage/mods/bucket/locale/bucket.ms.tr new file mode 100644 index 0000000..02ba38a --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.ms.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Baldi Kosong +Water Bucket=Baldi Air +River Water Bucket=Baldi Air Sungai +Lava Bucket=Baldi Lava diff --git a/data/games/garage/mods/bucket/locale/bucket.pl.tr b/data/games/garage/mods/bucket/locale/bucket.pl.tr new file mode 100644 index 0000000..31600f1 --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.pl.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Puste wiadro +Water Bucket=Wiadro z wodą +River Water Bucket=Wiadro z rzeczną wodą +Lava Bucket=Wiadro z lawą diff --git a/data/games/garage/mods/bucket/locale/bucket.pt_BR.tr b/data/games/garage/mods/bucket/locale/bucket.pt_BR.tr new file mode 100644 index 0000000..429acac --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.pt_BR.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Balde Vazio +Water Bucket=Balde de Água +River Water Bucket=Balde de Água do Rio +Lava Bucket=Balde de Lava diff --git a/data/games/garage/mods/bucket/locale/bucket.ru.tr b/data/games/garage/mods/bucket/locale/bucket.ru.tr new file mode 100644 index 0000000..080ebfc --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.ru.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Пустое ведро +Water Bucket=Ведро с водой +River Water Bucket=Ведро с речной водой +Lava Bucket=Ведро с лавой diff --git a/data/games/garage/mods/bucket/locale/bucket.sk.tr b/data/games/garage/mods/bucket/locale/bucket.sk.tr new file mode 100644 index 0000000..0327b20 --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.sk.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Prázdne vedro +Water Bucket=Vedro s vodou +River Water Bucket=Vedro s vodou z rieky +Lava Bucket=Vedro s lávou diff --git a/data/games/garage/mods/bucket/locale/bucket.sv.tr b/data/games/garage/mods/bucket/locale/bucket.sv.tr new file mode 100644 index 0000000..59ee62d --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.sv.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Tom hink +Water Bucket=Vattenhink +River Water Bucket=Flodvattenshink +Lava Bucket=Lavahink diff --git a/data/games/garage/mods/bucket/locale/bucket.uk.tr b/data/games/garage/mods/bucket/locale/bucket.uk.tr new file mode 100644 index 0000000..3486d1e --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.uk.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=Порожнє відро +Water Bucket=Відро з водою +River Water Bucket=Відро з річковою водою +Lava Bucket=Відро з лавою diff --git a/data/games/garage/mods/bucket/locale/bucket.zh_CN.tr b/data/games/garage/mods/bucket/locale/bucket.zh_CN.tr new file mode 100644 index 0000000..fda5bfc --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.zh_CN.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=空桶 +Water Bucket=水桶 +River Water Bucket=河水桶 +Lava Bucket=岩浆桶 diff --git a/data/games/garage/mods/bucket/locale/bucket.zh_TW.tr b/data/games/garage/mods/bucket/locale/bucket.zh_TW.tr new file mode 100644 index 0000000..965d657 --- /dev/null +++ b/data/games/garage/mods/bucket/locale/bucket.zh_TW.tr @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket=空桶 +Water Bucket=水桶 +River Water Bucket=河水桶 +Lava Bucket=岩漿桶 diff --git a/data/games/garage/mods/bucket/locale/template.txt b/data/games/garage/mods/bucket/locale/template.txt new file mode 100644 index 0000000..a37c103 --- /dev/null +++ b/data/games/garage/mods/bucket/locale/template.txt @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket= +Water Bucket= +River Water Bucket= +Lava Bucket= diff --git a/data/games/garage/mods/bucket/mod.conf b/data/games/garage/mods/bucket/mod.conf index d14deb4..fef4687 100644 --- a/data/games/garage/mods/bucket/mod.conf +++ b/data/games/garage/mods/bucket/mod.conf @@ -1,2 +1,4 @@ name = bucket -description = Minimal bucket to pick up liquids +description = Minetest Game mod: bucket +depends = default +optional_depends = dungeon_loot diff --git a/data/games/garage/mods/bucket/textures/bucket.png b/data/games/garage/mods/bucket/textures/bucket.png index 6779528753716365ba2d722b3587280e82d3a0e0..17b0c4933e22c427c3317c8731be7e82bed88c42 100644 GIT binary patch delta 188 zcmZ3?c$RU3WIZzj1A~Sxe=v~J3h)VW1=0!%3XYDBUS3{7K|wJwF^P$ZX=!Qs`T0#v zO%oB9ZSw)3YQ~ZvzhDN3XE)M-oIp<($B>F!z5R}S2NXD1R(B+I z|Noz7KB;%v#|t~pGO(|kzvSeyw6!x09YehXT_5f9Fg>TV$Ln3@CGEonAMP9%NY#0M o%KU)xh6K5D4TbA@ZtJ_pRc0`Y%-CKm1~i?))78&qol`;+01`e)@c;k- delta 146 zcmV;D0B!%x0iyws8Gi-<001BJ|6u?C0BT7@K~#7F&63dx03i%RZ#7qN11E5YF48@^ zT#x)n;FR?K47|@gBlNj8d8SyLb23`O#oqfC7RlMIwGV1Vy8B}He>2N5h89Ew%TNST zfGk11tXKRKfYbc)EuhF$U*{DlF#7e4C}|26>shZ6scC&W^tdH?_b0d!JMQvg8b*k%9#09Z*x zK~#9!jnBanfFKA2(9j~$K>z=1qnMp(IJGDDfd{sqp*Nqp=0zBDfvAhAUZ&Cs`_`JN z;TJLcQySF*IN2k6f(dYW;E0Zu4Bi7EK93IYaV>y+OU?~%{{nF%q5vZR0000gGKQ2tP#{ca?fM&_S0$?bH zf?IW;tdd2tN0w_H#8cH5!2g^U?h-`tkrA(7CSukef$1WfKvltKi2uyIBfsvrnw$pVB1jSEZo$`_I0ShhId=O$ERWtwq002ovPDHLk FV1n3oKG6UG diff --git a/data/games/garage/mods/bucket/textures/bucket_river_water.png b/data/games/garage/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/data/games/garage/mods/bucket/textures/bucket_water.png b/data/games/garage/mods/bucket/textures/bucket_water.png index e164b0a50fe3a0f9ce5b022636f3445f34254a7a..5af836bc8c524fecdfafa007a7d4a535ace25aba 100644 GIT binary patch delta 204 zcmV;-05kun0o?(R8Gi!+001a04^sdD05ecbR7C&)003F_09^kBMfeC}_z*w!5+wf= zVD%s%AR}G%Cp`aQVPS%Tf{>7qpP!$mrlz{Ox0d!JMQvg8b*k%9#09Z*x zK~#9!jn7LCfG`LIPyt)$NAdor6>TOltejQnK^JU4V{bmS*F{ol2U$}V*;%w1_L+!< z@yp!fsbq5iE|2JupaMc3I9JC?hUg0*F<%`J<2eBNmYf@0@&xgXytCZ^0000gGKQ2tP#^k)cC>U7|uVxLa zy?|!Pzye?>2BNcOl`N7yvRvz-ocekPXgC7z<&ckv$kjIRSuiu?C}QvKtE#+Ucb}ag z0JZ|=EdWAbVABFP7N|sF68{3ACcUmL05tx3^vb`S8+*Ridk|H^H75W7002ovPDHLk FV1lclKePY< diff --git a/data/games/garage/mods/butterflies/README.txt b/data/games/garage/mods/butterflies/README.txt new file mode 100644 index 0000000..a7f52a0 --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/butterflies/init.lua b/data/games/garage/mods/butterflies/init.lua new file mode 100644 index 0000000..ad3c79f --- /dev/null +++ b/data/games/garage/mods/butterflies/init.lua @@ -0,0 +1,121 @@ +-- butterflies/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("butterflies") + +-- Legacy compatibility, when pointabilities don't exist, pointable is set to true. +local pointable_compat = not minetest.features.item_specific_pointabilities + +-- register butterflies +local butter_list = { + {"white", S("White Butterfly")}, + {"red", S("Red Butterfly")}, + {"violet", S("Violet Butterfly")} +} + +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, + 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, + pointable = pointable_compat, + groups = {catchable = 1}, + selection_box = { + type = "fixed", + fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1}, + }, + floodable = true, + on_construct = function(pos) + minetest.get_node_timer(pos):start(1) + 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, { + drawtype = "airlike", + inventory_image = "butterflies_butterfly_"..name..".png^default_invisible_node_overlay.png", + wield_image = "butterflies_butterfly_"..name..".png^default_invisible_node_overlay.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + pointable = false, + diggable = false, + drop = "", + groups = {not_in_creative_inventory = 1}, + floodable = true, + on_construct = function(pos) + minetest.get_node_timer(pos):start(1) + 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"}, + 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/data/games/garage/mods/butterflies/license.txt b/data/games/garage/mods/butterflies/license.txt new file mode 100644 index 0000000..eebdad6 --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/butterflies/locale/butterflies.de.tr b/data/games/garage/mods/butterflies/locale/butterflies.de.tr new file mode 100644 index 0000000..2f1b982 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.de.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Weißer Schmetterling +Red Butterfly=Roter Schmetterling +Violet Butterfly=Violetter Schmetterling diff --git a/data/games/garage/mods/butterflies/locale/butterflies.eo.tr b/data/games/garage/mods/butterflies/locale/butterflies.eo.tr new file mode 100644 index 0000000..be09eb7 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.eo.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Blanka papilio +Red Butterfly=Ruĝa papilio +Violet Butterfly=Violkolora papilio diff --git a/data/games/garage/mods/butterflies/locale/butterflies.es.tr b/data/games/garage/mods/butterflies/locale/butterflies.es.tr new file mode 100644 index 0000000..59a28eb --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.es.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Mariposa blanca +Red Butterfly=Mariposa roja +Violet Butterfly=Mariposa violeta diff --git a/data/games/garage/mods/butterflies/locale/butterflies.fr.tr b/data/games/garage/mods/butterflies/locale/butterflies.fr.tr new file mode 100644 index 0000000..8f5c094 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.fr.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Papillon blanc +Red Butterfly=Papillon rouge +Violet Butterfly=Papillon violet diff --git a/data/games/garage/mods/butterflies/locale/butterflies.id.tr b/data/games/garage/mods/butterflies/locale/butterflies.id.tr new file mode 100644 index 0000000..d4429a6 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.id.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Kupu-Kupu Putih +Red Butterfly=Kupu-Kupu Merah +Violet Butterfly=Kupu-Kupu Ungu diff --git a/data/games/garage/mods/butterflies/locale/butterflies.it.tr b/data/games/garage/mods/butterflies/locale/butterflies.it.tr new file mode 100644 index 0000000..ec65da6 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.it.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Farfalla bianca +Red Butterfly=Farfalla rossa +Violet Butterfly=Farfalla viola diff --git a/data/games/garage/mods/butterflies/locale/butterflies.ja.tr b/data/games/garage/mods/butterflies/locale/butterflies.ja.tr new file mode 100644 index 0000000..5a22d6b --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.ja.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=白色の蝶 +Red Butterfly=赤色の蝶 +Violet Butterfly=紫色の蝶 diff --git a/data/games/garage/mods/butterflies/locale/butterflies.jbo.tr b/data/games/garage/mods/butterflies/locale/butterflies.jbo.tr new file mode 100644 index 0000000..f003e00 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=lo blabi toldi +Red Butterfly=lo xunre toldi +Violet Butterfly=lo zirpu toldi diff --git a/data/games/garage/mods/butterflies/locale/butterflies.lv.tr b/data/games/garage/mods/butterflies/locale/butterflies.lv.tr new file mode 100644 index 0000000..d17eb6c --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.lv.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Balts taurenis +Red Butterfly=Sarkans taurenis +Violet Butterfly=Violets taurenis diff --git a/data/games/garage/mods/butterflies/locale/butterflies.ms.tr b/data/games/garage/mods/butterflies/locale/butterflies.ms.tr new file mode 100644 index 0000000..b8bde85 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.ms.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Rama-Rama Putih +Red Butterfly=Rama-Rama Merah +Violet Butterfly=Rama-Rama Ungu diff --git a/data/games/garage/mods/butterflies/locale/butterflies.pl.tr b/data/games/garage/mods/butterflies/locale/butterflies.pl.tr new file mode 100644 index 0000000..577f0b8 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.pl.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Biały motyl +Red Butterfly=Czerwony motyl +Violet Butterfly=Fioletowy motyl diff --git a/data/games/garage/mods/butterflies/locale/butterflies.pt_BR.tr b/data/games/garage/mods/butterflies/locale/butterflies.pt_BR.tr new file mode 100644 index 0000000..af3539e --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Borboleta Branca +Red Butterfly=Borboleta Vermelha +Violet Butterfly=Borboleta Violeta diff --git a/data/games/garage/mods/butterflies/locale/butterflies.ru.tr b/data/games/garage/mods/butterflies/locale/butterflies.ru.tr new file mode 100644 index 0000000..6881f1c --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.ru.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Белая бабочка +Red Butterfly=Красная бабочка +Violet Butterfly=Фиолетовая бабочка diff --git a/data/games/garage/mods/butterflies/locale/butterflies.sk.tr b/data/games/garage/mods/butterflies/locale/butterflies.sk.tr new file mode 100644 index 0000000..c3086e7 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.sk.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Biely motýlik +Red Butterfly=Červený motýlik +Violet Butterfly=Fialový motýlik diff --git a/data/games/garage/mods/butterflies/locale/butterflies.sv.tr b/data/games/garage/mods/butterflies/locale/butterflies.sv.tr new file mode 100644 index 0000000..77bfb34 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.sv.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Vit fjäril +Red Butterfly=Röd fjäril +Violet Butterfly=Violett fjäril diff --git a/data/games/garage/mods/butterflies/locale/butterflies.uk.tr b/data/games/garage/mods/butterflies/locale/butterflies.uk.tr new file mode 100644 index 0000000..8779b00 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.uk.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Білий метелик +Red Butterfly=Червоний метелик +Violet Butterfly=Фіолетовий метелик diff --git a/data/games/garage/mods/butterflies/locale/butterflies.zh_CN.tr b/data/games/garage/mods/butterflies/locale/butterflies.zh_CN.tr new file mode 100644 index 0000000..24e0bd1 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=白蝴蝶 +Red Butterfly=红蝴蝶 +Violet Butterfly=紫蝴蝶 diff --git a/data/games/garage/mods/butterflies/locale/butterflies.zh_TW.tr b/data/games/garage/mods/butterflies/locale/butterflies.zh_TW.tr new file mode 100644 index 0000000..8d927c1 --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/butterflies.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=白蝴蝶 +Red Butterfly=紅蝴蝶 +Violet Butterfly=紫蝴蝶 diff --git a/data/games/garage/mods/butterflies/locale/template.txt b/data/games/garage/mods/butterflies/locale/template.txt new file mode 100644 index 0000000..d89503a --- /dev/null +++ b/data/games/garage/mods/butterflies/locale/template.txt @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly= +Red Butterfly= +Violet Butterfly= diff --git a/data/games/garage/mods/butterflies/mod.conf b/data/games/garage/mods/butterflies/mod.conf new file mode 100644 index 0000000..1c66497 --- /dev/null +++ b/data/games/garage/mods/butterflies/mod.conf @@ -0,0 +1,3 @@ +name = butterflies +description = Minetest Game mod: Butterflies +depends = default, flowers diff --git a/data/games/garage/mods/butterflies/textures/butterflies_butterfly_red.png b/data/games/garage/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/data/games/garage/mods/butterflies/textures/butterflies_butterfly_red_animated.png b/data/games/garage/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/data/games/garage/mods/butterflies/textures/butterflies_butterfly_violet.png b/data/games/garage/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/data/games/garage/mods/butterflies/textures/butterflies_butterfly_violet_animated.png b/data/games/garage/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/data/games/garage/mods/butterflies/textures/butterflies_butterfly_white.png b/data/games/garage/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/data/games/garage/mods/butterflies/textures/butterflies_butterfly_white_animated.png b/data/games/garage/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/data/games/garage/mods/callbacks/entities.lua b/data/games/garage/mods/callbacks/entities.lua deleted file mode 100644 index 340af17..0000000 --- a/data/games/garage/mods/callbacks/entities.lua +++ /dev/null @@ -1,101 +0,0 @@ --- Entities that test their callbacks - -local message = function(msg) - core.log("action", "[callbacks] "..msg) - core.chat_send_all(msg) -end - -local get_object_name = function(obj) - local name = "" - if obj then - if obj:is_player() then - name = obj:get_player_name() - else - name = "" - end - end - return name -end - -local spos = function(self) - return core.pos_to_string(vector.round(self.object:get_pos())) -end - --- Callback test entity (all callbacks except on_step) -core.register_entity("callbacks:callback", { - initial_properties = { - visual = "upright_sprite", - textures = { "callbacks_callback_entity.png" }, - }, - - on_activate = function(self, staticdata, dtime_s) - message("Callback entity: on_activate! pos="..spos(self).."; dtime_s="..dtime_s) - end, - on_deactivate = function(self, removal) - message("Callback entity: on_deactivate! pos="..spos(self) .. "; removal=" .. tostring(removal)) - end, - on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, dir, damage) - local name = get_object_name(puncher) - message( - "Callback entity: on_punch! ".. - "pos="..spos(self).."; puncher="..name.."; ".. - "time_from_last_punch="..time_from_last_punch.."; ".. - "tool_capabilities="..tostring(dump(tool_capabilities)).."; ".. - "dir="..tostring(dump(dir)).."; damage="..damage) - end, - on_rightclick = function(self, clicker) - local name = get_object_name(clicker) - message("Callback entity: on_rightclick! pos="..spos(self).."; clicker="..name) - end, - on_death = function(self, killer) - local name = get_object_name(killer) - message("Callback entity: on_death! pos="..spos(self).."; killer="..name) - end, - on_attach_child = function(self, child) - local name = get_object_name(child) - message("Callback entity: on_attach_child! pos="..spos(self).."; child="..name) - end, - on_detach_child = function(self, child) - local name = get_object_name(child) - message("Callback entity: on_detach_child! pos="..spos(self).."; child="..name) - end, - on_detach = function(self, parent) - local name = get_object_name(parent) - message("Callback entity: on_detach! pos="..spos(self).."; parent="..name) - end, - get_staticdata = function(self) - message("Callback entity: get_staticdata! pos="..spos(self)) - end, -}) - --- Only test on_step callback -core.register_entity("callbacks:callback_step", { - visual = "upright_sprite", - textures = { "callbacks_callback_entity_step.png" }, - on_step = function(self, dtime) - message("on_step callback entity: on_step! pos="..spos(self).."; dtime="..dtime) - end, -}) - --- Callback punch with nil puncher -core.register_entity("callbacks:callback_puncher", { - initial_properties = { - visual = "upright_sprite", - textures = { "callbacks_callback_entity.png" }, - infotext = "Callback entity for nil puncher test.", - }, - - on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, dir, damage) - if puncher then - puncher:punch(nil, time_from_last_punch, tool_capabilities, dir) - self.object:punch(nil, time_from_last_punch, tool_capabilities, dir) - else - message( - "Callback entity: on_punch with nil puncher ".. - "pos="..spos(self).."; ".. - "time_from_last_punch="..time_from_last_punch.."; ".. - "tool_capabilities="..dump(tool_capabilities).."; ".. - "dir="..dump(dir).."; damage="..damage) - end - end, -}) diff --git a/data/games/garage/mods/callbacks/init.lua b/data/games/garage/mods/callbacks/init.lua deleted file mode 100644 index ff2da97..0000000 --- a/data/games/garage/mods/callbacks/init.lua +++ /dev/null @@ -1,4 +0,0 @@ -dofile(core.get_modpath("callbacks").."/items.lua") -dofile(core.get_modpath("callbacks").."/nodes.lua") -dofile(core.get_modpath("callbacks").."/entities.lua") -dofile(core.get_modpath("callbacks").."/players.lua") diff --git a/data/games/garage/mods/callbacks/items.lua b/data/games/garage/mods/callbacks/items.lua deleted file mode 100644 index 880f393..0000000 --- a/data/games/garage/mods/callbacks/items.lua +++ /dev/null @@ -1,120 +0,0 @@ --- --- Item callbacks --- - -local function print_to_everything(msg) - core.log("action", "[callbacks] " .. msg) - core.chat_send_all(msg) -end - -core.register_craftitem("callbacks:callback_item_1", { - description = "Callback Test Item 1".."\n".. - "Tests callbacks: on_secondary_use, on_drop, on_pickup, on_use, after_use".."\n".. - "Punch/Drop + Sneak: Switch to Callback Test Item 2".."\n".. - "Aux1 + pickup item: Print additional on_pickup arguments", - inventory_image = "callbacks_callback_item_1.png", - wield_image = "callbacks_callback_item_1.png", - groups = { callback_test = 1 }, - - on_secondary_use = function(itemstack, user, pointed_thing) - print_to_everything("[callbacks:callback_item_1 on_secondary_use] " .. itemstack:get_name()) - local ctrl = user and user:get_player_control() or {} - if ctrl.sneak then - itemstack = ItemStack(itemstack) - itemstack:set_name("callbacks:callback_item_2") - return itemstack - end - end, - - on_drop = function(itemstack, dropper, pos) - print_to_everything("[callbacks:callback_item_1 on_drop] " .. itemstack:get_name()) - local ctrl = dropper and dropper:get_player_control() or {} - if ctrl.sneak then - itemstack = ItemStack(itemstack) - itemstack:set_name("callbacks:callback_item_2") - end - - return core.item_drop(itemstack, dropper, pos) - end, - - on_pickup = function(itemstack, picker, pointed_thing, ...) - print_to_everything("[callbacks:callback_item_1 on_pickup]") - assert(pointed_thing.ref:get_luaentity().name == "__builtin:item") - local ctrl = picker and picker:get_player_control() or {} - if ctrl.aux1 then - -- Debug message - print_to_everything("on_pickup dump:") - print_to_everything(dump({...})) - end - if ctrl.sneak then - -- Pick up one item of the other kind at once - local taken = itemstack:take_item() - taken:set_name("callbacks:callback_item_2") - local leftover = core.item_pickup(taken, picker, pointed_thing, ...) - leftover:set_name("callbacks:callback_item_1") - itemstack:add_item(leftover) - return itemstack - elseif ctrl.up then - -- Don't pick up - return - elseif ctrl.left then - -- Eat it - return core.do_item_eat(2, nil, itemstack, picker, pointed_thing) - else - -- Normal: pick up everything - return core.item_pickup(itemstack, picker, pointed_thing, ...) - end - end, - - on_use = function(itemstack, user, pointed_thing) - print_to_everything("[callbacks:callback_item_1 on_use] " .. itemstack:get_name()) - local ctrl = user and user:get_player_control() or {} - if ctrl.sneak then - itemstack = ItemStack(itemstack) - itemstack:set_name("callbacks:callback_item_2") - return itemstack - end - end, - - after_use = function(itemstack, user, node, digparams) -- never called - print_to_everything("[callbacks:callback_item_1 after_use]") - local ctrl = user and user:get_player_control() or {} - if ctrl.up then - itemstack = ItemStack(itemstack) - itemstack:set_name("callbacks:callback_item_2") - return itemstack - end - end, -}) - -core.register_craftitem("callbacks:callback_item_2", { - description = "Callback Test Item 2".."\n".. - "Punch to switch to Callback Test Item 1", - inventory_image = "callbacks_callback_item_2.png", - wield_image = "callbacks_callback_item_2.png", - groups = { callback_test = 1 }, - - on_use = function(itemstack, user, pointed_thing) - print_to_everything("[callbacks:callback_item_2 on_use]") - itemstack = ItemStack(itemstack) - itemstack:set_name("callbacks:callback_item_1") - return itemstack - end, -}) - -core.register_on_item_pickup(function(itemstack, picker, pointed_thing, time_from_last_punch, ...) - assert(not pointed_thing or pointed_thing.ref:get_luaentity().name == "__builtin:item") - - local item_name = itemstack:get_name() - if item_name ~= "callbacks:callback_item_1" and item_name ~= "callbacks:callback_item_2" then - return - end - print_to_everything("["..item_name.." register_on_item_pickup]") - - local ctrl = picker and picker:get_player_control() or {} - if item_name == "callbacks:callback_item_2" and not ctrl.sneak then - -- Same here. Pick up the other item type. - itemstack:set_name("callbacks:callback_item_1") - return picker:get_inventory():add_item("main", itemstack) - end -end) diff --git a/data/games/garage/mods/callbacks/mod.conf b/data/games/garage/mods/callbacks/mod.conf deleted file mode 100644 index 7f7b6b8..0000000 --- a/data/games/garage/mods/callbacks/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = callbacks -description = Adds various callback-related stuff diff --git a/data/games/garage/mods/callbacks/nodes.lua b/data/games/garage/mods/callbacks/nodes.lua deleted file mode 100644 index 67f4be4..0000000 --- a/data/games/garage/mods/callbacks/nodes.lua +++ /dev/null @@ -1,51 +0,0 @@ -local function print_to_everything(msg) - core.log("action", "[callbacks] " .. msg) - core.chat_send_all(msg) -end - -core.register_node("callbacks:callback_node", { - description = "Callback Test Node (construct/destruct/timer)".."\n".. - "Tests callbacks: on_construct, after_place_node, on_destruct, after_destruct, after_dig_node, on_timer", - tiles = {"callbacks_callback_node.png"}, - groups = {callback_test=1, dig_immediate=3}, - -- This was known to cause a bug in core.item_place_node() when used - -- via core.place_node(), causing a placer with no position - paramtype2 = "facedir", - drop = "", - - on_construct = function(pos) - print_to_everything("callbacks:callback_node:on_construct("..core.pos_to_string(pos)..")") - local meta = core.get_meta(pos) - meta:set_string("mine", "test") - local timer = core.get_node_timer(pos) - timer:start(4, 3) - end, - - after_place_node = function(pos, placer) - print_to_everything("callbacks:callback_node:after_place_node("..core.pos_to_string(pos)..")") - local meta = core.get_meta(pos) - if meta:get_string("mine") == "test" then - print_to_everything("correct metadata found") - else - print_to_everything("incorrect metadata found") - end - end, - - on_destruct = function(pos) - print_to_everything("callbacks:callback_node:on_destruct("..core.pos_to_string(pos)..")") - end, - - after_destruct = function(pos) - print_to_everything("callbacks:callback_node:after_destruct("..core.pos_to_string(pos)..")") - end, - - after_dig_node = function(pos, oldnode, oldmetadata, digger) - print_to_everything("callbacks:callback_node:after_dig_node("..core.pos_to_string(pos)..")") - end, - - on_timer = function(pos, elapsed) - print_to_everything("callbacks:callback_node:on_timer(): elapsed="..dump(elapsed)) - return true - end, -}) - diff --git a/data/games/garage/mods/callbacks/players.lua b/data/games/garage/mods/callbacks/players.lua deleted file mode 100644 index 2e9b2fa..0000000 --- a/data/games/garage/mods/callbacks/players.lua +++ /dev/null @@ -1,11 +0,0 @@ - -local message = function(msg) - core.log("action", "[callbacks] "..msg) - core.chat_send_all(msg) -end - -core.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, dir, damage) - if not hitter then - message("Player "..player:get_player_name().." punched without hitter.") - end -end) diff --git a/data/games/garage/mods/callbacks/textures/callbacks_callback_entity.png b/data/games/garage/mods/callbacks/textures/callbacks_callback_entity.png deleted file mode 100644 index 5125cc6c96328029081c67b10aa8ed48aa84a20f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|p`I>|Ar*|t97=)>CN?pZ{Mv`6 zENWx(F;BSO@L(}>39H1P{|TYIJOONpya^1~-6ELP6c!|2TNBA4#M7~rab07EbV7rP o{e%?eLvmS1OcGlzI4ChN?6a77S5aQr6lej1r>mdKI;Vst0OIK=M*si- diff --git a/data/games/garage/mods/callbacks/textures/callbacks_callback_entity_step.png b/data/games/garage/mods/callbacks/textures/callbacks_callback_entity_step.png deleted file mode 100644 index 7676150a80c4a630f626536f50a8d57e8a3bea23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|L7py-Ar*|t97=)>CNcK{dqfkx z0-c$cNpHw@`0#K+W8*{n4mK{Kg$o;1czKs(9AIHFIWx3DocT;GkCiCxvXunTrk;a@!#3`O8H)@QuCvb2TUhC} c#GZkn#dwK$=*P8rKr>)4-OoWHpsrV=6{9>$K;nxEsQC<8QL_tn2TZ?UJA`x d?(&P7L2vU?u^o$6ZU7p};OXk;vd$@?2>`z9C~E)! diff --git a/data/games/garage/mods/callbacks/textures/callbacks_callback_node.png b/data/games/garage/mods/callbacks/textures/callbacks_callback_node.png deleted file mode 100644 index e9d87434c04e6c7c9791b0ef469c41615a66b0ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|L7py-Ar*{kC$cg!C=qVQd1x)a`c3r4)d*rJPS<<4&7U~Qf}LExhL{fqAdxIgi& nQV!K9U-7;3{}vC`84-*cuP;7kyuM&E&~ye*S3j3^P6 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 + -- Faulty tool registrations may cause the interval to be set to 0 ! + if tool_capabilities and (tool_capabilities.full_punch_interval or 0) > 0 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 dir = carts:velocity_to_dir(vel) + local dir_changed = not vector.equals(dir, self.old_dir) + local update = {} + + if self.old_pos and not self.punched and not dir_changed 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 not dir_changed 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 + 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(1) or R(2) key, + -- used to ignore the key on the next rail node + local switch_keys + dir, switch_keys = carts:get_rail_direction( + pos, dir, ctrl, self.old_switch, self.railtype + ) + dir_changed = not vector.equals(dir, self.old_dir) + + local acc = 0 + if stop_wiggle or vector.equals(dir, {x=0, y=0, z=0}) then + dir = vector.new(self.old_dir) + 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 + -- End of rail: Smooth out. + pos = pos_r + dir_changed = false + dir.y = 0 + 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.. + 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 + end + + -- Limit cart speed + local vel_len = vector.length(vel) + if vel_len > carts.speed_max then + vel = vector.multiply(vel, carts.speed_max / vel_len) + update.vel = true + end + if vel_len >= carts.speed_max and acc > 0 then + acc = 0 + end + + self.object:set_acceleration(vector.multiply(dir, acc)) + + self.old_pos = vector.round(pos) + self.old_dir = vector.new(dir) + self.old_switch = switch_keys + + if self.punched then + -- Collect dropped items + for _, obj_ in pairs(minetest.get_objects_inside_radius(pos, 1)) do + local ent = obj_:get_luaentity() + -- Careful here: physical_state and disable_physics are item-internal APIs + if ent and ent.name == "__builtin:item" and ent.physical_state then + ent:disable_physics() + 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 dir.x < 0 then + yaw = 0.5 + elseif dir.x > 0 then + yaw = 1.5 + elseif 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 = S("Cart") .. "\n" .. S("(Sneak+Click to pick up)"), + inventory_image = minetest.inventorycube("carts_cart_top.png", "carts_cart_front.png", "carts_cart_side.png"), + wield_image = "carts_cart_front.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 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}, true) + + local player_name = placer and placer:get_player_name() or "" + if not minetest.is_creative_enabled(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/data/games/garage/mods/carts/functions.lua b/data/games/garage/mods/carts/functions.lua new file mode 100644 index 0000000..36b7e12 --- /dev/null +++ b/data/games/garage/mods/carts/functions.lua @@ -0,0 +1,252 @@ +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 obj and player:get_attach() == obj 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}) + + -- player_api does not update the animation + -- when the player is attached, reset to default animation + player_api.set_animation(player, "stand") + 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/data/games/garage/mods/carts/init.lua b/data/games/garage/mods/carts/init.lua new file mode 100644 index 0000000..69d59d9 --- /dev/null +++ b/data/games/garage/mods/carts/init.lua @@ -0,0 +1,28 @@ +-- carts/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("carts") + +carts = {} +carts.modpath = minetest.get_modpath("carts") +carts.railparams = {} +carts.get_translator = S + +-- 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") + +-- Register rails as dungeon loot +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + name = "carts:rail", chance = 0.35, count = {1, 6} + }) +end diff --git a/data/games/garage/mods/carts/license.txt b/data/games/garage/mods/carts/license.txt new file mode 100644 index 0000000..e2781ac --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/carts/locale/carts.de.tr b/data/games/garage/mods/carts/locale/carts.de.tr new file mode 100644 index 0000000..89a33ac --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.de.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Lore +(Sneak+Click to pick up)=(Schleichen u. Klicken zum Aufheben) +Rail=Schiene +Powered Rail=Antriebsschiene +Brake Rail=Bremsschiene diff --git a/data/games/garage/mods/carts/locale/carts.eo.tr b/data/games/garage/mods/carts/locale/carts.eo.tr new file mode 100644 index 0000000..22b5280 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.eo.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Ĉaro +(Sneak+Click to pick up)=(Ŝteliri+Alklaki por reprini) +Rail=Relo +Powered Rail=Elektra relo +Brake Rail=Bremsa relo diff --git a/data/games/garage/mods/carts/locale/carts.es.tr b/data/games/garage/mods/carts/locale/carts.es.tr new file mode 100644 index 0000000..c0857a1 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.es.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Vagoneta +(Sneak+Click to pick up)=(Agacharse+Clic para recoger) +Rail=Raíl +Powered Rail=Raíl energizado +Brake Rail=Raíl de frenado diff --git a/data/games/garage/mods/carts/locale/carts.fr.tr b/data/games/garage/mods/carts/locale/carts.fr.tr new file mode 100644 index 0000000..b092f14 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.fr.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Chariot +(Sneak+Click to pick up)=(Se baisser + clic pour ramasser) +Rail=Rail +Powered Rail=Rail de traction +Brake Rail=Rail de freinage diff --git a/data/games/garage/mods/carts/locale/carts.id.tr b/data/games/garage/mods/carts/locale/carts.id.tr new file mode 100644 index 0000000..ce0db92 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.id.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Kereta +(Sneak+Click to pick up)=(Menyelinap + Klik untuk ambil) +Rail=Rel +Powered Rail=Rel Bertenaga +Brake Rail=Rel Rem diff --git a/data/games/garage/mods/carts/locale/carts.it.tr b/data/games/garage/mods/carts/locale/carts.it.tr new file mode 100644 index 0000000..c28e403 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.it.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Vagone +(Sneak+Click to pick up)=(Strisciare+Click per raccoglierlo) +Rail=Binario +Powered Rail=Binario alimentato +Brake Rail=Binario freno diff --git a/data/games/garage/mods/carts/locale/carts.ja.tr b/data/games/garage/mods/carts/locale/carts.ja.tr new file mode 100644 index 0000000..30c14ce --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.ja.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=トロッコ +(Sneak+Click to pick up)=(スニークキーとクリックで乗ります) +Rail=レール +Powered Rail=パワードレール +Brake Rail=ブレーキレール diff --git a/data/games/garage/mods/carts/locale/carts.jbo.tr b/data/games/garage/mods/carts/locale/carts.jbo.tr new file mode 100644 index 0000000..b48c542 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.jbo.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=lo carce +(Sneak+Click to pick up)=to lo nu dzibi'o je cu samxa'e te cabra cu tadji lo nu lebna toi +Rail=lo teryre'e +Powered Rail=lo se dikca teryre'e +Brake Rail=lo terjabre teryre'e diff --git a/data/games/garage/mods/carts/locale/carts.lv.tr b/data/games/garage/mods/carts/locale/carts.lv.tr new file mode 100644 index 0000000..91fc663 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.lv.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Vagons +(Sneak+Click to pick up)=(Lavieties un klikšķiniet, lai paceltu) +Rail=Sliedes +Powered Rail=Elektrizētas sliedes +Brake Rail=Bremžu sliedes diff --git a/data/games/garage/mods/carts/locale/carts.ms.tr b/data/games/garage/mods/carts/locale/carts.ms.tr new file mode 100644 index 0000000..e8944e9 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.ms.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Pedati +(Sneak+Click to pick up)=(Selinap+Klik untuk ambil balik) +Rail=Landasan +Powered Rail=Landasan Berkuasa +Brake Rail=Landasan Brek diff --git a/data/games/garage/mods/carts/locale/carts.pl.tr b/data/games/garage/mods/carts/locale/carts.pl.tr new file mode 100644 index 0000000..d0cb879 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.pl.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Wagonik +(Sneak+Click to pick up)=(Skradanie+Naciśnij aby zebrać) +Rail=Tory +Powered Rail=Napędzane tory +Brake Rail=Hamujące tory diff --git a/data/games/garage/mods/carts/locale/carts.pt_BR.tr b/data/games/garage/mods/carts/locale/carts.pt_BR.tr new file mode 100644 index 0000000..b92f91e --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.pt_BR.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Carrinho +(Sneak+Click to pick up)=(Esgueirar + Clique para pegar) +Rail=Trilho +Powered Rail=Trilho Energizado +Brake Rail=Trilho de Freio diff --git a/data/games/garage/mods/carts/locale/carts.ru.tr b/data/games/garage/mods/carts/locale/carts.ru.tr new file mode 100644 index 0000000..cd683be --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.ru.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Вагонетка +(Sneak+Click to pick up)=(Пригнитесь и кликните по вагонетке, чтобы забрать) +Rail=Рельсы +Powered Rail=Ускоряющие рельсы +Brake Rail=Тормозящие рельсы diff --git a/data/games/garage/mods/carts/locale/carts.sk.tr b/data/games/garage/mods/carts/locale/carts.sk.tr new file mode 100644 index 0000000..6303a49 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.sk.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Vozík +(Sneak+Click to pick up)=(Zakrádanie sa + Klik pre zdvihnutie) +Rail=Koľajnica +Powered Rail=Koľajnica s pohonom +Brake Rail=Brzdná koľajnica diff --git a/data/games/garage/mods/carts/locale/carts.sv.tr b/data/games/garage/mods/carts/locale/carts.sv.tr new file mode 100644 index 0000000..0521ca8 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.sv.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Vagn +(Sneak+Click to pick up)=(Shift+Klicka för att plocka upp) +Rail=Räls +Powered Rail=Aktiverad räls +Brake Rail=Bromsräls diff --git a/data/games/garage/mods/carts/locale/carts.uk.tr b/data/games/garage/mods/carts/locale/carts.uk.tr new file mode 100644 index 0000000..3e16c72 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.uk.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=Вагонетка +(Sneak+Click to pick up)=(Пригніться та натисніть, щоби підібрати) +Rail=Рейки +Powered Rail=Електричні рейки +Brake Rail=Гальмівні рейки diff --git a/data/games/garage/mods/carts/locale/carts.zh_CN.tr b/data/games/garage/mods/carts/locale/carts.zh_CN.tr new file mode 100644 index 0000000..953cdef --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.zh_CN.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=矿车 +(Sneak+Click to pick up)=(潜行+单击以捡起) +Rail=铁轨 +Powered Rail=动力铁轨 +Brake Rail=制动铁轨 diff --git a/data/games/garage/mods/carts/locale/carts.zh_TW.tr b/data/games/garage/mods/carts/locale/carts.zh_TW.tr new file mode 100644 index 0000000..f6300d4 --- /dev/null +++ b/data/games/garage/mods/carts/locale/carts.zh_TW.tr @@ -0,0 +1,6 @@ +# textdomain: carts +Cart=礦車 +(Sneak+Click to pick up)=(潛行+單擊以撿起) +Rail=鐵軌 +Powered Rail=動力鐵軌 +Brake Rail=制動鐵軌 diff --git a/data/games/garage/mods/carts/locale/template.txt b/data/games/garage/mods/carts/locale/template.txt new file mode 100644 index 0000000..a67d95f --- /dev/null +++ b/data/games/garage/mods/carts/locale/template.txt @@ -0,0 +1,6 @@ +# textdomain: carts +Cart= +(Sneak+Click to pick up)= +Rail= +Powered Rail= +Brake Rail= diff --git a/data/games/garage/mods/carts/mod.conf b/data/games/garage/mods/carts/mod.conf new file mode 100644 index 0000000..0eab35c --- /dev/null +++ b/data/games/garage/mods/carts/mod.conf @@ -0,0 +1,4 @@ +name = carts +description = Carts (formerly boost_cart) +depends = default, player_api +optional_depends = dungeon_loot diff --git a/data/games/garage/mods/carts/models/carts_cart.b3d b/data/games/garage/mods/carts/models/carts_cart.b3d new file mode 100644 index 0000000000000000000000000000000000000000..b8b7c3a1c1a5fde54ee3c490f917114c34f9350b GIT binary patch literal 2387 zcma)-%T5$Q6owB7c)u&&6}(>&#mj1@$B{`S1W1_C=!%HkOo$SYg)2L8$4fA;VB*?z z;wuSC9lV{6*`-CR%1>PeT?OLAjDEn?S`W^-MP--;3UejIf; zyPo`UHCW63eyz{LZ>`;2uiNL9ezo?npU$qAdR$$%R(-qvO1>_&w)E`w$oAs*)i))q z^WW&}W%u=YY0thtVsX@VE-seSOO(@dl-<{I`Xk0Z?PnE7b8~A6n3-GCH(SB1QJj@e z?({~?Y$3!J9XE=~wRzdBeZ3KD6y=wQF{hNYUWt0X1~D^VyI#^>n)CJOfwk1|u|{!g z%nBiAQ_oh&_Tu-Y4!OP;_QE37WhQ9}S_44wv_tdS;)2NVhR)xH^ZFhG_{aMbL7V=_kYxy?I``+yN`E#jF zj#O(rHX5BmFl}4#iT4P4qEyptd+@P$33_BrZ=UTAKK4FgudqkhAAIaX!a?DHa5(tb zy~0u9h;S_U*e8V(!g1kL@UhPdXN1$jx!_};7y5-h;evpVeOb69TokSZAN#s+O}HxX z3xSW#(|=32DclY|_FaLWfk6R*@Ub5V_l0}H!{B2-8Xp>{kMt{9iPhpb1`5p1w2}LQT;3n zJ%XIE%rH{zVK?GHL1)7+sSb#m%?}QWG2-4IU%yO!Tnu+%BRBa+ZjoGnU;Z!mFF8!* AqW}N^ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/models/carts_cart.blend b/data/games/garage/mods/carts/models/carts_cart.blend new file mode 100644 index 0000000000000000000000000000000000000000..3446fb15a96bda3dfe8274b8f8f3326e7f3eb19d GIT binary patch literal 490080 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 z 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

`5A20~upbVf%RxBA^(?1Z~{(}2d6Mk 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/sounds/carts_cart_moving.2.ogg b/data/games/garage/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/data/games/garage/mods/carts/sounds/carts_cart_moving.3.ogg b/data/games/garage/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/data/games/garage/mods/carts/textures/carts_cart.png b/data/games/garage/mods/carts/textures/carts_cart.png new file mode 100644 index 0000000000000000000000000000000000000000..dd6c88cc63b802b3f72d32514e307d66f8b771dc GIT binary patch literal 1045 zcmV+w1nT>VP)SlkWlJ$wJtip|5jG|nD;*Mt zhljJXvqvr+DI5)8L@Oc~3nLf{DI5_S5D7#r8%;GJxw*MgHziCmAY(=@P&FYe9uy`S z5HTSZHzXFHpPx%JA3iA=s;a6sB^e?X4kQ;2KPnv^5(#5PE+ZBV6ATA1AQOUuf{l%h zTwGi(E-nB709IC3udlBc7Z*A@Iyod2D;WeozclK7X*_WOO7;mYD9dWofyGE?}6-+WW#WqNq4OkI;aGZmBEF zx^J4MFR5kJ07II>C^aAR4_Y5hO(aVqL*<&r6e)l#BgvGve5y=YRee>F;p2(_1D1Qs z`G!x_Gjm^XZ~(A~6J^rWuq6QREwvNCqeB}~1i)g0G$MTPsfK~&~Hi z1ZZ|R+3^%FchnH>?+$a3CU|fFez*4?tmmE}MXD!&M&RCq?c9^-<&VgPcxWS> z_ik#O$DN3lo1e@10sChxkb`%T6W?x6Rv%6foPF*{7Q+}|R12is3 zVn&k42f)t2#ruZJBQXbYfrS(SFpvh|{K3FvZ4kaSM=t&}>I&eh)J?~Z8Y1FZ7^~%(0s!K(|{9 P00000NkvXXu0mjfw4-gh literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/textures/carts_cart_front.png b/data/games/garage/mods/carts/textures/carts_cart_front.png new file mode 100644 index 0000000000000000000000000000000000000000..0b3015be3dd40bbaa59afca2316eb6030ce96d90 GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}dw@@fE0C5H;F1yI5f>L%66aHw z;8U08(UKO>k`dIA71Wm(Hc}KdQx-E*6*E_rv{aL@RF|^Wl(YjP9a$G$X?HzY4?{U0 zBL#0`d0$h708_<4bEP12)lf^72wSyiTMcJt=U6A51Q+cDSG{B)a??xkG)(n2%*x8j z&CM+?E}lGj@`42mnhF^cfKHk3>Eak75$@a1$k$}RSRfr2~!|IFbO zxc_O>+U(6WUz*p{ZFIj~R=*{F4*&655!b9KD!W;hmYS;ttrYt3@oj5QVDCcHgVVMp zBu(9!DRKVNvrntCxIGU(6`g3+^d>N6(`utbJ-eg1O#1fxoj!T7*7d24o3F=Ih5l^j zEN)9Y)ne&vp2`$(ys$>-lF7P-6|-|CS{6!F9N^!@BgK6)*>o<@sSKX3elF{r5}E+z CUv`cF literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/textures/carts_cart_side.png b/data/games/garage/mods/carts/textures/carts_cart_side.png new file mode 100644 index 0000000000000000000000000000000000000000..69b7fdd2112f48660dc0190453126d6c39d59a91 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMfgaDrqS0F7b#3?Q=t}M!`Po6)2{(=PyHgDd1=>N7aKsT-Tba4!kkYqjR=*Q$J;(9T9yn!C-RHlr-{EQnP0qZ&2OOvY77yZ z``=`}vYQ}qfuUTLA(w&KBeY`{OMqq2Y0(si2)5RP50XwdB;OPB%lA34zV-6XXNzvm gy}hkg|HZujnp(-e$>NPwK&LZ!y85}Sb4q9e0Pu8))c^nh literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/textures/carts_cart_top.png b/data/games/garage/mods/carts/textures/carts_cart_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8959483745a4cad231e39dfa0a85216c24d1968c GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMfx&WULS7B~8VIFoNUN&J~Hc>uK zF@APQ0WN6)PFW#NB{4o_FcQI#|UA~i`f4QX>tX**3xdo5WPU1@hcSzl9yAam7dTa9E_ zy?}s#kdTn@@bH+JnEd?wii(P+rl$7x_TJv!RjXF5S+i#S`t_SPZ{E3c=b=M~PM$n@ z<;s;?iHrP!E}!S=;usJYD@<);T3K0Ra9+g8={l literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/textures/carts_rail_crossing.png b/data/games/garage/mods/carts/textures/carts_rail_crossing.png new file mode 100644 index 0000000000000000000000000000000000000000..99dab9e4c104f3588928791887cb465a01606e39 GIT binary patch literal 301 zcmV+|0n+}7P)#b6qhxL5=q$-zw!eK zngNub%{tS(AD8yJZpJ0>L7#^BIIWUiz$SoCL#!I8VLm|&n*BV1Vk~SJDh-IC&SB)L zw?IRfXpN1MG%BH-f#0BplMVa~q*vNu;-QD6hF>$l*VNI8k7YAf3`S=l2^yN8LG>DI zkHzPv{NSIgx|b+xd|Z`KUZZ}dzy8K4h=Jk{ZV;;4EQcHZ00000NkvXXu0mjf5*~oq literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/textures/carts_rail_crossing_brk.png b/data/games/garage/mods/carts/textures/carts_rail_crossing_brk.png new file mode 100644 index 0000000000000000000000000000000000000000..ae71d7e4a4302533e704b9fcd110a59df7615678 GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMfmH?j+S0MfW|Njh6u^eylTyKd2 zUx`9L$wGh0B7cb@f2pDX$&vu6l0d1_Aj#4osj?u+vLLDQAgPKF>FQAF>M)s_FzK3b znK~efkg2Py>+J08PSfqq(Ctarosg|RF|!7?o>Ocz zr`ULIsmZ)j}F7C_z_PZ!4!2}#z2ok~mr5-k_s-%9mX{H*+2E^wOR z_rLc~TRMa@D5NsPSjHT>6`pcn+nc=I(Phg+CM}tyGSy?v8XNWFpHFbU-Tk`i<8Q0q zJ0nlL?={<4#&-Jc)r*(izW!y~QB=eh%|DTG!=`^slW(7J`28lz=A7NR^~)}Qs$D!c z>hZ@v4>C%2YV%8XPJI}=>8F^bqpGLs)R3Tyxi`1%UYo}p_DwJ0!*nBtbqo$y9?EZ% Wmbd-WZ|nwiH-o3EpUXO@geCwAV6O-O literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/textures/carts_rail_crossing_pwr.png b/data/games/garage/mods/carts/textures/carts_rail_crossing_pwr.png new file mode 100644 index 0000000000000000000000000000000000000000..fc57b08a0f9046cab6802997a635b0e1ef3e62a4 GIT binary patch literal 423 zcmV;Y0a*TtP)?Z+jlcW`x5w4#T;5*6Lp`Zl?-rwYbJJ5T1Tp#i>}J3s-kxpX zUG(dFn|N}Pcy?0w66d>W;O7FbZVF07?=YqqH1ZbgyeUPra~4jst8n+Df>8psT~ku0 z%N!x}!YOn`!TwQPDQ)K>7>WXOr=S;L4XQg4JUS_rL=5k1OA3tIp$63Fupab2YNydJ z$8l3x$JNQ21TWISPG}mGLJc|xQ3+DLSuoKl#-s+<;^W4ir5H3r4Q9tk!NG(wp_Vi8 z(poUaMa!c5mYofKW%V_kx5k{K+jFPjh~6)cwK0ml_`cY}zyHQ%zcVvn-w&!Es{#M# R?8ND?qLb<`m$5I7{doTR53@-_LJ?RIE+h)L6S{^#z% z%m)9=SId|E)E?>5ekMpZBP)u+%CfAU%*S8>@;tXJ%j)R`N=*P<+>UeWjBwsfs;nVU z|4!>+qX(BD-HvO!9(k_=Y@ZHFt@2pH5egy;PXaN3t*h+iheRVX lcGyLT_qXkP_8F-w;tM>uy3@!Yb{PNw002ovPDHLkV1n+hepLVf literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/textures/carts_rail_curved_brk.png b/data/games/garage/mods/carts/textures/carts_rail_curved_brk.png new file mode 100644 index 0000000000000000000000000000000000000000..cff2a30c2a55c764c3826c0c288f702b21a93103 GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf#sHrXS0MfW|NjgxnQR}K9A6-k z&GnVZ^OMc@mn{eYBDumq*`ffsqCmOgAo-GD`O;vyvJm--P#{vMj#R0QRIH0pt&35s ztE+2{Rc?+~Z%I&ZNz`sn(&$Xl?Ck99P1o$r)SHm4KQUW>QVtLqOwBi#QD`))$Y^%4 z@thLlxh2N)OHJmN880k1T~uzesKRs!5LKEjuQ6XyW4>zDs?~MoYw9f4G+69pU^sd5 zWG~~)dq77sl?3?#JyACKtObxa+tbA{MB;MnSyv$^M*-#wEPqctxb)(I{CBphcl8Eh z9)T%StGZeKaM%5M@PU0I+g161uS%a<7bxZBeQP@A>3U{T`U6(cuW1g&pBfeRT6>mF zV_{ga{ZEFM(e{dFiBorZBj*S)G)WwY(pI}Gk?}p0hrw&{;-$$OR(-nh-s2K)dYr?m z^0QY;s~fMnel?!xnUb%~+4}c4vx2hvu4lq?m;}>;bP0l+XkKB_*6- literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/textures/carts_rail_curved_pwr.png b/data/games/garage/mods/carts/textures/carts_rail_curved_pwr.png new file mode 100644 index 0000000000000000000000000000000000000000..2cd0770f8eec37f3afd7bd205dc4215aca77b694 GIT binary patch literal 407 zcmV;I0cie-P)d;?4_g;gHC(`8KTK`kS?=?<>#kBi(it_z{b1T<}`+S&=A zPZAjRH@9Z+phn z^m5;yOP0OAvMepnbIX2wAp|RmBHj1AOrn$Ebvv-zerS)=xH8sQSoh;0?7bgGpCp@E zJ30v-7hPLTTeh2b;+#=-UiRW1s%4#2p#-%M{z)K�jTFgcTjo1(O~ydku(H31CwN zu%U^#rGtDRa2Wr5ArP#E(5MFR!>fLPRdYt&LedAYc?~=>tiB&q0rBP#{&@@P#KZ}o zZUJV0?|KjLW2%68l>kPsftVRRKW{`LGOyhS9^nNn5Lkyj3`^et0000v6ew2|AXgM9R~#f?5-e8|EMFQd zUlt-?9x7iEDqk4}L<&{m3f18Xb#-<1(TWYxN)0hejnPVN$=aQ%I-Q-J-RZg$vh*ir z>rc)#m)@85mBUJh^pm z;eDV#8B2ovf*Bm1-ADs+7JIrlhDcn_J%2pNDNw}aV($|bNydZDdp-m#QaLGi^85e) z?V1NO!`H6MJ8+7XLC=lxT-KbAMf+sGzglE`VELzab*Gmv>Rfe0puuj!YzL8q#HIhY z+SmO5XX4WD5UKjuH=X;V!;KqU4YR60UD>$p(%fzB%g?PyEn(WT%H`6(1l{R9omKyo z&Et58V?RYo8|HXz68W#uwpiaSmfu<@hB4`YOyLe&HBgi>c)I$ztaD0e F0susXx;y{? literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/textures/carts_rail_straight_pwr.png b/data/games/garage/mods/carts/textures/carts_rail_straight_pwr.png new file mode 100644 index 0000000000000000000000000000000000000000..764fa6116bebd2ea3e32c7f7dfee72abe17ca94d GIT binary patch literal 457 zcmV;)0XF`LP)2y#kl>i73ei$av>_Lp?j6X!ok$E*L#F|;5ejp#> z^hp^6T`K$^LN9MY>O@7LNwt@%@LX}AmA7%mgUwMqmBw*jwDUL8AYY^m*jg4~j1mH4 zEv)Hy?Thr!dv(12>^%ggRkDfxse%6c;5))6#v6!*u_lC%00000NkvXXu0mjfq>9vE literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/textures/carts_rail_t_junction.png b/data/games/garage/mods/carts/textures/carts_rail_t_junction.png new file mode 100644 index 0000000000000000000000000000000000000000..0f3fd25a4ef9e26a15976a7610ffbca4fc9dd021 GIT binary patch literal 451 zcmV;!0X+VRP)c<(HIq@!Gj)*egj|i zoa&?+2N*b1ce<B762BqcDoHt)4*plYcv{YwOTSxEWh397TRZL2*k#Zq0#o#DT27SK}@b zL)B6|nJkR~%u443ra-Y|JpkPx{2Ke1fOd-N!{Lfu+|gszn5zT86v#QOrF|)Mi#SNoz5uV~fYhLy%1?b3 zH))Tqix-zkx9q}$u9F1FMC=B^j@A_8W0>W_9pS6P2;T+6o2IUz#}W*$^<}RQ<3PzwY=>Vy|3uI t8g+{P(|<@TSfz;Z`4RIu7-UR=&wn*TuCTi$5~%`vF6kflE{TYqYix#`bqyvYwFI) zYa{!;8Oqz3T-XkDi7FTcymy{9)#l!|=>fN=@tLjlds4b$)2>xESBjW;SXXQ^Re5#r z@84~Ee*TKMb5icg#I5DqitDUquiqBVRlv@$i1Gie)sl}wudo6A!NB0@>gTe~DWM4f D)FGg5 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/carts/textures/carts_rail_t_junction_pwr.png b/data/games/garage/mods/carts/textures/carts_rail_t_junction_pwr.png new file mode 100644 index 0000000000000000000000000000000000000000..565655533393db43b65b9f77dd15ab8d89b8b7f7 GIT binary patch literal 446 zcmV;v0YUzWP)VOVNLn^r|h_OylW5+bFCrr9V?Mqo&rS_BbBP)1>kS_J(Df7REV zJDoc->O_lk5BEI2d%kndRRAa?yYx%VPjH3Y@?cD3)XZzyz`E{2Ke10*8q6S&M+1NJ5-HFXC{5nh6Z>)tt3@ zaF!mE!FEmMa$-K=#lebC*yyoFI%okf1x|1usbZsG8)JVH-5crx@KTM+SNo}OZo3r5 zbuJ{Q@L=>w0vsiMj)onttH>p+-LUt9!S|Lt7)rqmc8-^;Bj3<5{^u|7BJn0V7U{ki zmSg)kkE5eS1;?x13B2nwc&)|6AGzJ1lofDg0^np*mFUG)KdRdS6bxN6w3Z5p`O|;M oE_h@UGxHE@}T*#e}aWM1P15pKz4&&yN42x#4 zIw`X_`7BK1kaXJ8GGoz9L5(go0VyDE(-Y{^Q;_ml{egjDyNWdTOR2DKpot8gu6{1- HoD!M<-`X*p diff --git a/data/games/garage/mods/chest/textures/chest_detached_chest.png b/data/games/garage/mods/chest/textures/chest_detached_chest.png deleted file mode 100644 index 8e5dafed16487affc31b90202b13bd5507b54ef6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv(Ey(iS0EkFkTlt$+TPf0NWd;CJwU&E0{FzcgC!9Xq3FBa5?qj9NRbMO$@QzWyUjP6}lo7 zO`H_2@@BPdPmdKI;Vst0LTqdiU0rr diff --git a/data/games/garage/mods/chest_of_everything/init.lua b/data/games/garage/mods/chest_of_everything/init.lua deleted file mode 100644 index e8a1728..0000000 --- a/data/games/garage/mods/chest_of_everything/init.lua +++ /dev/null @@ -1,353 +0,0 @@ -local F = core.formspec_escape -local S = core.get_translator("chest_of_everything") - -local detached_inventories = {} - --- Per-player lists (indexed by player name) -local current_pages = {} -- current page number -local current_max_pages = {} -- current max. page number -local current_searches = {} -- current search string - -local SLOTS_W = 10 -local SLOTS_H = 5 -local SLOTS = SLOTS_W * SLOTS_H - --- This determines how the items are sorted --- "by_type": Sort by item type (tool/craftitem/node/"chest_of_everything" items), then alphabetically by itemstring --- "abc": Alphabetically by itemstring -local SORT_MODE = "by_type" - -local all_items_list -- cached list of all items - --- Create detached inventories -local function add_detached_inventories(player) - local name = player:get_player_name() - local inv_items = core.create_detached_inventory("chest_of_everything_items_"..name, { - 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) - return -1 - end, - }, name) - local inv_trash = core.create_detached_inventory("chest_of_everything_trash_"..name, { - allow_take = function(inv, listname, index, stack, player) - return 0 - end, - allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) - return 0 - end, - on_put = function(inv, listname, index, stack, player) - inv:set_list(listname, {}) - end, - }, name) - inv_trash:set_size("main", 1) - detached_inventories[name] = { items = inv_items, trash = inv_trash } -end - -local sort_items_by_type = function(item1, item2) - --[[ Sort items in this order: - * Bag of Everything - * Chest of Everything - * Test tools - * Other tools - * Craftitems - * Other items - * Items from the 'broken' mod - * Dummy items ]] - local def1 = core.registered_items[item1] - local def2 = core.registered_items[item2] - local tool1 = def1.type == "tool" - local tool2 = def2.type == "tool" - local testtool1 = core.get_item_group(item1, "testtool") == 1 - local testtool2 = core.get_item_group(item2, "testtool") == 1 - local dummy1 = core.get_item_group(item1, "dummy") == 1 - local dummy2 = core.get_item_group(item2, "dummy") == 1 - local broken1 = def1.mod_origin == "broken" - local broken2 = def2.mod_origin == "broken" - local craftitem1 = def1.type == "craft" - local craftitem2 = def2.type == "craft" - if item1 == "chest_of_everything:bag" then - return true - elseif item2 == "chest_of_everything:bag" then - return false - elseif item1 == "chest_of_everything:chest" then - return true - elseif item2 == "chest_of_everything:chest" then - return false - elseif dummy1 and not dummy2 then - return false - elseif not dummy1 and dummy2 then - return true - elseif broken1 and not broken2 then - return false - elseif not broken1 and broken2 then - return true - elseif testtool1 and not testtool2 then - return true - elseif not testtool1 and testtool2 then - return false - elseif tool1 and not tool2 then - return true - elseif not tool1 and tool2 then - return false - elseif craftitem1 and not craftitem2 then - return true - elseif not craftitem1 and craftitem2 then - return false - else - return item1 < item2 - end -end - -local sort_items_alphabetically = function(item1, item2) - return item1 < item2 -end - -local collect_items = function(filter, lang_code) - local items = {} - if filter then - filter = string.trim(filter) - filter = string.lower(filter) -- to make sure the search is case-insensitive - end - for itemstring, def in pairs(core.registered_items) do - if itemstring ~= "" and itemstring ~= "unknown" and itemstring ~= "ignore" then - if filter and lang_code then - local desc = ItemStack(itemstring):get_description() - local matches - -- First, try to match original description - if desc ~= "" then - local ldesc = string.lower(desc) - matches = string.match(ldesc, filter) ~= nil - -- Second, try to match translated description - if not matches then - local tdesc = core.get_translated_string(lang_code, desc) - if tdesc ~= "" then - tdesc = string.lower(tdesc) - matches = string.match(tdesc, filter) ~= nil - end - end - -- Third, try to match translated short description - if not matches then - local sdesc = ItemStack(itemstring):get_short_description() - if sdesc ~= "" then - sdesc = core.get_translated_string(lang_code, sdesc) - sdesc = string.lower(sdesc) - matches = string.match(sdesc, filter) ~= nil - end - end - - end - -- Fourth, try to match itemstring - if not matches then - matches = string.match(itemstring, filter) ~= nil - end - - -- If item was matched, add to item list - if matches then - table.insert(items, itemstring) - end - else - table.insert(items, itemstring) - end - end - end - local compare - if SORT_MODE == "by_type" then - compare = sort_items_by_type - elseif SORT_MODE == "abc" then - compare = sort_items_alphabetically - end - table.sort(items, compare) - - return items -end - -local function update_inventory(name) - local search = current_searches[name] or "" - local items - if search == "" then - items = all_items_list - else - local lang_code = core.get_player_information(name).lang_code - items = collect_items(search, lang_code) - end - local max_page = math.ceil(#items / SLOTS) - current_max_pages[name] = max_page - - local inv = detached_inventories[name].items - inv:set_size("main", #items) - inv:set_list("main", items) - if not current_pages[name] then - current_pages[name] = 1 - end - if current_pages[name] > max_page then - current_pages[name] = max_page - end - if current_pages[name] < 1 then - current_pages[name] = 1 - end -end - -local function get_formspec(page, name) - local start = 0 + (page-1)*SLOTS - if not name then - return "" - end - local player = core.get_player_by_name(name) - local playerinvsize = player:get_inventory():get_size("main") - local hotbarsize = player:hud_get_hotbar_itemcount() - local pinv_w, pinv_h, pinv_x - pinv_w = hotbarsize - pinv_h = math.ceil(playerinvsize / pinv_w) - pinv_w = math.min(pinv_w, 10) - pinv_h = math.min(pinv_w, 4) - pinv_x = 0 - if pinv_w < 9 then - pinv_x = 1 - end - - local pagestr = "" - local max_page = current_max_pages[name] - if max_page > 1 then - pagestr = "button[0,5.45;1,1;chest_of_everything_prev;"..F(S("<")).."]".. - "button[1,5.45;1,1;chest_of_everything_next;"..F(S(">")).."]".. - "label[0,5.1;"..F(S("Page: @1/@2", page, max_page)).."]" - end - - local search_text = current_searches[name] or "" - - local inventory_list - if current_max_pages[name] > 0 then - inventory_list = "list[detached:chest_of_everything_items_"..name..";main;0,0;"..SLOTS_W..","..SLOTS_H..";"..start.."]" - else - inventory_list = "label[2.5,2.5;"..F(S("No items found.")).."]" - if search_text ~= "" then - inventory_list = inventory_list .. "button[2.5,3.25;3,0.8;search_button_reset_big;"..F(S("Reset search")).."]" - end - end - - return "size[10,10.5]".. - inventory_list .. - "list[current_player;main;"..pinv_x..",6.75;"..pinv_w..","..pinv_h..";]" .. - "label[9,5.1;"..F(S("Trash:")).."]" .. - "list[detached:chest_of_everything_trash_"..name..";main;9,5.5;1,1]" .. - "field[2.2,5.75;4,1;search;;"..F(search_text).."]" .. - "field_enter_after_edit[search;true]" .. - "field_close_on_enter[search;false]" .. - "button[6,5.45;1.6,1;search_button_start;"..F(S("Search")).."]" .. - "button[7.6,5.45;0.8,1;search_button_reset;"..F(S("X")).."]" .. - "tooltip[search_button_reset;"..F(S("Reset search")).."]" .. - pagestr .. - "listring[detached:chest_of_everything_items_"..name..";main]".. - "listring[current_player;main]".. - "listring[detached:chest_of_everything_trash_"..name..";main]" -end - -local show_formspec = function(name) - local page = current_pages[name] - local form = get_formspec(page, name) - core.show_formspec(name, "chest_of_everything:getitem", form) - return true -end - -core.register_on_player_receive_fields(function(player, formname, fields) - if formname ~= "chest_of_everything:getitem" then - return - end - local name = player:get_player_name() - local page = current_pages[name] - local old_page = page - -- Next page or previous page - if fields.chest_of_everything_next or fields.chest_of_everything_prev then - if fields.chest_of_everything_next then - page = page + 1 - elseif fields.chest_of_everything_prev then - page = page - 1 - end - -- Handle page change - if page < 1 then - page = 1 - end - local max_page = current_max_pages[name] - if page > max_page then - page = max_page - end - if page ~= old_page then - current_pages[name] = page - show_formspec(name) - end - return - -- Search - elseif (fields.search_button_start or (fields.key_enter and fields.key_enter_field == "search")) and fields.search then - current_searches[name] = fields.search - update_inventory(name) - show_formspec(name, fields.search) - return - -- Reset search - elseif (fields.search_button_reset or fields.search_button_reset_big) then - current_searches[name] = "" - update_inventory(name) - show_formspec(name) - return - end -end) - -core.register_tool("chest_of_everything:bag", { - description = S("Bag of Everything") .. "\n" .. - S("Grants access to all items"), - inventory_image = "chest_of_everything_bag.png", - wield_image = "chest_of_everything_bag.png", - groups = { disable_repair = 1 }, - on_use = function(itemstack, user) - if user and user:is_player() then - local name = user:get_player_name() - show_formspec(name) - end - end, -}) - -core.register_node("chest_of_everything:chest", { - description = S("Chest of Everything") .. "\n" .. - S("Grants access to all items"), - tiles ={"chest_of_everything_chest.png^[sheet:2x2:0,0", "chest_of_everything_chest.png^[sheet:2x2:0,0", - "chest_of_everything_chest.png^[sheet:2x2:1,0", "chest_of_everything_chest.png^[sheet:2x2:1,0", - "chest_of_everything_chest.png^[sheet:2x2:1,0", "chest_of_everything_chest.png^[sheet:2x2:0,1"}, - paramtype2 = "4dir", - groups = { dig_immediate=2, choppy=3 }, - is_ground_content = false, - on_construct = function(pos) - local meta = core.get_meta(pos) - meta:set_string("infotext", S("Chest of Everything")) - end, - on_rightclick = function(pos, node, clicker) - if clicker and clicker:is_player() then - local name = clicker:get_player_name() - show_formspec(name) - end - end, -}) - - -core.register_on_mods_loaded(function() - all_items_list = collect_items() -end) - -core.register_on_joinplayer(function(player) - local name = player:get_player_name() - current_searches[name] = "" - current_pages[name] = 1 - current_max_pages[name] = 0 - add_detached_inventories(player) - update_inventory(name) -end) - -core.register_on_leaveplayer(function(player) - local name = player:get_player_name() - current_pages[name] = nil - current_max_pages[name] = nil - current_searches[name] = nil -end) diff --git a/data/games/garage/mods/chest_of_everything/mod.conf b/data/games/garage/mods/chest_of_everything/mod.conf deleted file mode 100644 index 50dc2d5..0000000 --- a/data/games/garage/mods/chest_of_everything/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = chest_of_everything -description = Adds the chest of everything and bag of everything from which you can take all items diff --git a/data/games/garage/mods/chest_of_everything/textures/chest_of_everything_bag.png b/data/games/garage/mods/chest_of_everything/textures/chest_of_everything_bag.png deleted file mode 100644 index 7c189076d57d8349294c13db2cc688b43fd75e5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar*|t2bljYPB1#~|N7jv z|I?RfG#YfaDe^d&u^cv7#QSl}MYcp9XO5rp%LI=cJMhEgP)=i}n?#Gaf=SY6>qDv* z3^9*CZ|0CX$R^!z{k?{ny~UA+b84p;6x?o974tK5On$@E#lw&o6W4H3n8!n=(Idv^ vz?{y$#Fq^Xj2zAdiHklTsJ|m2%)szrj{NY#WV2&Ni$kQv6`qL> z9n&@ym>6>%WewaLAJ-?AB>FT%OY0)*5pGTvBaR88atuw6 (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/data/games/garage/mods/creative/init.lua b/data/games/garage/mods/creative/init.lua new file mode 100644 index 0000000..f345697 --- /dev/null +++ b/data/games/garage/mods/creative/init.lua @@ -0,0 +1,103 @@ +-- creative/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("creative") + +creative = {} +creative.get_translator = S + +local function update_sfinv(name) + minetest.after(0, function() + local player = minetest.get_player_by_name(name) + if player then + if sfinv.get_page(player):sub(1, 9) == "creative:" then + sfinv.set_page(player, sfinv.get_homepage_name(player)) + else + sfinv.set_player_inventory_formspec(player) + end + end + end) +end + +minetest.register_privilege("creative", { + description = S("Allow player to use creative inventory"), + give_to_singleplayer = false, + give_to_admin = false, + on_grant = update_sfinv, + on_revoke = update_sfinv, +}) + +-- Override the engine's creative mode function +local old_is_creative_enabled = minetest.is_creative_enabled + +function minetest.is_creative_enabled(name) + if name == "" then + return old_is_creative_enabled(name) + end + return minetest.check_player_privs(name, {creative = true}) or + old_is_creative_enabled(name) +end + +-- For backwards compatibility: +function creative.is_enabled_for(name) + return minetest.is_creative_enabled(name) +end + +dofile(minetest.get_modpath("creative") .. "/inventory.lua") + +if minetest.is_creative_enabled("") then + minetest.register_on_mods_loaded(function() + -- 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} + + -- Override the hand tool + minetest.override_item("", { + 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, + -- dig_immediate group doesn't use value 1. Value 3 is instant dig + dig_immediate = + {times = {[2] = digtime, [3] = 0}, uses = 0, maxlevel = 256}, + }, + damage_groups = {fleshy = 10}, + } + }) + end) +end + +-- Unlimited node placement +minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack) + if placer and placer:is_player() then + return minetest.is_creative_enabled(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 minetest.is_creative_enabled(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/data/games/garage/mods/creative/inventory.lua b/data/games/garage/mods/creative/inventory.lua new file mode 100644 index 0000000..f018afe --- /dev/null +++ b/data/games/garage/mods/creative/inventory.lua @@ -0,0 +1,261 @@ +-- creative/inventory.lua + +-- support for MT game translation. +local S = creative.get_translator + +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, + old_filter = nil, -- use only for caching in update_creative_inventory + old_content = nil + } + + 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 minetest.is_creative_enabled(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 minetest.is_creative_enabled(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 + +local NO_MATCH = 999 +local function match(s, filter) + if filter == "" then + return 0 + end + if s:lower():find(filter, 1, true) then + return #s - #filter + end + return NO_MATCH +end + +local function description(def, lang_code) + local s = def.description + if lang_code then + s = minetest.get_translated_string(lang_code, s) + end + return s:gsub("\n.*", "") -- First line only +end + +function creative.update_creative_inventory(player_name, tab_content) + 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}) + + if inv.filter == inv.old_filter and tab_content == inv.old_content then + return + end + inv.old_filter = inv.filter + inv.old_content = tab_content + + local items = inventory_cache[tab_content] or init_creative_cache(tab_content) + + local lang + local player_info = minetest.get_player_information(player_name) + if player_info and player_info.lang_code ~= "" then + lang = player_info.lang_code + end + + local creative_list = {} + local order = {} + for name, def in pairs(items) do + local m = match(description(def), inv.filter) + if m > 0 then + m = math.min(m, match(description(def, lang), inv.filter)) + end + if m > 0 then + m = math.min(m, match(name, inv.filter)) + end + + if m < NO_MATCH then + creative_list[#creative_list+1] = name + -- Sort by match value first so closer matches appear earlier + order[name] = string.format("%02d", m) .. name + end + end + + table.sort(creative_list, function(a, b) return order[a] < order[b] end) + + 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("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 minetest.is_creative_enabled(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 pagenum = math.floor(inv.start_i / (4*8) + 1) + local pagemax = math.max(math.ceil(inv.size / (4*8)), 1) + local esc = minetest.formspec_escape + return sfinv.make_formspec(player, context, + (inv.size == 0 and ("label[3,2;"..esc(S("No items to show.")).."]") or "") .. + "label[5.8,4.15;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" .. + [[ + image[4.08,4.2;0.8,0.8;creative_trash_icon.png] + listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] + list[detached:trash;main;4.02,4.1;1,1;] + listring[] + image_button[5,4.05;0.8,0.8;creative_prev_icon.png;creative_prev;] + image_button[7.25,4.05;0.8,0.8;creative_next_icon.png;creative_next;] + image_button[2.63,4.05;0.8,0.8;creative_search_icon.png;creative_search;] + image_button[3.25,4.05;0.8,0.8;creative_clear_icon.png;creative_clear;] + ]] .. + "tooltip[creative_search;" .. esc(S("Search")) .. "]" .. + "tooltip[creative_clear;" .. esc(S("Reset")) .. "]" .. + "tooltip[creative_prev;" .. esc(S("Previous page")) .. "]" .. + "tooltip[creative_next;" .. esc(S("Next page")) .. "]" .. + "listring[current_player;main]" .. + "field_enter_after_edit[creative_filter;true]" .. + "field_close_on_enter[creative_filter;false]" .. + "field[0.3,4.2;2.8,1.2;creative_filter;;" .. esc(inv.filter) .. "]" .. + "listring[detached:creative_" .. player_name .. ";main]" .. + "list[detached:creative_" .. player_name .. ";main;0,0;8,4;" .. tostring(inv.start_i) .. "]" .. + creative.formspec_add, true) + 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 = "" + sfinv.set_player_inventory_formspec(player, context) + elseif (fields.creative_search or + fields.key_enter_field == "creative_filter") + and fields.creative_filter then + inv.start_i = 0 + inv.filter = fields.creative_filter:sub(1, 128) -- truncate to a sane length + :gsub("[%z\1-\8\11-\31\127]", "") -- strip naughty control characters (keeps \t and \n) + :lower() -- search is case insensitive + 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 - 4*8 + if start_i < 0 then + start_i = inv.size - (inv.size % (4*8)) + if inv.size == start_i then + start_i = math.max(0, inv.size - (4*8)) + end + end + elseif fields.creative_next then + start_i = start_i + 4*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 + +-- Sort registered items +local registered_nodes = {} +local registered_tools = {} +local registered_craftitems = {} + +minetest.register_on_mods_loaded(function() + for name, def in pairs(minetest.registered_items) do + local group = def.groups or {} + + local nogroup = not (group.node or group.tool or group.craftitem) + if group.node or (nogroup and minetest.registered_nodes[name]) then + registered_nodes[name] = def + elseif group.tool or (nogroup and minetest.registered_tools[name]) then + registered_tools[name] = def + elseif group.craftitem or (nogroup and minetest.registered_craftitems[name]) then + registered_craftitems[name] = def + end + end +end) + +creative.register_tab("all", S("All"), minetest.registered_items) +creative.register_tab("nodes", S("Nodes"), registered_nodes) +creative.register_tab("tools", S("Tools"), registered_tools) +creative.register_tab("craftitems", S("Items"), registered_craftitems) + +local old_homepage_name = sfinv.get_homepage_name +function sfinv.get_homepage_name(player) + if minetest.is_creative_enabled(player:get_player_name()) then + return "creative:all" + else + return old_homepage_name(player) + end +end diff --git a/data/games/garage/mods/creative/license.txt b/data/games/garage/mods/creative/license.txt new file mode 100644 index 0000000..50ff9c7 --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/creative/locale/creative.de.tr b/data/games/garage/mods/creative/locale/creative.de.tr new file mode 100644 index 0000000..ddd88dd --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.de.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Spieler erlauben, das Kreativinventar zu benutzen +No items to show.=Keine Gegenstände vorhanden. +Search=Suchen +Reset=Zurücksetzen +Previous page=Vorherige Seite +Next page=Nächste Seite +All=Alles +Nodes=Blöcke +Tools=Werkzeuge +Items=Gegenstände diff --git a/data/games/garage/mods/creative/locale/creative.eo.tr b/data/games/garage/mods/creative/locale/creative.eo.tr new file mode 100644 index 0000000..8142baf --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.eo.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Permesi ke la ludanto uzu la kreeman stokon +No items to show.= +Search=Serĉi +Reset=Rekomencigi +Previous page=Antaŭa paĝo +Next page=Sekva paĝo +All=Ĉio +Nodes=Nodoj +Tools=Iloj +Items=Objektoj diff --git a/data/games/garage/mods/creative/locale/creative.es.tr b/data/games/garage/mods/creative/locale/creative.es.tr new file mode 100644 index 0000000..ceeb32f --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.es.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Permitir al jugador usar el inventario creativo +No items to show.=Sin artículos que mostrar. +Search=Buscar +Reset=Reiniciar +Previous page=Pág. siguiente +Next page=Pág. anterior +All=Todos +Nodes=Nodos +Tools=Herramientas +Items=Objetos diff --git a/data/games/garage/mods/creative/locale/creative.fr.tr b/data/games/garage/mods/creative/locale/creative.fr.tr new file mode 100644 index 0000000..89a4222 --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.fr.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Permettre aux joueurs d'utiliser l'inventaire du mode créatif +No items to show.= +Search=Rechercher +Reset=Réinitialiser +Previous page=Page précédente +Next page=Page suivante +All=Tout +Nodes=Nœuds +Tools=Outils +Items=Article diff --git a/data/games/garage/mods/creative/locale/creative.id.tr b/data/games/garage/mods/creative/locale/creative.id.tr new file mode 100644 index 0000000..5b859c4 --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.id.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Bolehkan pemain menggunakan inventaris kreatif +No items to show.=Tiada barang untuk ditampilkan. +Search=Cari +Reset=Atur ulang +Previous page=Halaman sebelumnya +Next page=Halaman selanjutnya +All=Semua +Nodes=Nodus +Tools=Perkakas +Items=Barang diff --git a/data/games/garage/mods/creative/locale/creative.it.tr b/data/games/garage/mods/creative/locale/creative.it.tr new file mode 100644 index 0000000..736bc94 --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.it.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Permette al giocatore di usare l'inventario creativo +No items to show.= +Search=Cerca +Reset=Azzera +Previous page=Pagina precedente +Next page=Pagina successiva +All=Tutto +Nodes=Nodi +Tools=Strumenti +Items=Oggetti diff --git a/data/games/garage/mods/creative/locale/creative.ja.tr b/data/games/garage/mods/creative/locale/creative.ja.tr new file mode 100644 index 0000000..2d734e5 --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.ja.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=プレーヤーにクリエイティブ インベントリーの使用を許可する +No items to show.= +Search=検索 +Reset=リセット +Previous page=前のページ +Next page=次のページ +All=すべて +Nodes=ブロック +Tools=道具 +Items=アイテム diff --git a/data/games/garage/mods/creative/locale/creative.jbo.tr b/data/games/garage/mods/creative/locale/creative.jbo.tr new file mode 100644 index 0000000..d8640b1 --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.jbo.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=zifre le ka pilno le finti ke dacti liste +No items to show.= +Search=sisku +Reset=kraga'igau +Previous page=lidne +Next page=selyli'e +All=ro dacti +Nodes=bliku +Tools=tutci +Items=dacti diff --git a/data/games/garage/mods/creative/locale/creative.lv.tr b/data/games/garage/mods/creative/locale/creative.lv.tr new file mode 100644 index 0000000..de8662e --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.lv.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Atļaut spēlētājam izmantot radošo inventāru +No items to show.=Nav priekšmetu ko paradīt. +Search=Meklēt +Reset=Nodzēst +Previous page=Iepriekšējā lappuse +Next page=Nākošā lappuse +All=Viss +Nodes=Bloki +Tools=Rīki +Items=Priekšmeti diff --git a/data/games/garage/mods/creative/locale/creative.ms.tr b/data/games/garage/mods/creative/locale/creative.ms.tr new file mode 100644 index 0000000..98178f1 --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.ms.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Benarkan pemain menggunakan inventori kreatif +No items to show.=Tiada item untuk ditunjukkan. +Search=Cari +Reset=Tetap semula +Previous page=Halaman sebelumnya +Next page=Halaman seterusnya +All=Semua +Nodes=Nod +Tools=Alatan +Items=Item diff --git a/data/games/garage/mods/creative/locale/creative.pl.tr b/data/games/garage/mods/creative/locale/creative.pl.tr new file mode 100644 index 0000000..1fe7857 --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.pl.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Zezwól graczom na używanie kreatywnego ekwipunku +No items to show.= +Search=Wyszukaj +Reset=Zresetuj +Previous page=Poprzednia strona +Next page=Następna strona +All=Wszystko +Nodes=Bloki +Tools=Narzędzia +Items=Przedmioty diff --git a/data/games/garage/mods/creative/locale/creative.pt_BR.tr b/data/games/garage/mods/creative/locale/creative.pt_BR.tr new file mode 100644 index 0000000..b66edcc --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.pt_BR.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Permitir o jogador usar o inventário criativo +No items to show.= +Search=Pesquisar +Reset=Redefinir +Previous page=Página anterior +Next page=Próxima página +All=Todos +Nodes=Blocos +Tools=Ferramentas +Items=Itens diff --git a/data/games/garage/mods/creative/locale/creative.ru.tr b/data/games/garage/mods/creative/locale/creative.ru.tr new file mode 100644 index 0000000..b0bb757 --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.ru.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Разрешить игроку использовать творческий инвентарь +No items to show.=Нет предметов. +Search=Поиск +Reset=Сброс +Previous page=Предыдущая страница +Next page=Следующая страница +All=Всё +Nodes=Ноды +Tools=Инструменты +Items=Предметы diff --git a/data/games/garage/mods/creative/locale/creative.sk.tr b/data/games/garage/mods/creative/locale/creative.sk.tr new file mode 100644 index 0000000..0aa8d0e --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.sk.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Povolí hráčovi použivať kreatívny inventár +No items to show.= +Search=Hľadaj +Reset=Vrátiť späť +Previous page=Predchádzajúca stránka +Next page=Nasledujúca stránka +All=Všetko +Nodes=Kocky +Tools=Nástroje +Items=Veci diff --git a/data/games/garage/mods/creative/locale/creative.sv.tr b/data/games/garage/mods/creative/locale/creative.sv.tr new file mode 100644 index 0000000..ddba02d --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.sv.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Tillåt spelare att använda kreativa saker +No items to show.= +Search=Sök +Reset=Återställ +Previous page=Förra sida +Next page=Nästa sida +All=Alla +Nodes=Noder +Tools=Verktyg +Items=Saker diff --git a/data/games/garage/mods/creative/locale/creative.uk.tr b/data/games/garage/mods/creative/locale/creative.uk.tr new file mode 100644 index 0000000..c0a817c --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.uk.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=Дозволити гравцю використовувати творчий інвентар +No items to show.=Немає результатів. +Search=Пошук +Reset=Скинути +Previous page=Попередня сторінка +Next page=Наступна сторінка +All=Все +Nodes=Ноди +Tools=Інструменти +Items=Предмети diff --git a/data/games/garage/mods/creative/locale/creative.zh_CN.tr b/data/games/garage/mods/creative/locale/creative.zh_CN.tr new file mode 100644 index 0000000..27d3e86 --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.zh_CN.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=允许玩家使用创造模式物品栏 +No items to show.= +Search=搜索 +Reset=重置 +Previous page=上一页 +Next page=下一页 +All=所有 +Nodes=节点 +Tools=工具 +Items=物品 diff --git a/data/games/garage/mods/creative/locale/creative.zh_TW.tr b/data/games/garage/mods/creative/locale/creative.zh_TW.tr new file mode 100644 index 0000000..ae9b156 --- /dev/null +++ b/data/games/garage/mods/creative/locale/creative.zh_TW.tr @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory=允許玩家使用創造模式物品欄 +No items to show.= +Search=搜索 +Reset=重置 +Previous page=上一頁 +Next page=下一頁 +All=所有 +Nodes=節點 +Tools=工具 +Items=物品 diff --git a/data/games/garage/mods/creative/locale/template.txt b/data/games/garage/mods/creative/locale/template.txt new file mode 100644 index 0000000..ee593fe --- /dev/null +++ b/data/games/garage/mods/creative/locale/template.txt @@ -0,0 +1,11 @@ +# textdomain: creative +Allow player to use creative inventory= +No items to show.= +Search= +Reset= +Previous page= +Next page= +All= +Nodes= +Tools= +Items= diff --git a/data/games/garage/mods/creative/mod.conf b/data/games/garage/mods/creative/mod.conf new file mode 100644 index 0000000..37d0d67 --- /dev/null +++ b/data/games/garage/mods/creative/mod.conf @@ -0,0 +1,3 @@ +name = creative +description = Minetest Game mod: creative +depends = sfinv diff --git a/data/games/garage/mods/creative/textures/creative_clear_icon.png b/data/games/garage/mods/creative/textures/creative_clear_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ab421d982217c402e98f09c73b76b835d80a82cb GIT binary patch literal 605 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU{djPaSW-r_4e-R+(Ql`tO4F{ zUZ{I9ZumSc_C+7HDQy-jTjq|-ff4-4e!bO!68$Pd} znsEOwzsKc%4NLtmZ#*XyK93hGHu-O_|HJIm4KtB{exFj^-`(ZDe@JS|f=h)7&&z9M zIQHKcvT;8$`NMC$#t(OeIpR56-dhOl6XLjEs8BQ6;fGq|hp7%f`j{WiW;tZe+4A3F z@`DJ4KZ`$zIxtFc*FWYc5PqR{;aoVAHBjSvmSg*bZv6C0c&^9^(=?NnI398p8atAnqI|0p`N|%?+pv@8JqA3e!TT) z#n}iZ{;oYcE@;jdp7Ui6Z+}C>-Da$>z_0~`Q*p6zVGc0mN>b)g`D3mzI*-n`=Rso3&XF0 e(grecD7Rx+YuLZwxVX_ykhrI-pUXO@geCyceF(?^ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/creative/textures/creative_next_icon.png b/data/games/garage/mods/creative/textures/creative_next_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4a3637dc14fa3b7279e0d910f01069a67dd67a78 GIT binary patch literal 578 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVB++2aSW-r_4ck|mRO)j!$k)L zrN~B(MULeQ1O>Mzq%Z8$T*E59=w@Roi}H>+5glThcbuhu=G<#&jfko^-_8)tz`vzg+js5z_wA3;XQmy2ch}2>vtKpce`*bbT*&&>mtXDJ75?^D>NA!P zTdLw~*PdG)uFa%=a00`;(D|$8UrqhG)2dMD4EF-jgZ-sKb3(SyW!cPhL+MA{+|cu@ zcPq^hb+{V(b?vVgMFz$Vx=p7`g?7mB@I3f_`e5bPL!Jiu4C;*xI&DlFB)ASdbzl&4 zX0+gBd7vWDFxi12PmuM)@#rI)UoGW$#;U-?SP`MZ(7h0>TA0Iu1*|7Y10?i@g-HNx z%#Yhi6)|@|)iy;k=5#-t{wntCid*IrBN<~t#joCe)yeQImT6n+hm6{}M^qC$80K;E z?C1RwQt+c$VS7C@^9P2E0){qw3kL4{4;Z%T_t!?`^GE(*W8IMZ`?mP;cM(6Hu_WA< zmuYCtFJKVccaSmS2OE3BLuo<+Kbn~h{v2eK`1gQ;rygR#VW24w`S}ifXlL8-_wx(x z!}BE%9Da4S%Juh&56@W(He1EKe=aZaZx6$_Re!%e|679;RUqa+^Zg8AR&$@pUh`@J O@jYGrT-G@yGywp>G3vJf literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/creative/textures/creative_prev_icon.png b/data/games/garage/mods/creative/textures/creative_prev_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e3c27a554f96aa8b7dcda8b988bd1d1703f40d GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrV3P23aSW-r_4cl9mS~_v!$XG$ zT`80Bdqq^}_38U#wT-eruMd6ws<3qZuEfx1Isfvu#_wHmFFb$M@36FU zC-1M13s=9o{gw0AE3eL2{#?IG|7!oM@~=Cq(ptCue{w(0?EjKqJ9FxoW^DXfzWVvq z!moetJmXHdkorHkH0K89_7Rr?uuYM2Z@a2~LY zXE2LrV6$WNk%yX44OVlEuZHQyg0u0V+o#39jJtL~y@8i2VSQD|-qri!E`fO54?Mqa zv)a4pvVMd1KGrp>4{J;PV=?$~GoIn_{ePSX9xq_nBOuhk!IEGga)6D$js5EJ;`lE@ z2R0o1aBio5_22c&nHhQNtppByI2gcinBAF?N1lh(pa!TIzkm%BBTv5r!(nBhP7W3W zG_FNc@PC`CJeKy;{+Ih#wTGp}vAllzn}vVX?6A~0meo&{MXRr#>OzV)5VOGZAH$Zv VbDym?@%jehd%F6$taD0e0svuI_|X6W literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/creative/textures/creative_search_icon.png b/data/games/garage/mods/creative/textures/creative_search_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..421b833e33575de33340cbd329cc4b8f108950b2 GIT binary patch literal 1363 zcmV-Z1+4msP){%yV>~7t@uyB9_-Da z4+0aw9Iyne1Dn88U=Mf?90JGjIgIc2;y0V|pQSj)1Td&)vmf{yzzlE?*aBVwRnAT| zjFfo5444N>zzg6Lt>;r5yA*AW>G|#l{z_c8%WdK9o^?$*fIxPHbU(U{)+n$2@341gl;ST9fcC$IzO_A@CA-2uuM(Ewp1Oj`=X!IBdY4{jlA{ z@Enexiy=7eTKpc^0TzJaHrg{BZR|vwX*t0zFlQvsKF{B7AlrWnYygv`QmN2xyGo@} z0ho+7-!?Ei*tSk^whCXdfqDKL;4v`X1slhs?Kch735r$>n{)1LRN2zb{Kvq}F4}oB zY)BgkUI4R3wlSxU#q_J1a?Ri9#+hGdB-lvF398X27mylo=zJ`;BxUb(ROI+5@-nHVmFZAq($B@0B!0+>m;_8-Jtd^m%)4~K0BDY?Lm zkv`plgR$!-X*0(&U@F6XmQ>JM!x2-yKzHCJ)UHt z>eobn#>3`%JO%C=`I^JZaaT?~)_{>7>d#2nT#r4VY~*VWd!ABDe*g^hP=5x(=A^ZZ z=SIHfun#G9^divLL;dLso0HZvJ{b9$!;a!6&3fDi3O&@HLfBl7W8lchD**8lASQtd zz-gd`APYgc7J#MToD0CkpqvZ9jUVccFB4~lbd-*YOjq=DyCp*6v9~9|G(1rq0uRJPN5wuYRS$BY~@mAe%zy*sEhZC;}71Gm4?@FOPO45Je!0Koo(P7>Xl-C<0Lgq6oyq zP#g(F5r`s?Zi(O*;A=geUlIJIr}HU-{kVtmE4`dQ5g7a&i@@OLSOf+?=OXw~59U(@ zp7}Wzfx*wQ2n>FXMPTrAECPd{V-Xnq9E;!^;Cq8FA|fIpA|fIpA|fIpA|fK^k6L&KS0Jsgci2kTp4Y-86XSi}0OmcTVqIHL=?Ac>eSI|F*53xr#kOOZdZm&RerN zZhZTdvg}suqt$VXqUXy49Rmk`JN@p@&gJ}8Va(Y7X3pj<3ftPP4%MR zg0q-c?3JHqd+{&FS;iA5)+RyK7+hfR@ME}GR`B}vGWYmru8+fOtu1ybF8Ru@?w0?> zR@fEK(S3%+56{ z+ge;&oIF_!*+p}N9JcW7n|?jLa%QyTVy)UPWd@hm4_+{*`G4WxwA#P0%{%5>&tFka zs2(*bhLfBMuY^ (LGPLv2.1+) +Various Minetest Game 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_side.png -- Derived from a texture by TumeniNodes (CC-BY-SA 3.0) + 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_stones_side.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) + gui_hotbar.png + gui_hotbar_selected.png + +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 + default_grass.png + default_dry_dirt.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 + gui_formbg.png + gui_furnace_arrow_bg.png + gui_furnace_arrow_fg.png + gui_hb_bg.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_lump.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_book.png + +asl97 (CC BY-SA 3.0): + default_ice.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 + +Extex101 (CC BY-SA 3.0) + default_large_cactus_seedling.png + default_dry_shrub.png -- Derived from the original texture by celeron55 + +An0n3m0us (CC BY-SA 3.0): + heart.png -- Derived from a texture by KevDoy (CC BY-SA 3.0) + bubble.png -- Derived from a texture by BlockMen (CC BY-SA 3.0) + + +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_crumbly.*.ogg + default_dig_dig_immediate.ogg + default_dig_oddly_breakable_by_hand.ogg + default_dug_node.*.ogg + default_grass_footstep.1.ogg + default_grass_footstep.2.ogg + default_grass_footstep.3.ogg + default_gravel_footstep.*.ogg + default_place_node.*.ogg + default_place_node_hard.*.ogg + default_glass_footstep.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 - (CC0 1.0) - CC0 1.0 + - https://freesound.org/people/mypantsfelldown/sounds/398937/ + 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 + +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 + +sonictechtonic (CC BY 3.0): +https://www.freesound.org/people/sonictechtonic/sounds/241872/ + player_damage.ogg + +Sheyvan (CC0 1.0): +https://freesound.org/people/Sheyvan/sounds/476113/ + default_dig_choppy.*.ogg + +lolamadeus (CC0 1.0): +https://freesound.org/people/lolamadeus/sounds/179341/ + default_gravel_dig.*.ogg + default_gravel_dug.*.ogg + +Benboncan (CC BY 3.0): +https://freesound.org/people/Benboncan/sounds/71823/ + default_dig_cracky.*.ogg + +Erdie (CC BY 3.0): +https://freesound.org/people/Erdie/sounds/41579/ + default_hard_footstep.*.ogg + +worthahep88 (CC0 1.0): +https://freesound.org/people/worthahep88/sounds/319224/ + default_sand_footstep.*.ogg + +dheming (CC BY 3.0): +https://freesound.org/people/dheming/sounds/268023/ + default_ice_dig.*.ogg + +InspectorJ (CC BY 3.0): +https://freesound.org/people/InspectorJ/sounds/416967/ + default_ice_footstep.*.ogg + +Angel_Perez_Grandi (CC BY 3.0): +https://freesound.org/people/Angel_Perez_Grandi/sounds/49190/ + default_ice_dug.ogg + +iankath (CC0 1.0) +https://freesound.org/people/iankath/sounds/173991/ + default_furnace_active.ogg + + +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 + +TumeniNodes (CC BY-SA 3.0): + pine_bush.mts + +random-geek (CC BY-SA 3.0): + blueberry_bush.mts diff --git a/data/games/garage/mods/default/aliases.lua b/data/games/garage/mods/default/aliases.lua new file mode 100644 index 0000000..6db3fc8 --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/default/chests.lua b/data/games/garage/mods/default/chests.lua new file mode 100644 index 0000000..1d9b150 --- /dev/null +++ b/data/games/garage/mods/default/chests.lua @@ -0,0 +1,380 @@ +default.chest = {} + +-- support for MT game translation. +local S = default.get_translator + +function default.chest.get_chest_formspec(pos) + local spos = pos.x .. "," .. pos.y .. "," .. pos.z + local formspec = + "size[8,9]" .. + "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 vector.equals(v.pos, pos) then + -- another player is also looking at the chest + return true + end + end + + local node = minetest.get_node(pos) + minetest.after(0.2, function() + local current_node = minetest.get_node(pos) + if current_node.name ~= swap .. "_open" then + -- the chest has already been replaced, don't try to replace what's there. + return + end + minetest.swap_node(pos, {name = swap, param2 = node.param2}) + minetest.sound_play(sound, {gain = 0.3, pos = pos, + max_hear_distance = 10}, true) + end) +end + +default.chest.open_chests = {} + +minetest.register_on_player_receive_fields(function(player, formname, fields) + local pn = player:get_player_name() + + if formname ~= "default:chest" then + if default.chest.open_chests[pn] then + default.chest.chest_lid_close(pn) + end + + return + end + + if not (fields.quit and 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(prefixed_name, d) + local name = prefixed_name:sub(1,1) == ':' and prefixed_name:sub(2,-1) or prefixed_name + 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", S("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", S("Locked Chest (owned by @1)", 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 + + local cn = clicker:get_player_name() + + if default.chest.open_chests[cn] then + default.chest.chest_lid_close(cn) + end + + minetest.sound_play(def.sound_open, {gain = 0.3, + pos = pos, max_hear_distance = 10}, true) + if not default.chest.chest_lid_obstructed(pos) then + minetest.swap_node(pos, + { name = name .. "_open", + param2 = node.param2 }) + end + minetest.after(0.2, minetest.show_formspec, cn, + "default:chest", default.chest.get_chest_formspec(pos)) + default.chest.open_chests[cn] = { 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_meta():get_string("") == "" then + return + end + + if key_meta:get_string("secret") == "" then + key_meta:set_string("secret", minetest.parse_json(itemstack:get_meta():get_string("")).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, S("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, S("a locked chest"), owner + end + else + def.on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("infotext", S("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) + local cn = clicker:get_player_name() + + if default.chest.open_chests[cn] then + default.chest.chest_lid_close(cn) + end + + minetest.sound_play(def.sound_open, {gain = 0.3, pos = pos, + max_hear_distance = 10}, true) + if not default.chest.chest_lid_obstructed(pos) then + minetest.swap_node(pos, { + name = name .. "_open", + param2 = node.param2 }) + end + minetest.after(0.2, minetest.show_formspec, + cn, + "default:chest", default.chest.get_chest_formspec(pos)) + default.chest.open_chests[cn] = { 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] = name + minetest.remove_node(pos) + return drops + end + end + + default.set_inventory_action_loggers(def, "chest") + + 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 = 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(prefixed_name, def_closed) + minetest.register_node(prefixed_name .. "_open", def_opened) + + -- convert old chests to this new variant + if name == "default:chest" or name == "default:chest_locked" then + minetest.register_lbm({ + label = "update chests to opening chests", + name = "default:upgrade_" .. name:sub(9,-1) .. "_v2", + nodenames = {name}, + action = function(pos, node) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "") + 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 + + -- close opened chests on load + local modname, chestname = prefixed_name:match("^(:?.-):(.*)$") + minetest.register_lbm({ + label = "close opened chests on load", + name = modname .. ":close_" .. chestname .. "_open", + nodenames = {prefixed_name .. "_open"}, + run_at_every_load = true, + action = function(pos, node) + node.name = prefixed_name + minetest.swap_node(pos, node) + end + }) +end + +default.chest.register_chest("default:chest", { + description = S("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("default:chest_locked", { + description = S("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, +}) + +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({ + type = "fuel", + recipe = "default:chest", + burntime = 30, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:chest_locked", + burntime = 30, +}) diff --git a/data/games/garage/mods/default/crafting.lua b/data/games/garage/mods/default/crafting.lua new file mode 100644 index 0000000..ecbe9d1 --- /dev/null +++ b/data/games/garage/mods/default/crafting.lua @@ -0,0 +1,737 @@ +-- 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: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: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: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: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: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: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: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: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:brick", + recipe = { + {"default:clay_brick", "default:clay_brick"}, + {"default:clay_brick", "default:clay_brick"}, + } +}) + +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:meselamp", + recipe = { + {"default:glass"}, + {"default:mese_crystal"}, + } +}) + +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"}, + } +}) + +minetest.register_craft({ + output = "default:large_cactus_seedling", + recipe = { + {"", "default:cactus", ""}, + {"default:cactus", "default:cactus", "default:cactus"}, + {"", "default:cactus", ""}, + } +}) + + +-- +-- 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", +}) + + +-- +-- 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:large_cactus_seedling", + burntime = 5, +}) + +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:sign_wall_wood", + burntime = 10, +}) + +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:dry_shrub", + burntime = 2, +}) diff --git a/data/games/garage/mods/default/craftitems.lua b/data/games/garage/mods/default/craftitems.lua new file mode 100644 index 0000000..4cc5f8d --- /dev/null +++ b/data/games/garage/mods/default/craftitems.lua @@ -0,0 +1,543 @@ +-- mods/default/craftitems.lua + +-- support for MT game translation. +local S = default.get_translator + +local esc = minetest.formspec_escape +local formspec_size = "size[8,8]" + +local function formspec_core(tab) + if tab == nil then tab = 1 else tab = tostring(tab) end + return "tabheader[0,0;book_header;" .. + esc(S("Write")) .. "," .. + esc(S("Read")) .. ";" .. + tab .. ";false;false]" +end + +local function formspec_write(title, text) + return "field[0.5,1;7.5,0;title;" .. esc(S("Title:")) .. ";" .. + esc(title) .. "]" .. + "textarea[0.5,1.5;7.5,7;text;" .. esc(S("Contents:")) .. ";" .. + esc(text) .. "]" .. + "button_exit[2.5,7.5;3,1;save;" .. esc(S("Save")) .. "]" +end + +local function formspec_read(owner, title, string, text, page, page_max) + return "label[0.5,0.5;" .. esc(S("by @1", owner)) .. "]" .. + "tablecolumns[color;text]" .. + "tableoptions[background=#00000000;highlight=#00000000;border=false]" .. + "table[0.4,0;7,0.5;title;#FFFF00," .. esc(title) .. "]" .. + "textarea[0.5,1.5;7.5,7;;" .. + esc(string ~= "" and string or text) .. ";]" .. + "button[2.4,7.6;0.8,0.8;book_prev;<]" .. + "label[3.2,7.7;" .. esc(S("Page @1 of @2", page, page_max)) .. "]" .. + "button[4.9,7.6;0.8,0.8;book_next;>]" +end + +local function formspec_string(lpp, page, lines, string) + for i = ((lpp * page) - lpp) + 1, lpp * page do + if not lines[i] then break end + string = string .. lines[i] .. "\n" + end + return string +end + +local book_writers = {} + +minetest.register_on_leaveplayer(function(player) + book_writers[player:get_player_name()] = nil +end) + +local tab_number +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_meta():get_string("")) + if old_data then + meta:from_table({ fields = old_data }) + end + + local data = meta:to_table().fields + + if data.owner then + title = data.title or "" + text = data.text or "" + 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 + string = formspec_string(lpp, page, lines, string) + end + end + + local formspec + if title == "" and text == "" then + formspec = formspec_write(title, text) + elseif owner == player_name then + local tab = tab_number or 1 + if tab == 2 then + formspec = formspec_core(tab) .. + formspec_read(owner, title, string, text, page, page_max) + else + formspec = formspec_core(tab) .. formspec_write(title, text) + end + else + formspec = formspec_read(owner, title, string, text, page, page_max) + end + + minetest.show_formspec(player_name, "default:book", formspec_size .. formspec) + -- Store the wield index in case the user accidentally switches before the formspec is shown + book_writers[player_name] = {wield_index = user:get_wield_index()} + 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 player_name = player:get_player_name() + local inv = player:get_inventory() + if not book_writers[player_name] then + return + end + local wield_index = book_writers[player_name].wield_index + local wield_list = player:get_wield_list() + local stack = inv:get_stack(wield_list, wield_index) + local written = stack:get_name() == "default:book_written" + if stack:get_name() ~= "default:book" and not written then + -- No book in the wield slot, abort & inform the player + minetest.chat_send_player(player_name, S("The book you were writing to mysteriously disappeared.")) + return + end + local data = stack:get_meta():to_table().fields + + local title = data.title or "" + local text = data.text or "" + + if fields.book_header ~= nil and data.owner == player_name then + local contents + local tab = tonumber(fields.book_header) + if tab == 1 then + contents = formspec_core(tab) .. + formspec_write(title, text) + elseif tab == 2 then + local lines, string = {}, "" + for str in (text .. "\n"):gmatch("([^\n]*)[\n]") do + lines[#lines+1] = str + end + string = formspec_string(lpp, data.page, lines, string) + contents = formspec_read(player_name, title, string, + text, data.page, data.page_max) + else + return -- malicious data + end + tab_number = tab + local formspec = formspec_size .. formspec_core(tab) .. contents + minetest.show_formspec(player_name, "default:book", formspec) + return + end + + if fields.quit then + book_writers[player_name] = nil + end + + if fields.save and fields.title and fields.text then + local new_stack + if not 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 + end + + if data.owner ~= player_name and title ~= "" and text ~= "" 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 = S("\"@1\" by @2", short_title, data.owner) + data.text = fields.text:sub(1, max_text_size) + data.text = data.text:gsub("\r\n", "\n"):gsub("\r", "\n") + data.text = data.text:gsub("[%z\1-\8\11-\31\127]", "") -- strip naughty control characters (keeps \t and \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 + if 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 + inv:set_stack(wield_list, wield_index, stack) +end) + + +-- +-- Craftitem registry +-- + +minetest.register_craftitem("default:blueberries", { + description = S("Blueberries"), + inventory_image = "default_blueberries.png", + groups = {food_blueberries = 1, food_berry = 1}, + on_use = minetest.item_eat(2), +}) + +minetest.register_craftitem("default:book", { + description = S("Book"), + inventory_image = "default_book.png", + groups = {book = 1, flammable = 3}, + on_use = book_on_use, +}) + +minetest.register_craftitem("default:book_written", { + description = S("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_craftitem("default:bronze_ingot", { + description = S("Bronze Ingot"), + inventory_image = "default_bronze_ingot.png" +}) + +minetest.register_craftitem("default:clay_brick", { + description = S("Clay Brick"), + inventory_image = "default_clay_brick.png", +}) + +minetest.register_craftitem("default:clay_lump", { + description = S("Clay Lump"), + inventory_image = "default_clay_lump.png", +}) + +minetest.register_craftitem("default:coal_lump", { + description = S("Coal Lump"), + inventory_image = "default_coal_lump.png", + groups = {coal = 1, flammable = 1} +}) + +minetest.register_craftitem("default:copper_ingot", { + description = S("Copper Ingot"), + inventory_image = "default_copper_ingot.png" +}) + +minetest.register_craftitem("default:copper_lump", { + description = S("Copper Lump"), + inventory_image = "default_copper_lump.png" +}) + +minetest.register_craftitem("default:diamond", { + description = S("Diamond"), + inventory_image = "default_diamond.png", +}) + +minetest.register_craftitem("default:flint", { + description = S("Flint"), + inventory_image = "default_flint.png" +}) + +minetest.register_craftitem("default:gold_ingot", { + description = S("Gold Ingot"), + inventory_image = "default_gold_ingot.png" +}) + +minetest.register_craftitem("default:gold_lump", { + description = S("Gold Lump"), + inventory_image = "default_gold_lump.png" +}) + +minetest.register_craftitem("default:iron_lump", { + description = S("Iron Lump"), + inventory_image = "default_iron_lump.png" +}) + +minetest.register_craftitem("default:mese_crystal", { + description = S("Mese Crystal"), + inventory_image = "default_mese_crystal.png", +}) + +minetest.register_craftitem("default:mese_crystal_fragment", { + description = S("Mese Crystal Fragment"), + inventory_image = "default_mese_crystal_fragment.png", +}) + +minetest.register_craftitem("default:obsidian_shard", { + description = S("Obsidian Shard"), + inventory_image = "default_obsidian_shard.png", +}) + +minetest.register_craftitem("default:paper", { + description = S("Paper"), + inventory_image = "default_paper.png", + groups = {flammable = 3}, +}) + +minetest.register_craftitem("default:steel_ingot", { + description = S("Steel Ingot"), + inventory_image = "default_steel_ingot.png" +}) + +minetest.register_craftitem("default:stick", { + description = S("Stick"), + inventory_image = "default_stick.png", + groups = {stick = 1, flammable = 2}, +}) + +minetest.register_craftitem("default:tin_ingot", { + description = S("Tin Ingot"), + inventory_image = "default_tin_ingot.png" +}) + +minetest.register_craftitem("default:tin_lump", { + description = S("Tin Lump"), + inventory_image = "default_tin_lump.png" +}) + +-- +-- Crafting recipes +-- + +minetest.register_craft({ + output = "default:book", + recipe = { + {"default:paper"}, + {"default:paper"}, + {"default:paper"}, + } +}) + +default.register_craft_metadata_copy("default:book", "default:book_written") + +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:clay_brick 4", + recipe = { + {"default:brick"}, + } +}) + +minetest.register_craft({ + output = "default:clay_lump 4", + recipe = { + {"default:clay"}, + } +}) + +minetest.register_craft({ + output = "default:coal_lump 9", + recipe = { + {"default:coalblock"}, + } +}) + +minetest.register_craft({ + output = "default:copper_ingot 9", + recipe = { + {"default:copperblock"}, + } +}) + +minetest.register_craft({ + output = "default:diamond 9", + recipe = { + {"default:diamondblock"}, + } +}) + +minetest.register_craft({ + output = "default:gold_ingot 9", + recipe = { + {"default:goldblock"}, + } +}) + +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:mese_crystal 9", + recipe = { + {"default:mese"}, + } +}) + +minetest.register_craft({ + output = "default:mese_crystal_fragment 9", + recipe = { + {"default:mese_crystal"}, + } +}) + +minetest.register_craft({ + output = "default:obsidian_shard 9", + recipe = { + {"default:obsidian"} + } +}) + +minetest.register_craft({ + output = "default:paper", + recipe = { + {"default:papyrus", "default:papyrus", "default:papyrus"}, + } +}) + +minetest.register_craft({ + output = "default:steel_ingot 9", + recipe = { + {"default:steelblock"}, + } +}) + +minetest.register_craft({ + output = "default:stick 4", + recipe = { + {"group:wood"}, + } +}) + +minetest.register_craft({ + output = "default:tin_ingot 9", + recipe = { + {"default:tinblock"}, + } +}) + +-- +-- Cooking recipes +-- + +minetest.register_craft({ + type = "cooking", + output = "default:clay_brick", + recipe = "default:clay_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:copper_ingot", + recipe = "default:copper_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:gold_ingot", + recipe = "default:gold_lump", +}) + + +minetest.register_craft({ + type = "cooking", + output = "default:steel_ingot", + recipe = "default:iron_lump", +}) + +minetest.register_craft({ + type = "cooking", + output = "default:tin_ingot", + recipe = "default:tin_lump", +}) + +-- +-- Fuels +-- + +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:coal_lump", + burntime = 40, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:paper", + burntime = 1, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "group:stick", + burntime = 1, +}) diff --git a/data/games/garage/mods/default/functions.lua b/data/games/garage/mods/default/functions.lua new file mode 100644 index 0000000..e426415 --- /dev/null +++ b/data/games/garage/mods/default/functions.lua @@ -0,0 +1,836 @@ +-- +-- Sounds +-- + +function default.node_sound_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "", gain = 1.0} + tbl.dug = tbl.dug or + {name = "default_dug_node", gain = 0.25} + tbl.place = tbl.place or + {name = "default_place_node_hard", gain = 1.0} + return tbl +end + +function default.node_sound_stone_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "default_hard_footstep", gain = 0.2} + tbl.dug = tbl.dug or + {name = "default_hard_footstep", gain = 1.0} + default.node_sound_defaults(tbl) + return tbl +end + +function default.node_sound_dirt_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "default_dirt_footstep", gain = 0.25} + tbl.dig = tbl.dig or + {name = "default_dig_crumbly", gain = 0.4} + tbl.dug = tbl.dug or + {name = "default_dirt_footstep", gain = 1.0} + tbl.place = tbl.place or + {name = "default_place_node", gain = 1.0} + default.node_sound_defaults(tbl) + return tbl +end + +function default.node_sound_sand_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "default_sand_footstep", gain = 0.05} + tbl.dug = tbl.dug or + {name = "default_sand_footstep", gain = 0.15} + tbl.place = tbl.place or + {name = "default_place_node", gain = 1.0} + default.node_sound_defaults(tbl) + return tbl +end + +function default.node_sound_gravel_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "default_gravel_footstep", gain = 0.25} + tbl.dig = tbl.dig or + {name = "default_gravel_dig", gain = 0.35} + tbl.dug = tbl.dug or + {name = "default_gravel_dug", gain = 1.0} + tbl.place = tbl.place or + {name = "default_place_node", gain = 1.0} + default.node_sound_defaults(tbl) + return tbl +end + +function default.node_sound_wood_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "default_wood_footstep", gain = 0.15} + tbl.dig = tbl.dig or + {name = "default_dig_choppy", gain = 0.4} + tbl.dug = tbl.dug or + {name = "default_wood_footstep", gain = 1.0} + default.node_sound_defaults(tbl) + return tbl +end + +function default.node_sound_leaves_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "default_grass_footstep", gain = 0.45} + tbl.dug = tbl.dug or + {name = "default_grass_footstep", gain = 0.7} + tbl.place = tbl.place or + {name = "default_place_node", gain = 1.0} + default.node_sound_defaults(tbl) + return tbl +end + +function default.node_sound_glass_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "default_glass_footstep", gain = 0.3} + tbl.dig = tbl.dig or + {name = "default_glass_footstep", gain = 0.5} + tbl.dug = tbl.dug or + {name = "default_break_glass", gain = 1.0} + default.node_sound_defaults(tbl) + return tbl +end + +function default.node_sound_ice_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "default_ice_footstep", gain = 0.15} + tbl.dig = tbl.dig or + {name = "default_ice_dig", gain = 0.5} + tbl.dug = tbl.dug or + {name = "default_ice_dug", gain = 0.5} + default.node_sound_defaults(tbl) + return tbl +end + +function default.node_sound_metal_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "default_metal_footstep", gain = 0.2} + tbl.dig = tbl.dig or + {name = "default_dig_metal", gain = 0.5} + tbl.dug = tbl.dug or + {name = "default_dug_metal", gain = 0.5} + tbl.place = tbl.place or + {name = "default_place_node_metal", gain = 0.5} + default.node_sound_defaults(tbl) + return tbl +end + +function default.node_sound_water_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "default_water_footstep", gain = 0.2} + default.node_sound_defaults(tbl) + return tbl +end + +function default.node_sound_snow_defaults(tbl) + tbl = tbl or {} + tbl.footstep = tbl.footstep or + {name = "default_snow_footstep", gain = 0.2} + tbl.dig = tbl.dig or + {name = "default_snow_footstep", gain = 0.3} + tbl.dug = tbl.dug or + {name = "default_snow_footstep", gain = 0.3} + tbl.place = tbl.place or + {name = "default_place_node", gain = 1.0} + default.node_sound_defaults(tbl) + return tbl +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.2}, true) +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" and + name ~= "default:dirt_with_grass" and + name ~= "default:dirt_with_dry_grass" and + name ~= "default:dirt_with_rainforest_litter" and + name ~= "default:dry_dirt" and + name ~= "default:dry_dirt_with_dry_grass" 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"}, + -- Grows on the dirt and surface dirt nodes of the biomes papyrus appears in, + -- including the old savanna nodes. + -- 'default:dirt_with_grass' is here only because it was allowed before. + neighbors = { + "default:dirt", + "default:dirt_with_grass", + "default:dirt_with_dry_grass", + "default:dirt_with_rainforest_litter", + "default:dry_dirt", + "default:dry_dirt_with_dry_grass", + }, + interval = 14, + chance = 71, + action = function(...) + default.grow_papyrus(...) + end +}) + + +-- +-- Dig upwards +-- + +local in_dig_up = false + +function default.dig_up(pos, node, digger, max_height) + if in_dig_up then return end -- Do not recurse + if digger == nil then return end + max_height = max_height or 100 + + in_dig_up = true + for y = 1, max_height do + local up_pos = vector.offset(pos, 0, y, 0) + local up_node = minetest.get_node(up_pos) + if up_node.name ~= node.name then + break + end + if not minetest.node_dig(up_pos, up_node, digger) then + break + end + end + in_dig_up = false +end + +-- errors are hard to handle, instead we rely on resetting this value the next step +minetest.register_globalstep(function() + in_dig_up = false +end) + + +-- +-- Fence registration helper +-- +local fence_collision_extra = minetest.settings:get_bool("enable_fence_tall") and 3/8 or 0 + +function default.register_fence(name, def) + 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}} + }, + collision_box = { + type = "connected", + fixed = {-1/8, -1/2, -1/8, 1/8, 1/2 + fence_collision_extra, 1/8}, + -- connect_top = + -- connect_bottom = + connect_front = {-1/8, -1/2, -1/2, 1/8, 1/2 + fence_collision_extra, -1/8}, + connect_left = {-1/2, -1/2, -1/8, -1/8, 1/2 + fence_collision_extra, 1/8}, + connect_back = {-1/8, -1/2, 1/8, 1/8, 1/2 + fence_collision_extra, 1/2}, + connect_right = { 1/8, -1/2, -1/8, 1/2, 1/2 + fence_collision_extra, 1/8} + }, + 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 + + local material = def.material + def.texture = nil + def.material = nil + + minetest.register_node(name, def) + + -- Register crafting recipe, trim away starting colon if any + if not material then return end + name = string.gsub(name, "^:", "") + minetest.register_craft({ + output = name .. " 4", + recipe = { + { material, 'group:stick', material }, + { material, 'group:stick', material }, + } + }) +end + + +-- +-- Fence rail registration helper +-- + +function default.register_fence_rail(name, def) + 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}} + }, + collision_box = { + type = "connected", + fixed = {-1/8, -1/2, -1/8, 1/8, 1/2 + fence_collision_extra, 1/8}, + -- connect_top = + -- connect_bottom = + connect_front = {-1/8, -1/2, -1/2, 1/8, 1/2 + fence_collision_extra, -1/8}, + connect_left = {-1/2, -1/2, -1/8, -1/8, 1/2 + fence_collision_extra, 1/8}, + connect_back = {-1/8, -1/2, 1/8, 1/8, 1/2 + fence_collision_extra, 1/2}, + connect_right = { 1/8, -1/2, -1/8, 1/2, 1/2 + fence_collision_extra, 1/8} + }, + 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 + + local material = def.material + def.texture = nil + def.material = nil + + minetest.register_node(name, def) + + -- Register crafting recipe, trim away starting colon if any + if not material then return end + name = string.gsub(name, "^:", "") + minetest.register_craft({ + output = name .. " 16", + recipe = { + { material, material }, + { "", ""}, + { material, material }, + } + }) +end + +-- +-- Mese post registration helper +-- + +function default.register_mesepost(name, def) + local post_texture = def.texture .. "^default_mese_post_light_side.png^[makealpha:0,0,0" + local post_texture_dark = def.texture .. "^default_mese_post_light_side_dark.png^[makealpha:0,0,0" + -- Allow almost everything to be overridden + local default_fields = { + wield_image = post_texture, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16}, + }, + }, + paramtype = "light", + tiles = {def.texture, def.texture, post_texture_dark, post_texture_dark, post_texture, post_texture}, + use_texture_alpha = "opaque", + 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(), + } + for k, v in pairs(default_fields) do + if def[k] == nil then + def[k] = v + end + end + + local material = def.material + def.texture = nil + def.material = nil + + minetest.register_node(name, def) + + -- Register crafting recipe, trim away starting colon if any + if not material then return end + name = string.gsub(name, "^:", "") + minetest.register_craft({ + output = name .. " 4", + recipe = { + {'', 'default:glass', ''}, + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {'', material, ''}, + } + }) +end + +-- +-- Leafdecay +-- + +-- Prevent decay of placed leaves + +default.after_place_leaves = function(pos, placer, itemstack, pointed_thing) + if placer and placer:is_player() 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 ~= 1 and not timer:is_started() then + timer:start(math.random(20, 120) / 10) + end + end +end + +local movement_gravity = tonumber( + minetest.settings:get("movement_gravity")) or 9.81 + +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) + + -- spawn a few particles for the removed node + minetest.add_particlespawner({ + amount = 8, + time = 0.001, + minpos = vector.subtract(pos, {x=0.5, y=0.5, z=0.5}), + maxpos = vector.add(pos, {x=0.5, y=0.5, z=0.5}), + minvel = vector.new(-0.5, -1, -0.5), + maxvel = vector.new(0.5, 0, 0.5), + minacc = vector.new(0, -movement_gravity, 0), + maxacc = vector.new(0, -movement_gravity, 0), + minsize = 0, + maxsize = 0, + node = node, + }) +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 default: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"}) + 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", "default:dry_dirt_with_dry_grass"}, + 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 + if node.name == "default:dry_dirt_with_dry_grass" then + minetest.set_node(pos, {name = "default:dry_dirt"}) + else + minetest.set_node(pos, {name = "default:dirt"}) + end + end + end +}) + + +-- +-- Moss growth on cobble near water +-- + +local moss_correspondences = { + ["default:cobble"] = "default:mossycobble", + ["stairs:slab_cobble"] = "stairs:slab_mossycobble", + ["stairs:stair_cobble"] = "stairs:stair_mossycobble", + ["stairs:stair_inner_cobble"] = "stairs:stair_inner_mossycobble", + ["stairs:stair_outer_cobble"] = "stairs:stair_outer_mossycobble", + ["walls:cobble"] = "walls:mossycobble", +} +minetest.register_abm({ + label = "Moss growth", + nodenames = {"default:cobble", "stairs:slab_cobble", "stairs:stair_cobble", + "stairs:stair_inner_cobble", "stairs:stair_outer_cobble", + "walls:cobble"}, + neighbors = {"group:water"}, + interval = 16, + chance = 200, + catch_up = false, + action = function(pos, node) + node.name = moss_correspondences[node.name] + if node.name then + minetest.set_node(pos, node) + end + end +}) + +-- +-- Register a craft to copy the metadata of items +-- + +function default.register_craft_metadata_copy(ingredient, result) + minetest.register_craft({ + type = "shapeless", + output = result, + recipe = {ingredient, result} + }) + + minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) + if itemstack:get_name() ~= result then + return + end + + local original + local index + for i = 1, #old_craft_grid do + if old_craft_grid[i]:get_name() == result then + original = old_craft_grid[i] + index = i + end + end + if not original then + return + end + local copymeta = original:get_meta():to_table() + itemstack:get_meta():from_table(copymeta) + -- put the book with metadata back in the craft grid + craft_inv:set_stack("craft", index, original) + end) +end + +-- +-- Log API / helpers +-- + +local log_non_player_actions = minetest.settings:get_bool("log_non_player_actions", false) + +local is_pos = function(v) + return type(v) == "table" and + type(v.x) == "number" and type(v.y) == "number" and type(v.z) == "number" +end + +function default.log_player_action(player, ...) + local msg = player:get_player_name() + if player.is_fake_player or not player:is_player() then + if not log_non_player_actions then + return + end + msg = msg .. "(" .. (type(player.is_fake_player) == "string" + and player.is_fake_player or "*") .. ")" + end + for _, v in ipairs({...}) do + -- translate pos + local part = is_pos(v) and minetest.pos_to_string(v) or v + -- no leading spaces before punctuation marks + msg = msg .. (string.match(part, "^[;,.]") and "" or " ") .. part + end + minetest.log("action", msg) +end + +local nop = function() end +function default.set_inventory_action_loggers(def, name) + local on_move = def.on_metadata_inventory_move or nop + def.on_metadata_inventory_move = function(pos, from_list, from_index, + to_list, to_index, count, player) + default.log_player_action(player, "moves stuff in", name, "at", pos) + return on_move(pos, from_list, from_index, to_list, to_index, count, player) + end + local on_put = def.on_metadata_inventory_put or nop + def.on_metadata_inventory_put = function(pos, listname, index, stack, player) + default.log_player_action(player, "moves", stack:get_name(), stack:get_count(), "to", name, "at", pos) + return on_put(pos, listname, index, stack, player) + end + local on_take = def.on_metadata_inventory_take or nop + def.on_metadata_inventory_take = function(pos, listname, index, stack, player) + default.log_player_action(player, "takes", stack:get_name(), stack:get_count(), "from", name, "at", pos) + return on_take(pos, listname, index, stack, player) + 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 and player:is_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 minetest.get_item_group(item:get_name(), "key") == 1 then + local key_meta = item:get_meta() + + if key_meta:get_string("secret") == "" then + local key_oldmeta = item:get_meta():get_string("") + 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/data/games/garage/mods/default/furnace.lua b/data/games/garage/mods/default/furnace.lua new file mode 100644 index 0000000..4ef4e02 --- /dev/null +++ b/data/games/garage/mods/default/furnace.lua @@ -0,0 +1,436 @@ +-- default/furnace.lua + +-- support for MT game translation. +local S = default.get_translator + +-- List of sound handles for active furnace +local furnace_fire_sounds = {} + +-- +-- Formspecs +-- + +function default.get_furnace_active_formspec(fuel_percent, item_percent) + return "size[8,8.5]".. + "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:".. + (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]".. + "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", S("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 stop_furnace_sound(pos, fadeout_step) + local hash = minetest.hash_node_position(pos) + local sound_ids = furnace_fire_sounds[hash] + if sound_ids then + for _, sound_id in ipairs(sound_ids) do + minetest.sound_fade(sound_id, -1, 0) + end + furnace_fire_sounds[hash] = nil + end +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) + -- + -- Initialize 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 dst_full = false + + local timer_elapsed = meta:get_int("timer_elapsed") or 0 + meta:set_int("timer_elapsed", timer_elapsed + 1) + + local cookable, cooked + local fuel + + local update = true + local items_smelt = 0 + 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 + else + dst_full = true + end + items_smelt = items_smelt + 1 + 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 + -- prevent blocking of fuel inventory (for automatization mods) + local is_fuel = minetest.get_craft_result({method = "fuel", width = 1, items = {afterfuel.items[1]:to_string()}}) + if is_fuel.time == 0 then + table.insert(fuel.replacements, afterfuel.items[1]) + inv:set_stack("fuel", 1, "") + else + -- Take fuel from fuel list + inv:set_stack("fuel", 1, afterfuel.items[1]) + end + -- Put replacements in dst list or drop them on the furnace. + local replacements = fuel.replacements + if replacements[1] then + local leftover = inv:add_item("dst", replacements[1]) + if not leftover:is_empty() then + local above = vector.new(pos.x, pos.y + 1, pos.z) + local drop_pos = minetest.find_node_near(above, 1, {"air"}) or above + minetest.item_drop(replacements[1], nil, drop_pos) + end + end + 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 items_smelt > 0 then + -- Play cooling sound + minetest.sound_play("default_cool_lava", + { pos = pos, max_hear_distance = 16, gain = 0.07 * math.min(items_smelt, 7) }, true) + end + if fuel and fuel_totaltime > fuel.time then + fuel_totaltime = fuel.time + end + if srclist and 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 dst_full then + item_state = S("100% (output full)") + else + item_state = S("@1%", item_percent) + end + else + if srclist and not srclist[1]:is_empty() then + item_state = S("Not cookable") + else + item_state = S("Empty") + end + end + + local fuel_state = S("Empty") + local active = false + local result = false + + if fuel_totaltime ~= 0 then + active = true + local fuel_percent = 100 - math.floor(fuel_time / fuel_totaltime * 100) + fuel_state = S("@1%", 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 + + -- Play sound every 5 seconds while the furnace is active + if timer_elapsed == 0 or (timer_elapsed + 1) % 5 == 0 then + local sound_id = minetest.sound_play("default_furnace_active", + {pos = pos, max_hear_distance = 16, gain = 0.25}) + local hash = minetest.hash_node_position(pos) + furnace_fire_sounds[hash] = furnace_fire_sounds[hash] or {} + table.insert(furnace_fire_sounds[hash], sound_id) + -- Only remember the 3 last sound handles + if #furnace_fire_sounds[hash] > 3 then + table.remove(furnace_fire_sounds[hash], 1) + end + -- Remove the sound ID automatically from table after 11 seconds + minetest.after(11, function() + if not furnace_fire_sounds[hash] then + return + end + for f=#furnace_fire_sounds[hash], 1, -1 do + if furnace_fire_sounds[hash][f] == sound_id then + table.remove(furnace_fire_sounds[hash], f) + end + end + if #furnace_fire_sounds[hash] == 0 then + furnace_fire_sounds[hash] = nil + end + end) + end + else + if fuellist and not fuellist[1]:is_empty() then + fuel_state = S("@1%", 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() + meta:set_int("timer_elapsed", 0) + + stop_furnace_sound(pos) + end + + + local infotext + if active then + infotext = S("Furnace active") + else + infotext = S("Furnace inactive") + end + infotext = infotext .. "\n" .. S("(Item: @1; Fuel: @2)", item_state, 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 +-- + +local function apply_logger(def) + default.set_inventory_action_loggers(def, "furnace") + return def +end + +minetest.register_node("default:furnace", apply_logger({ + description = S("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) + local inv = meta:get_inventory() + inv:set_size('src', 1) + inv:set_size('fuel', 1) + inv:set_size('dst', 4) + furnace_node_timer(pos, 0) + 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_metadata_inventory_take = function(pos) + -- check whether the furnace is empty 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", apply_logger({ + description = S("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, + on_destruct = function(pos) + stop_furnace_sound(pos) + end, + + 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, +})) + +minetest.register_craft({ + output = "default:furnace", + recipe = { + {"group:stone", "group:stone", "group:stone"}, + {"group:stone", "", "group:stone"}, + {"group:stone", "group:stone", "group:stone"}, + } +}) diff --git a/data/games/garage/mods/default/init.lua b/data/games/garage/mods/default/init.lua new file mode 100644 index 0000000..649b5c0 --- /dev/null +++ b/data/games/garage/mods/default/init.lua @@ -0,0 +1,95 @@ +-- Minetest Game mod: default +-- See README.txt for licensing and other information. + +-- The API documentation in here was moved into game_api.txt + +-- Load support for MT game translation. +local S = minetest.get_translator("default") + +-- Definitions made by this mod that other mods can use too +default = {} + +default.LIGHT_MAX = 14 +default.get_translator = S + +-- Check for engine features required by MTG +-- This provides clear error behaviour when MTG is newer than the installed engine +-- and avoids obscure, hard to debug runtime errors. +-- This section should be updated before release and older checks can be dropped +-- when newer ones are introduced. +if ItemStack("").add_wear_by_uses == nil then + error("\nThis version of Minetest Game is incompatible with your engine version ".. + "(which is too old). You should download a version of Minetest Game that ".. + "matches the installed engine version.\n") +end + +-- GUI related stuff +minetest.register_on_joinplayer(function(player) + -- Set formspec prepend + local formspec = [[ + bgcolor[#080808BB;true] + listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]] + local name = player:get_player_name() + local info = minetest.get_player_information(name) + if info.formspec_version > 1 then + formspec = formspec .. "background9[5,5;1,1;gui_formbg.png;true;10]" + else + formspec = formspec .. "background[5,5;1,1;gui_formbg.png;true]" + end + player:set_formspec_prepend(formspec) + + -- Set hotbar textures + player:hud_set_hotbar_image("gui_hotbar.png") + player:hud_set_hotbar_selected_image("gui_hotbar_selected.png") +end) + +function default.get_hotbar_bg(x,y) + local out = "" + for i=0,7,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]".. + "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") + +-- Smoke test that is run via ./util/test/run.sh +if minetest.settings:get_bool("minetest_game_smoke_test") then + minetest.after(0, function() + minetest.emerge_area(vector.new(0, 0, 0), vector.new(32, 32, 32)) + local pos = vector.new(9, 9, 9) + local function check() + if minetest.get_node(pos).name ~= "ignore" then + minetest.request_shutdown() + return + end + minetest.after(0, check) + end + check() + end) +end diff --git a/data/games/garage/mods/default/item_entity.lua b/data/games/garage/mods/default/item_entity.lua new file mode 100644 index 0000000..50b4cd0 --- /dev/null +++ b/data/games/garage/mods/default/item_entity.lua @@ -0,0 +1,86 @@ +-- mods/default/item_entity.lua + +local builtin_item = minetest.registered_entities["__builtin:item"] + +-- strictly speaking none of this is part of the API, so do some checks +-- and if it looks wrong skip the modifications +if not builtin_item or type(builtin_item.set_item) ~= "function" or type(builtin_item.on_step) ~= "function" then + minetest.log("warning", "Builtin item entity does not look as expected, skipping overrides.") + return +end + +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 + local p = self.object:get_pos() + self.object:remove() + minetest.sound_play("default_item_smoke", { + pos = p, + gain = 1.0, + max_hear_distance = 8, + }, true) + 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 every 10 s + self.ignite_timer = (self.ignite_timer or 0) + dtime + if self.ignite_timer > 10 then + self.ignite_timer = 0 + + local pos = self.object:get_pos() + if pos == nil then + return -- object already deleted + end + local node = minetest.get_node_or_nil(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, { __index = builtin_item }) +minetest.register_entity(":__builtin:item", item) diff --git a/data/games/garage/mods/default/legacy.lua b/data/games/garage/mods/default/legacy.lua new file mode 100644 index 0000000..a2d812d --- /dev/null +++ b/data/games/garage/mods/default/legacy.lua @@ -0,0 +1,49 @@ +-- 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 +default.gui_bg = "" +default.gui_bg_img = "" +default.gui_slots = "" + +-- 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.") + return minetest.is_area_protected(minp, maxp, player_name, interval) +end diff --git a/data/games/garage/mods/default/license.txt b/data/games/garage/mods/default/license.txt new file mode 100644 index 0000000..625f0f8 --- /dev/null +++ b/data/games/garage/mods/default/license.txt @@ -0,0 +1,158 @@ +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 Game 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-2023: + + 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 + Extex101 + An0n3m0us + Lopano + +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/data/games/garage/mods/default/locale/default.de.tr b/data/games/garage/mods/default/locale/default.de.tr new file mode 100644 index 0000000..cb0ec1e --- /dev/null +++ b/data/games/garage/mods/default/locale/default.de.tr @@ -0,0 +1,220 @@ +# textdomain: default +Locked Chest=Abgeschlossene Truhe +Locked Chest (owned by @1)=Abgeschlossene Truhe (Eigentum von @1) +You do not own this chest.=Ihnen gehört diese Truhe nicht. +a locked chest=eine abgeschlossene Truhe +Chest=Truhe +Write=Schreiben +Read=Lesen +Title:=Titel: +Contents:=Inhalt: +Save=Speichern +by @1=von @1 +Page @1 of @2=Seite @1 von @2 +The book you were writing to mysteriously disappeared.=Das Buch, an dem Sie geschrieben haben, ist auf mysteriöse Weise verschwunden. +"@1" by @2=„@1“ von @2 +Blueberries=Blaubeeren +Book=Buch +Book with Text=Buch mit Text +Bronze Ingot=Bronzebarren +Clay Brick=Tonziegel +Clay Lump=Tonklumpen +Coal Lump=Kohleklumpen +Copper Ingot=Kupferbarren +Copper Lump=Kupferklumpen +Diamond=Diamant +Flint=Feuerstein +Gold Ingot=Goldbarren +Gold Lump=Goldklumpen +Iron Lump=Eisenklumpen +Mese Crystal=Mesekristall +Mese Crystal Fragment=Mesekristallfragment +Obsidian Shard=Obsidianscherbe +Paper=Papier +Steel Ingot=Stahlbarren +Stick=Stock +Tin Ingot=Zinnbarren +Tin Lump=Zinnklumpen +Furnace is empty=Ofen ist leer +100% (output full)=100% (Ausgabe voll) +@1%=@1% +Not cookable=Nicht kochbar +Empty=Leer +Furnace active=Ofen aktiv +Furnace inactive=Ofen inaktiv +(Item: @1; Fuel: @2)=(Gegenstand: @1; Brennstoff: @2) +Furnace=Ofen +Stone=Stein +Cobblestone=Kopfsteinpflaster +Stone Brick=Steinziegel +Stone Block=Steinblock +Mossy Cobblestone=Moosiges Kopfsteinpflaster +Desert Stone=Wüstenstein +Desert Cobblestone=Wüstenkopfsteinpflaster +Desert Stone Brick=Wüstensteinziegel +Desert Stone Block=Wüstensteinblock +Sandstone=Sandstein +Sandstone Brick=Sandsteinziegel +Sandstone Block=Sandsteinblock +Desert Sandstone=Wüstensandstein +Desert Sandstone Brick=Wüstensandsteinziegel +Desert Sandstone Block=Wüstensandsteinblock +Silver Sandstone=Silbersandstein +Silver Sandstone Brick=Silbersandsteinziegel +Silver Sandstone Block=Silbersandsteinblock +Obsidian=Obsidian +Obsidian Brick=Obsidianziegel +Obsidian Block=Obsidianblock +Dirt=Erde +Dirt with Grass=Erde mit Gras +Dirt with Grass and Footsteps=Erde mit Gras und Fußstapfen +Dirt with Savanna Grass=Erde mit Savannengras +Dirt with Snow=Erde mit Schnee +Dirt with Rainforest Litter=Erde mit Regenwaldboden +Dirt with Coniferous Litter=Erde mit Nadelwaldboden +Savanna Dirt=Savannenerde +Savanna Dirt with Savanna Grass=Savannenerde mit Savannengras +Permafrost=Permafrost +Permafrost with Stones=Permafrost mit Steinen +Permafrost with Moss=Permafrost mit Moos +Sand=Sand +Desert Sand=Wüstensand +Silver Sand=Silbersand +Gravel=Kies +Clay=Ton +Snow=Schnee +Snow Block=Schneeblock +Ice=Eis +Cave Ice=Höhleneis +Apple Tree=Apfelbaum +Apple Wood Planks=Apfelbaumplanken +Apple Tree Sapling=Apfelbaumsetzling +Apple Tree Leaves=Apfelbaumblätter +Apple=Apfel +Apple Marker=Apfelmarkierung +Jungle Tree=Dschungelbaum +Jungle Wood Planks=Dschungelholzplanken +Jungle Tree Leaves=Dschungelbaumblätter +Jungle Tree Sapling=Dschungelbaumsetzling +Emergent Jungle Tree Sapling=Hervorstehender Dschungelbaumsetzling +Pine Tree=Kiefernbaum +Pine Wood Planks=Kiefernholzplanken +Pine Needles=Kiefernnadeln +Pine Tree Sapling=Kiefernbaumsetzling +Acacia Tree=Akazienbaum +Acacia Wood Planks=Akazienholzplanken +Acacia Tree Leaves=Akazienbaumblätter +Acacia Tree Sapling=Akazienbaumsetzling +Aspen Tree=Espenbaum +Aspen Wood Planks=Espenholzplanken +Aspen Tree Leaves=Espenbaumblätter +Aspen Tree Sapling=Espenbaumsetzling +Coal Ore=Kohleerz +Coal Block=Kohleblock +Iron Ore=Eisenerz +Steel Block=Stahlblock +Copper Ore=Kupfererz +Copper Block=Kupferblock +Tin Ore=Zinnerz +Tin Block=Zinnblock +Bronze Block=Bronzeblock +Mese Ore=Meseerz +Mese Block=Meseblock +Gold Ore=Golderz +Gold Block=Goldblock +Diamond Ore=Diamanterz +Diamond Block=Diamantblock +Cactus=Kaktus +Large Cactus Seedling=Großer Kaktussämling +Papyrus=Papyrus +Dry Shrub=Trockener Busch +Jungle Grass=Dschungelgras +Grass=Gras +Savanna Grass=Savannengras +Fern=Farn +Marram Grass=Dünengras +Bush Stem=Buschstamm +Bush Leaves=Buschblätter +Bush Sapling=Buschsetzling +Blueberry Bush Leaves with Berries=Blaubeerbuschblätter mit Beeren +Blueberry Bush Leaves=Blaubeerbuschblätter +Blueberry Bush Sapling=Blaubeerbuschsetzling +Acacia Bush Stem=Akazienbuschstamm +Acacia Bush Leaves=Akazienbuschblätter +Acacia Bush Sapling=Akazienbuschsetzling +Pine Bush Stem=Kiefernbuschstamm +Pine Bush Needles=Kiefernbuschnadeln +Pine Bush Sapling=Kiefernbuschsetzling +Kelp=Seetang +Green Coral=Grüne Koralle +Pink Coral=Rosa Koralle +Cyan Coral=Türkise Koralle +Brown Coral=Braune Koralle +Orange Coral=Orange Koralle +Coral Skeleton=Korallenskelett +Water Source=Wasserquelle +Flowing Water=Fließendes Wasser +River Water Source=Flusswasserquelle +Flowing River Water=Fließendes Flusswasser +Lava Source=Lavaquelle +Flowing Lava=Fließende Lava +Empty Bookshelf=Leeres Bücherregal +Bookshelf (@1 written, @2 empty books)=Bücherregal (@1 beschriebene, @2 leere Bücher) +Bookshelf=Bücherregal +Text too long=Text zu lang +"@1"=„@1“ +Wooden Sign=Holzschild +Steel Sign=Stahlschild +Wooden Ladder=Holzleiter +Steel Ladder=Stahlleiter +Apple Wood Fence=Apfelholzzaun +Acacia Wood Fence=Akazienholzzaun +Jungle Wood Fence=Dschungelholzzaun +Pine Wood Fence=Kiefernholzzaun +Aspen Wood Fence=Espenholzzaun +Apple Wood Fence Rail=Apfelholzzaungeländer +Acacia Wood Fence Rail=Akazienholzzaungeländer +Jungle Wood Fence Rail=Dschungelholzzaungeländer +Pine Wood Fence Rail=Kiefernholzzaungeländer +Aspen Wood Fence Rail=Espenholzzaungeländer +Glass=Glas +Obsidian Glass=Obsidianglas +Brick Block=Ziegelblock +Mese Lamp=Meselampe +Apple Wood Mese Post Light=Apfelholzmesestandlampe +Acacia Wood Mese Post Light=Akazienholzmesestandlampe +Jungle Wood Mese Post Light=Dschungelholzmesestandlampe +Pine Wood Mese Post Light=Kiefernholzmesestandlampe +Aspen Wood Mese Post Light=Espenholzmesestandlampe +Cloud=Wolke +Wooden Pickaxe=Holzspitzhacke +Stone Pickaxe=Steinspitzhacke +Bronze Pickaxe=Bronzespitzhacke +Steel Pickaxe=Stahlspitzhacke +Mese Pickaxe=Mesespitzhacke +Diamond Pickaxe=Diamantspitzhacke +Wooden Shovel=Holzschaufel +Stone Shovel=Steinschaufel +Bronze Shovel=Bronzeschaufel +Steel Shovel=Stahlschaufel +Mese Shovel=Meseschaufel +Diamond Shovel=Diamantschaufel +Wooden Axe=Holzaxt +Stone Axe=Steinaxt +Bronze Axe=Bronzeaxt +Steel Axe=Stahlaxt +Mese Axe=Meseaxt +Diamond Axe=Diamantaxt +Wooden Sword=Holzschwert +Stone Sword=Steinschwert +Bronze Sword=Bronzeschwert +Steel Sword=Stahlschwert +Mese Sword=Meseschwert +Diamond Sword=Diamantschwert +Torch=Fackel +@1 will intersect protection on growth.=@1 wird bei Wachstum mit geschützter Zone überlappen. + + +##### not used anymore ##### + +Mese Post Light=Mesestandlampe diff --git a/data/games/garage/mods/default/locale/default.eo.tr b/data/games/garage/mods/default/locale/default.eo.tr new file mode 100644 index 0000000..8454c6d --- /dev/null +++ b/data/games/garage/mods/default/locale/default.eo.tr @@ -0,0 +1,220 @@ +# textdomain: default +Locked Chest=Ŝlosita kesto +Locked Chest (owned by @1)=Ŝlosita kesto (de @1) +You do not own this chest.=Vi ne posedas ĉi tiun keston. +a locked chest=ŝlosita kesto +Chest=Kesto +Write=Skribi +Read=Legi +Title:=Titolo: +Contents:=Enhavo: +Save=Konservi +by @1=per @1 +Page @1 of @2=Paĝo @1 el @2 +The book you were writing to mysteriously disappeared.=La libro, kiun vi skribis, mistere malaperis. +"@1" by @2="@1" per @2 +Blueberries=Mirteloj +Book=Libro +Book with Text=Libro kun teksto +Bronze Ingot=Bronza ingoto +Clay Brick=Argila briko +Clay Lump=Argila bulo +Coal Lump=Karba bulo +Copper Ingot=Kupra ingoto +Copper Lump=Kupra bulo +Diamond=Diamanto +Flint=Siliko +Gold Ingot=Ora ingoto +Gold Lump=Ora bulo +Iron Lump=Fera bulo +Mese Crystal=Mesea kristalo +Mese Crystal Fragment=Mesea kristala ero +Obsidian Shard=Obsidiana peceto +Paper=Papero +Steel Ingot=Ŝtala ingoto +Stick=Bastono +Tin Ingot=Stana ingoto +Tin Lump=Stana bulo +Furnace is empty=Forno estas malplena +100% (output full)=100% (plena eligo) +@1%=@1% +Not cookable=Nekuirebla +Empty=Malplena +Furnace active=Forno laboras +Furnace inactive=Forno ne laboras +(Item: @1; Fuel: @2)=(Objekto: @1; Brulaĵo: @2) +Furnace=Forno +Stone=Ŝtono +Cobblestone=Pavimŝtono +Stone Brick=Ŝtona briko +Stone Block=Ŝtona bloko +Mossy Cobblestone=Muska pavimŝtono +Desert Stone=Dezerta ŝtono +Desert Cobblestone=Dezerta pavimŝtono +Desert Stone Brick=Dezerta ŝtona briko +Desert Stone Block=Dezerta ŝtona bloko +Sandstone=Sablaŝtono +Sandstone Brick=Sablaŝtono briko +Sandstone Block=Sablaŝtono bloko +Desert Sandstone=Dezerta sablaŝtono +Desert Sandstone Brick=Dezerta sablaŝtono briko +Desert Sandstone Block=Dezerta sablaŝtono bloko +Silver Sandstone=Arĝenta sablaŝtono +Silver Sandstone Brick=Arĝenta sablaŝtono briko +Silver Sandstone Block=Arĝenta sablaŝtono bloko +Obsidian=Obsidiano +Obsidian Brick=Obsidiana briko +Obsidian Block=Obsidiana bloko +Dirt=Tero +Dirt with Grass=Tero kun herbo +Dirt with Grass and Footsteps=Tero kun herbo kaj piedpaŝoj +Dirt with Savanna Grass=Tero kun savana herbo +Dirt with Snow=Tero kun neĝo +Dirt with Rainforest Litter=Tero kun pluvarbara folioj +Dirt with Coniferous Litter=Tero kun koniferaj folioj +Savanna Dirt=Savana tero +Savanna Dirt with Savanna Grass=Savana tero kun savana herbo +Permafrost=Ĉiamfrosto +Permafrost with Stones=Ĉiamfrosto kun ŝtonoj +Permafrost with Moss=Ĉiamfrosto kun musko +Sand=Sablo +Desert Sand=Dezerta sablo +Silver Sand=Arĝenta sablo +Gravel=Gruzo +Clay=Argilo +Snow=Neĝo +Snow Block=Neĝa bloko +Ice=Glacio +Cave Ice=Kaverna glacio +Apple Tree=Pomarbo +Apple Wood Planks=Pomarbaj lignaj tabuloj +Apple Tree Sapling=Pomarba arbido +Apple Tree Leaves=Pomarbaj folioj +Apple=Pomo +Apple Marker=Poma marko +Jungle Tree=Ĝangala arbo +Jungle Wood Planks=Ĝangalaj lignaj tabuloj +Jungle Tree Leaves=Ĝangalaj arbaj folioj +Jungle Tree Sapling=Ĝangala arba arbido +Emergent Jungle Tree Sapling=Nova ĝangala arba arbido +Pine Tree=Pino +Pine Wood Planks=Pinaj lignaj tabuloj +Pine Needles=Pinpingloj +Pine Tree Sapling=Pina arbido +Acacia Tree=Akacio +Acacia Wood Planks=Akaciaj lignaj tabuloj +Acacia Tree Leaves=Akaciaj folioj +Acacia Tree Sapling=Akacia arbido +Aspen Tree=Tremolo +Aspen Wood Planks=Tremolaj lignaj tabuloj +Aspen Tree Leaves=Tremolaj folioj +Aspen Tree Sapling=Tremola arbido +Coal Ore=Karba minaĵo +Coal Block=Karba bloko +Iron Ore=Fera minaĵo +Steel Block=Ŝtala bloko +Copper Ore=Kupra minaĵo +Copper Block=Kupra bloko +Tin Ore=Stana minaĵo +Tin Block=Stana bloko +Bronze Block=Bronza bloko +Mese Ore=Mesea minaĵo +Mese Block=Mesea bloko +Gold Ore=Ora minaĵo +Gold Block=Ora bloko +Diamond Ore=Diamanta minaĵo +Diamond Block=Diamanta bloko +Cactus=Kakto +Large Cactus Seedling=Granda kakta kreskaĵo +Papyrus=Papiruso +Dry Shrub=Seka arbetaĵo +Jungle Grass=Ĝangala herbo +Grass=Herbo +Savanna Grass=Savana herbo +Fern=Filiko +Marram Grass=Amofilo +Bush Stem=Arbateĵa tubo +Bush Leaves=Arbateĵaj folioj +Bush Sapling=Arbateĵa arbido +Blueberry Bush Leaves with Berries=Mirtelaj arbateĵaj folioj kaj beroj +Blueberry Bush Leaves=Mirtelaj arbateĵaj folioj +Blueberry Bush Sapling=Mirtela arbateĵa arbido +Acacia Bush Stem=Akacia arbateĵa tubo +Acacia Bush Leaves=Akaciaj arbateĵaj folioj +Acacia Bush Sapling=Akacia arbateĵa arbido +Pine Bush Stem=Pina arbateĵa tubo +Pine Bush Needles=Pinaj arbateĵaj pingloj +Pine Bush Sapling=Pina arbateĵa arbido +Kelp=Fuko +Green Coral=Verda koralo +Pink Coral=Rozkolora koralo +Cyan Coral=Bluverda koralo +Brown Coral=Bruna koralo +Orange Coral=Oranĝkolora koralo +Coral Skeleton=Korala framo +Water Source=Akva fonto +Flowing Water=Flua akvo +River Water Source=Rivera akva fonto +Flowing River Water=Flua rivera akvo +Lava Source=Lafa fonto +Flowing Lava=Flua lafa +Empty Bookshelf=Malplena librobreto +Bookshelf (@1 written, @2 empty books)=Librobreto (@1 skriba(j), @2 malplena(j) libro(j)) +Bookshelf=Librobreto +Text too long=Tro longa teksto +"@1"= +Wooden Sign=Ligna signo +Steel Sign=Ŝtala signo +Wooden Ladder=Ligna ŝtupetaro +Steel Ladder=Ŝtala ŝtupetaro +Apple Wood Fence=Poma ligna barilo +Acacia Wood Fence=Akacia ligna barilo +Jungle Wood Fence=Ĝangala ligna barilo +Pine Wood Fence=Pina ligna barilo +Aspen Wood Fence=Tremola ligna barilo +Apple Wood Fence Rail=Poma ligna barila relo +Acacia Wood Fence Rail=Akacia ligna barila relo +Jungle Wood Fence Rail=Ĝangala ligna barila relo +Pine Wood Fence Rail=Pina ligna barila relo +Aspen Wood Fence Rail=Tremola ligna barila relo +Glass=Vitro +Obsidian Glass=Obsidiana vitro +Brick Block=Brika bloko +Mese Lamp=Mesea lampo +Apple Wood Mese Post Light=Poma ligna mesea fosta lampo +Acacia Wood Mese Post Light=Akacia ligna mesea fosta lampo +Jungle Wood Mese Post Light=Ĝangala ligna mesea fosta lampo +Pine Wood Mese Post Light=Pina ligna mesea fosta lampo +Aspen Wood Mese Post Light=Tremola ligna mesea fosta lampo +Cloud=Nubo +Wooden Pickaxe=Ligna pioĉo +Stone Pickaxe=Ŝtona pioĉo +Bronze Pickaxe=Bronza pioĉo +Steel Pickaxe=Ŝtala pioĉo +Mese Pickaxe=Mesea pioĉo +Diamond Pickaxe=Diamanta pioĉo +Wooden Shovel=Ligna fosilo +Stone Shovel=Ŝtona fosilo +Bronze Shovel=Bronza fosilo +Steel Shovel=Ŝtala fosilo +Mese Shovel=Mesea fosilo +Diamond Shovel=Diamanta fosilo +Wooden Axe=Ligna hakilo +Stone Axe=Ŝtona hakilo +Bronze Axe=Bronza hakilo +Steel Axe=Ŝtala hakilo +Mese Axe=Mesea hakilo +Diamond Axe=Diamanta hakilo +Wooden Sword=Ligna glavo +Stone Sword=Ŝtona glavo +Bronze Sword=Bronza glavo +Steel Sword=Ŝtala glavo +Mese Sword=Mesea glavo +Diamond Sword=Diamanta glavo +Torch=Torĉo +@1 will intersect protection on growth.=@1 sekcos protekton dum kresko. + + +##### not used anymore ##### + +Mese Post Light=Mesea fosta lampo diff --git a/data/games/garage/mods/default/locale/default.es.tr b/data/games/garage/mods/default/locale/default.es.tr new file mode 100644 index 0000000..d08c2d2 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.es.tr @@ -0,0 +1,224 @@ +# textdomain: default +Locked Chest=Cofre cerrado +Locked Chest (owned by @1)=Cofre cerrado (propiedad de @1) +You do not own this chest.=Este cofre no te pertenece. +a locked chest=un cofre cerrado +Chest=Cofre +Write= +Read= +Title:=Título: +Contents:=Contenidos: +Save=Guardar +by @1=por @1 +Page @1 of @2=Página @1 de @2 +The book you were writing to mysteriously disappeared.= +"@1" by @2="@1" por @2 +Blueberries=Arándanos +Book=Libro +Book with Text=Libro escrito +Bronze Ingot=Lingote de bronce +Clay Brick=Ladrillo de arcilla +Clay Lump=Bola de arcilla +Coal Lump=Carbón +Copper Ingot=Lingote de cobre +Copper Lump=Pepita de cobre +Diamond=Diamante +Flint=Pedernal +Gold Ingot=Lingote de oro +Gold Lump=Pepita de oro +Iron Lump=Pepita de hierro +Mese Crystal=Cristal de mese +Mese Crystal Fragment=Fragmento de cristal de mese +Obsidian Shard=Esquirla de obsidiana +Paper=Papel +Steel Ingot=Lingote de acero +Stick=Palo +Tin Ingot=Lingote de estaño +Tin Lump=Pepita de estaño +Furnace is empty=El horno está vacío +100% (output full)=100% (salida completa) +@1%=@1% +Not cookable=No se puede cocinar +Empty=Vacío +Furnace active=Horno activado +Furnace inactive=Horno desactivado +(Item: @1; Fuel: @2)=(Objeto: @1; Combustible: @2) +Furnace=Horno +Stone=Piedra +Cobblestone=Adoquín +Stone Brick=Ladrillo de piedra +Stone Block=Bloque de piedra +Mossy Cobblestone=Adoquín musgoso +Desert Stone=Piedra desértica +Desert Cobblestone=Adoquín desértico +Desert Stone Brick=Ladrillo de piedra desértica +Desert Stone Block=Bloque de piedra desértica +Sandstone=Piedra arenisca +Sandstone Brick=Ladrillo de arenisca +Sandstone Block=Bloque de arenisca +Desert Sandstone=Piedra arenisca desértica +Desert Sandstone Brick=Ladrillo de arenisca desértica +Desert Sandstone Block=Bloque de arenisca deśertica +Silver Sandstone=Piedra arenisca plateada +Silver Sandstone Brick=Ladrillo de arenisca plateada +Silver Sandstone Block=Bloque de arenisca plateada +Obsidian=Obsidiana +Obsidian Brick=Ladrillo de obsidiana +Obsidian Block=Bloque de obsidiana +Dirt=Tierra +Dirt with Grass=Tierra con pasto +Dirt with Grass and Footsteps=Tierra con pasto y pisadas +Dirt with Savanna Grass=Tierra con hierba de sabana +Dirt with Snow=Tierra con nieve +Dirt with Rainforest Litter=Tierra con hojarasca de selva tropical +Dirt with Coniferous Litter=Tierra con hojarasca de coníferas +Savanna Dirt=Tierra de sabana +Savanna Dirt with Savanna Grass=Tierra de sabana con hierba de sabana +Permafrost=Permafrost +Permafrost with Stones=Permafrost pedregoso +Permafrost with Moss=Permafrost musgoso +Sand=Arena +Desert Sand=Arena desértica +Silver Sand=Arena plateada +Gravel=Grava +Clay=Arcilla +Snow=Nieve +Snow Block=Bloque de nieve +Ice=Hielo +Cave Ice=Hielo de cueva +Apple Tree=Madera de manzano +Apple Wood Planks=Tablas de manzano +Apple Tree Sapling=Retoño de manzano +Apple Tree Leaves=Hojas de manzano +Apple=Manzana +Apple Marker=Marcador de manzano +Jungle Tree=Madera de árbol tropical +Jungle Wood Planks=Tablas de madera tropical +Jungle Tree Leaves=Hojas de árbol tropical +Jungle Tree Sapling=Retoño de árbol tropical +Emergent Jungle Tree Sapling=Retoño de árbol tropical +Pine Tree=Madera de pino +Pine Wood Planks=Tablas de pino +Pine Needles=Agujas de pino +Pine Tree Sapling=Retoño de pino +Acacia Tree=Madera de acacia +Acacia Wood Planks=Tablas de acacia +Acacia Tree Leaves=Hojas de acacia +Acacia Tree Sapling=Retoño de acacia +Aspen Tree=Madera de álamo +Aspen Wood Planks=Tablas de álamo +Aspen Tree Leaves=Hojas de álamo +Aspen Tree Sapling=Retoño de álamo +Coal Ore=Mineral de carbón +Coal Block=Bloque de carbón +Iron Ore=Mineral de hierro +Steel Block=Bloque de acero +Copper Ore=Mineral de cobre +Copper Block=Bloque de cobre +Tin Ore=Mineral de estaño +Tin Block=Bloque de estaño +Bronze Block=Bloque de bronce +Mese Ore=Mineral de mese +Mese Block=Bloque de mese +Gold Ore=Mineral de oro +Gold Block=Bloque de oro +Diamond Ore=Mineral de diamante +Diamond Block=Bloque de diamante +Cactus=Cáctus +Large Cactus Seedling=Vástago grande de cactus +Papyrus=Papiro +Dry Shrub=Arbusto seco +Jungle Grass=Pasto de jungla +Grass=Pasto +Savanna Grass=Hierba de sabana +Fern=Helecho +Marram Grass=Carrizo +Bush Stem=Tallo de arbusto +Bush Leaves=Hojas de arbusto +Bush Sapling=Retoño de arbusto +Blueberry Bush Leaves with Berries=Hojas de arbusto de arándano con bayas +Blueberry Bush Leaves=Hojas de arbusto de arándano +Blueberry Bush Sapling=Retoño de arbusto de arándano +Acacia Bush Stem=Tallo de arbusto de acacia +Acacia Bush Leaves=Hojas de arbusto de acacia +Acacia Bush Sapling=Retoño de arbusto de acacia +Pine Bush Stem=Tallo de arbusto de pino +Pine Bush Needles=Agujas de arbusto de pino +Pine Bush Sapling=Retoño de arbusto de pino +Kelp=Alga marina +Green Coral=Coral verde +Pink Coral=Coral rosa +Cyan Coral=Coral cián +Brown Coral=Coral café +Orange Coral=Coral naranja +Coral Skeleton=Esqueleto de coral +Water Source=Fuente de agua +Flowing Water=Fluído de agua +River Water Source=Fuente de agua de río +Flowing River Water=Fluído de agua de río +Lava Source=Fuente de lava +Flowing Lava=Fluído de lava +Empty Bookshelf=Librería vacía +Bookshelf (@1 written, @2 empty books)=Librería(@1 escritos, @2 libros en blanco) +Bookshelf=Librería +Text too long=Texto demasiado largo +"@1"="@1" +Wooden Sign=Cartel de madera +Steel Sign=Cartel de acero +Wooden Ladder=Escalera de madera +Steel Ladder=Escalera de acero +Apple Wood Fence=Cerca de manzano +Acacia Wood Fence=Cerca de acacia +Jungle Wood Fence=Cerca de madera tropical +Pine Wood Fence=Cerca de pino +Aspen Wood Fence=Cerca de álamo +Apple Wood Fence Rail=Listones de manzano para cerca +Acacia Wood Fence Rail=Listones de acacia para cerca +Jungle Wood Fence Rail=Listones de madera tropical para cerca +Pine Wood Fence Rail=Listones de pino para cerca +Aspen Wood Fence Rail=Listones de álamo para cerca +Glass=Vidrio +Obsidian Glass=Vidrio de obsidiana +Brick Block=Bloque de ladrillo +Mese Lamp=Lámpara de mese +Apple Wood Mese Post Light=Poste de luz de madera de manzano +Acacia Wood Mese Post Light=Poste de luz de madera de acacia +Jungle Wood Mese Post Light=Poste de luz de madera de jungla +Pine Wood Mese Post Light=Poste de luz de madera de pino +Aspen Wood Mese Post Light=Poste de luz de madera de álamo +Cloud=Nube +Wooden Pickaxe=Pico de madera +Stone Pickaxe=Pico de piedra +Bronze Pickaxe=Pico de bronce +Steel Pickaxe=Pico de acero +Mese Pickaxe=Pico de mese +Diamond Pickaxe=Pico de diamante +Wooden Shovel=Pala de madera +Stone Shovel=Pala de piedra +Bronze Shovel=Pala de bronce +Steel Shovel=Pala de acero +Mese Shovel=Pala de mese +Diamond Shovel=Pala de diamante +Wooden Axe=Hacha de madera +Stone Axe=Hacha de piedra +Bronze Axe=Hacha de bronce +Steel Axe=Hacha de acero +Mese Axe=Hacha de mese +Diamond Axe=Hacha de diamante +Wooden Sword=Espada de madera +Stone Sword=Espada de piedra +Bronze Sword=Espada de bronce +Steel Sword=Espada de acero +Mese Sword=Espada de mese +Diamond Sword=Espada de diamante +Torch=Antorcha +@1 will intersect protection on growth.=@1 intersectará con protección cuando crezca. + + +##### not used anymore ##### + +Dirt with Dry Grass=Tierra con pasto seco +Dry Dirt=Tierra Seca +Dry Dirt with Dry Grass=Tierra seca con pasto seco +Dry Grass=Pasto seco +Mese Post Light=Poste de luz de mese diff --git a/data/games/garage/mods/default/locale/default.fr.tr b/data/games/garage/mods/default/locale/default.fr.tr new file mode 100644 index 0000000..8f694fb --- /dev/null +++ b/data/games/garage/mods/default/locale/default.fr.tr @@ -0,0 +1,224 @@ +# textdomain: default +Locked Chest=Coffre verrouillé +Locked Chest (owned by @1)=Coffre verrouillé (possédé par @1) +You do not own this chest.=Ce coffre ne vous appartient pas. +a locked chest=un coffre verrouillé +Chest=Coffre +Write=Écrire +Read=Lire +Title:=Titre : +Contents:=Contenu : +Save=Sauvegarder +by @1=de @1 +Page @1 of @2=Page @1 sur @2 +The book you were writing to mysteriously disappeared.= +"@1" by @2=« @1 » de @2 +Blueberries=Myrtille +Book=Livre +Book with Text=Livre avec du texte +Bronze Ingot=Lingot de bronze +Clay Brick=Brique d'argile +Clay Lump=Morceau d'argile +Coal Lump=Morceau de charbon +Copper Ingot=Lingot de cuivre +Copper Lump=Morceau de cuivre +Diamond=Diamant +Flint=Silex +Gold Ingot=Lingot d'or +Gold Lump=Morceau d'or +Iron Lump=Morceau de fer +Mese Crystal=Cristal de Mese +Mese Crystal Fragment=Fragment de cristal de Mese +Obsidian Shard=Tesson d'obsidienne +Paper=Papier +Steel Ingot=Lingot d'acier +Stick=Baton +Tin Ingot=Lingot d'étain +Tin Lump=Morceau d'étain +Furnace is empty=Le four est vide +100% (output full)=100% (Sortie pleine) +@1%=@1% +Not cookable=Ne se cuit pas +Empty=Vide +Furnace active=Four actif +Furnace inactive=Four inactif +(Item: @1; Fuel: @2)=(Article: @1; Carburant: @2) +Furnace=Four +Stone=Pierre +Cobblestone=Pavé +Stone Brick=Brique de pierre +Stone Block=Bloc de pierre +Mossy Cobblestone=Pavé moussu +Desert Stone=Pierre du désert +Desert Cobblestone=Pavé de pierre du désert +Desert Stone Brick=Brique de pierre du désert +Desert Stone Block=Bloc de pierre du désert +Sandstone=Grès +Sandstone Brick=Brique de grès +Sandstone Block=Bloc de grès +Desert Sandstone=Grès du désert +Desert Sandstone Brick=Brique de grès du désert +Desert Sandstone Block=Bloc de grès du désert +Silver Sandstone=Grès argenté +Silver Sandstone Brick=Brique de grès argenté +Silver Sandstone Block=Bloc de grès argenté +Obsidian=Obsidienne +Obsidian Brick=Brique d'obsidienne +Obsidian Block=Bloc d'obsidienne +Dirt=Terre +Dirt with Grass=Terre avec de l'herbe +Dirt with Grass and Footsteps=Terre avec de l'herbe et des traces de pas +Dirt with Savanna Grass=Terre avec de l'herbe de savane +Dirt with Snow=Terre avec de la neige +Dirt with Rainforest Litter=Terre avec sol de forêt humide +Dirt with Coniferous Litter=Terre avec sol de forêt de conifère +Savanna Dirt=Terre de la savane +Savanna Dirt with Savanna Grass=Terre de la savane avec son herbe +Permafrost=Pergélisol +Permafrost with Stones=Pergélisol avec de la pierre +Permafrost with Moss=Pergélisol avec de la mousse +Sand=Sable +Desert Sand=Sable du désert +Silver Sand=Sable argenté +Gravel=Gravier +Clay=Argile +Snow=Neige +Snow Block=Bloc de neige +Ice=Glace +Cave Ice=Glace de grotte +Apple Tree=Pommier +Apple Wood Planks=Planche de pommier +Apple Tree Sapling=Pousse de pommier +Apple Tree Leaves=Feuilles de pommier +Apple=Pomme +Apple Marker=Marqueur de pomme +Jungle Tree=Arbre de la jungle +Jungle Wood Planks=Planche d'arbre de la jungle +Jungle Tree Leaves=Feuilles d'arbre de la jungle +Jungle Tree Sapling=Pousse d'arbre de la jungle +Emergent Jungle Tree Sapling=Pousse d'arbre de la jungle émergent +Pine Tree=Pin +Pine Wood Planks=Planche de pin +Pine Needles=Aiguilles de pin +Pine Tree Sapling=Pousse de pin +Acacia Tree=Acacia +Acacia Wood Planks=Planche d'acacia +Acacia Tree Leaves=Feuilles d'acacia +Acacia Tree Sapling=Pousse d'acacia +Aspen Tree=Tremble +Aspen Wood Planks=Planche de tremble +Aspen Tree Leaves=Feuilles de tremble +Aspen Tree Sapling=Pousse de tremble +Coal Ore=Minerai de charbon +Coal Block=Bloc de charbon +Iron Ore=Minerai de fer +Steel Block=Bloc d'acier +Copper Ore=Minerai de cuivre +Copper Block=Bloc de cuivre +Tin Ore=Minerai d'étain +Tin Block=Bloc d'étain +Bronze Block=Bloc de bronze +Mese Ore=Minerai de Mese +Mese Block=Bloc de Mese +Gold Ore=Minerai d'or +Gold Block=Bloc d'or +Diamond Ore=Minerai de diamant +Diamond Block=Bloc de diamant +Cactus=Cactus +Large Cactus Seedling=Grand plan de cactus +Papyrus=Papyrus +Dry Shrub=Arbuste sec +Jungle Grass=Herbe de la jungle +Grass=Herbe +Savanna Grass=Herbe de la savane +Fern=Fougère +Marram Grass=Ammophile +Bush Stem=Tige de buisson +Bush Leaves=Feuilles de buisson +Bush Sapling=Pousse de buisson +Blueberry Bush Leaves with Berries=Buisson de myrtille avec des myrtilles +Blueberry Bush Leaves=Feuilles de buisson à myrtilles +Blueberry Bush Sapling=Pousse de buisson à myrtilles +Acacia Bush Stem=Tige de buisson d'acacia +Acacia Bush Leaves=Feuilles de buisson d'acacia +Acacia Bush Sapling=Pousses de buisson d'acacia +Pine Bush Stem=Tige de buisson de pin +Pine Bush Needles=Aiguilles de buisson de pin +Pine Bush Sapling=Pousse de buisson de pin +Kelp=Varech +Green Coral=Corail vert +Pink Coral=Corail rose +Cyan Coral=Corail cyan +Brown Coral=Corail marron +Orange Coral=Corail orange +Coral Skeleton=Squelette de corail +Water Source=Source d'eau +Flowing Water=Écoulement d'eau +River Water Source=Source d'eau de rivière +Flowing River Water=Écoulement d'eau de rivière +Lava Source=Source de lave +Flowing Lava=Écoulement de lave +Empty Bookshelf=Bibliothèque vide +Bookshelf (@1 written, @2 empty books)=Bibliothèque (@1 écrits, @2 livres vides) +Bookshelf=Bibliothèque +Text too long=Texte trop longue +"@1"=« @1 » +Wooden Sign=Panneau en bois +Steel Sign=Panneau en acier +Wooden Ladder=Échelle en bois +Steel Ladder=Échelle en acier +Apple Wood Fence=Barrière de bois de pommier +Acacia Wood Fence=Barrière de bois d'acacia +Jungle Wood Fence=Barrière de bois de la jungle +Pine Wood Fence=Barrière de bois de pin +Aspen Wood Fence=Barrière de bois de tremble +Apple Wood Fence Rail=Clôture de bois de pommier +Acacia Wood Fence Rail=Clôture de bois d'acacia +Jungle Wood Fence Rail=Clôture de bois de la jungle +Pine Wood Fence Rail=Clôture de bois de pin +Aspen Wood Fence Rail=Clôture de bois de tremble +Glass=Verre +Obsidian Glass=Verre d'obsidienne +Brick Block=Bloc de brique +Mese Lamp=Lampe de Mese +Apple Wood Mese Post Light=Réverbère de Mese en bois de pommier +Acacia Wood Mese Post Light=Réverbère de Mese en bois d'acacia +Jungle Wood Mese Post Light=Réverbère de Mese en bois de la jungle +Pine Wood Mese Post Light=Réverbère de Mese en bois de pin +Aspen Wood Mese Post Light=Réverbère de Mese en bois de tremble +Cloud=Nuage +Wooden Pickaxe=Pioche en bois +Stone Pickaxe=Pioche en pierre +Bronze Pickaxe=Pioche en bronze +Steel Pickaxe=Pioche en acier +Mese Pickaxe=Pioche de Mese +Diamond Pickaxe=Pioche en diamant +Wooden Shovel=Pelle en bois +Stone Shovel=Pelle en pierre +Bronze Shovel=Pelle en bronze +Steel Shovel=Pelle en acier +Mese Shovel=Pelle en Mese +Diamond Shovel=Pelle en diamant +Wooden Axe=Hache en bois +Stone Axe=Hache en pierre +Bronze Axe=Hache en bronze +Steel Axe=Hache en acier +Mese Axe=Hache en Mese +Diamond Axe=Hache en diamant +Wooden Sword=Epée en bois +Stone Sword=Épée en pierre +Bronze Sword=Épée en bronze +Steel Sword=Épée en acier +Mese Sword=Épée en Mese +Diamond Sword=Épée en diamant +Torch=Torche +@1 will intersect protection on growth.=@1 chevauchera la zone protégée avec la croissance. + + +##### not used anymore ##### + +Dirt with Dry Grass=Terre avec de l'herbe sèche +Dry Dirt=Terre sèche +Dry Dirt with Dry Grass=Terre sèche avec de l'herbe sèche +Dry Grass=Herbe sèche +Mese Post Light=Réverbère de Mese diff --git a/data/games/garage/mods/default/locale/default.id.tr b/data/games/garage/mods/default/locale/default.id.tr new file mode 100644 index 0000000..c60b5b0 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.id.tr @@ -0,0 +1,220 @@ +# textdomain: default +Locked Chest=Peti Terkunci +Locked Chest (owned by @1)=Peti Terkunci (milik @1) +You do not own this chest.=Anda bukan pemilik peti ini. +a locked chest=peti terkunci +Chest=Peti +Write=Tulis +Read=Baca +Title:=Judul: +Contents:=Isi: +Save=Simpan +by @1=oleh @1 +Page @1 of @2=Halaman @1 dari @2 +The book you were writing to mysteriously disappeared.=Buku yang Anda tulis menghilang secara misterius. +"@1" by @2="@1" oleh @2 +Blueberries=Bluberi +Book=Buku +Book with Text=Buku Tertulis +Bronze Ingot=Perunggu Batangan +Clay Brick=Bata +Clay Lump=Bongkahan Tanah Liat +Coal Lump=Bongkahan Batu Bara +Copper Ingot=Tembaga Batangan +Copper Lump=Bongkahan Tembaga +Diamond=Berlian +Flint=Batu Api +Gold Ingot=Emas Batangan +Gold Lump=Bongkahan Emas +Iron Lump=Bongkahan Besi +Mese Crystal=Kristal Mese +Mese Crystal Fragment=Pecahan Kristal Mese +Obsidian Shard=Pecahan Obsidian +Paper=Kertas +Steel Ingot=Baja Batangan +Stick=Tongkat +Tin Ingot=Timah Batangan +Tin Lump=Bongkahan Timah +Furnace is empty=Tungku kosong +100% (output full)=100% (keluaran penuh) +@1%=@1% +Not cookable=Tidak bisa dimasak +Empty=Kosong +Furnace active=Tungku nyala +Furnace inactive=Tungku mati +(Item: @1; Fuel: @2)=(Barang: @1; Bahan Bakar: @2) +Furnace=Tungku +Stone=Batu +Cobblestone=Bongkahan Batu +Stone Brick=Tembok Batu +Stone Block=Balok Batu +Mossy Cobblestone=Bongkahan Batu Berlumut +Desert Stone=Batu Gurun +Desert Cobblestone=Bongkahan Batu Gurun +Desert Stone Brick=Tembok Batu Gurun +Desert Stone Block=Balok Batu Gurun +Sandstone=Batu Pasir +Sandstone Brick=Tembok Batu Pasir +Sandstone Block=Balok Batu Pasir +Desert Sandstone=Batu Pasir Gurun +Desert Sandstone Brick=Tembok Batu Pasir Gurun +Desert Sandstone Block=Balok Batu Pasir Gurun +Silver Sandstone=Batu Pasir Perak +Silver Sandstone Brick=Tembok Batu Pasir Perak +Silver Sandstone Block=Balok Batu Pasir Perak +Obsidian=Obsidian +Obsidian Brick=Tembok Obsidian +Obsidian Block=Balok Obsidian +Dirt=Tanah +Dirt with Grass=Tanah Berumput +Dirt with Grass and Footsteps=Tanah Berumput dengan Jejak Kaki +Dirt with Savanna Grass=Tanah Berumput Sabana +Dirt with Snow=Tanah Bersalju +Dirt with Rainforest Litter=Tanah Berserasah Hutan Hujan +Dirt with Coniferous Litter=Tanah Berserasah Hutan Konifer +Savanna Dirt=Tanah Sabana +Savanna Dirt with Savanna Grass=Tanah Sabana Berumput Sabana +Permafrost=Ibun Abadi +Permafrost with Stones=Ibun Abadi Berbatu +Permafrost with Moss=Ibun Abadi Berlumut +Sand=Pasir +Desert Sand=Pasir Gurun +Silver Sand=Pasir Perak +Gravel=Kerikil +Clay=Tanah Liat +Snow=Salju +Snow Block=Balok Salju +Ice=Es +Cave Ice=Es Gua +Apple Tree=Pohon Apel +Apple Wood Planks=Papan Kayu Pohon Apel +Apple Tree Sapling=Anak Pohon Apel +Apple Tree Leaves=Daun Pohon Apel +Apple=Apel +Apple Marker=Penanda Apel +Jungle Tree=Pohon Hutan Rimba +Jungle Wood Planks=Papan Kayu Pohon Rimba +Jungle Tree Leaves=Daun Pohon Rimba +Jungle Tree Sapling=Anak Pohon Rimba +Emergent Jungle Tree Sapling=Anak Pohon Rimba Bertumbuh +Pine Tree=Pohon Pinus +Pine Wood Planks=Papan Kayu Pinus +Pine Needles=Daun Pinus +Pine Tree Sapling=Anak Pohon Pinus +Acacia Tree=Pohon Akasia +Acacia Wood Planks=Papan Kayu Akasia +Acacia Tree Leaves=Daun Akasia +Acacia Tree Sapling=Anak Pohon Akasia +Aspen Tree=Pohon Aspen +Aspen Wood Planks=Papan Kayu Aspen +Aspen Tree Leaves=Daun Aspen +Aspen Tree Sapling=Anak Pohon Aspen +Coal Ore=Bijih Batu Bara +Coal Block=Balok Batu Bara +Iron Ore=Bijih Besi +Steel Block=Balok Baja +Copper Ore=Bijih Tembaga +Copper Block=Balok Tembaga +Tin Ore=Bijih Timah +Tin Block=Balok Timah +Bronze Block=Balok Perunggu +Mese Ore=Bijih Mese +Mese Block=Balok Mese +Gold Ore=Bijih Emas +Gold Block=Balok Emas +Diamond Ore=Bijih Berlian +Diamond Block=Balok Berlian +Cactus=Kaktus +Large Cactus Seedling=Bibit Kaktus Besar +Papyrus=Papirus +Dry Shrub=Semak Kering +Jungle Grass=Rumput Rimba +Grass=Rumput +Savanna Grass=Rumput Sabana +Fern=Pakis +Marram Grass=Rumput Pantai +Bush Stem=Batang Semak +Bush Leaves=Daun Semak +Bush Sapling=Anak Semak +Blueberry Bush Leaves with Berries=Daun Semak Bluberi Berbuah +Blueberry Bush Leaves=Daun Semak Bluberi +Blueberry Bush Sapling=Anak Semak Bluberi +Acacia Bush Stem=Batang Semak Akasia +Acacia Bush Leaves=Daun Semak Akasia +Acacia Bush Sapling=Bibit Semak Akasia +Pine Bush Stem=Batang Semak Pinus +Pine Bush Needles=Daun Semak Pinus +Pine Bush Sapling=Bibit Semak Pinus +Kelp=Kelp +Green Coral=Koral Hijau +Pink Coral=Koral Merah Muda +Cyan Coral=Koral Sian +Brown Coral=Koral Cokelat +Orange Coral=Koral Oranye +Coral Skeleton=Kerangka Koral +Water Source=Mata Air +Flowing Water=Aliran Air +River Water Source=Mata Air Sungai +Flowing River Water=Aliran Air Sungai +Lava Source=Sumber Lava +Flowing Lava=Aliran Lava +Empty Bookshelf=Rak Buku Kosong +Bookshelf (@1 written, @2 empty books)=Rak Buku (@1 buku tertulis, @2 buku kosong) +Bookshelf=Rak Buku +Text too long=Teks terlalu panjang +"@1"="@1" +Wooden Sign=Penanda Kayu +Steel Sign=Penanda Baja +Wooden Ladder=Tangga Kayu +Steel Ladder=Tangga Baja +Apple Wood Fence=Pagar Kayu Apel +Acacia Wood Fence=Pagar Akasia +Jungle Wood Fence=Pagar Kayu Rimba +Pine Wood Fence=Pagar Pinus +Aspen Wood Fence=Pagar Aspen +Apple Wood Fence Rail=Rel Pagar Kayu Apel +Acacia Wood Fence Rail=Rel Pagar Akasia +Jungle Wood Fence Rail=Rel Pagar Kayu Rimba +Pine Wood Fence Rail=Rel Pagar Pinus +Aspen Wood Fence Rail=Rel Pagar Aspen +Glass=Kaca +Obsidian Glass=Kaca Obsidian +Brick Block=Balok Bata +Mese Lamp=Lampu Mese +Apple Wood Mese Post Light=Lampu Taman Mese Kayu Apel +Acacia Wood Mese Post Light=Lampu Taman Mese Kayu Akasia +Jungle Wood Mese Post Light=Lampu Taman Mese Kayu Rimba +Pine Wood Mese Post Light=Lampu Taman Mese Kayu Pinus +Aspen Wood Mese Post Light=Lampu Taman Mese Kayu Aspen +Cloud=Awan +Wooden Pickaxe=Belencong Kayu +Stone Pickaxe=Belencong Batu +Bronze Pickaxe=Belencong Perunggu +Steel Pickaxe=Belencong Baja +Mese Pickaxe=Belencong Mese +Diamond Pickaxe=Belencong Berlian +Wooden Shovel=Sekop Kayu +Stone Shovel=Sekop Batu +Bronze Shovel=Sekop Perunggu +Steel Shovel=Sekop Baja +Mese Shovel=Sekop Mese +Diamond Shovel=Sekop Berlian +Wooden Axe=Kapak Kayu +Stone Axe=Kapak Batu +Bronze Axe=Kapak Perunggu +Steel Axe=Kapak Baja +Mese Axe=Kapak Mese +Diamond Axe=Kapak Berlian +Wooden Sword=Pedang Kayu +Stone Sword=Pedang Batu +Bronze Sword=Pedang Perunggu +Steel Sword=Pedang Baja +Mese Sword=Pedang Mese +Diamond Sword=Pedang Berlian +Torch=Obor +@1 will intersect protection on growth.=@1 akan memotong perlindungan ketika tumbuh. + + +##### not used anymore ##### + +Mese Post Light=Lampu Taman Mese diff --git a/data/games/garage/mods/default/locale/default.it.tr b/data/games/garage/mods/default/locale/default.it.tr new file mode 100644 index 0000000..3940665 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.it.tr @@ -0,0 +1,224 @@ +# textdomain: default +Locked Chest=Baule chiuso a chiave +Locked Chest (owned by @1)=Baule chiuso a chiave (di proprietà di @1) +You do not own this chest.=Questo baule non ti appartiene. +a locked chest=un baule chiuso a chiave +Chest=Baule +Write= +Read= +Title:= +Contents:= +Save= +by @1= +Page @1 of @2= +The book you were writing to mysteriously disappeared.= +"@1" by @2="@1" di @2 +Blueberries=Mirtilli +Book=Libro +Book with Text=Libro con testo +Bronze Ingot=Lingotto di bronzo +Clay Brick=Mattone d'argilla +Clay Lump=Grumo d'argilla +Coal Lump=Grumo di carbone +Copper Ingot=Lingotto di rame +Copper Lump=Grumo di rame +Diamond=Diamante +Flint=Selce +Gold Ingot=Lingotto d'oro +Gold Lump=Grumo d'oro +Iron Lump=Grumo di ferro +Mese Crystal=Cristallo di mese +Mese Crystal Fragment=Frammento di cristallo di mese +Obsidian Shard=Scheggia d'ossidiana +Paper=Carta +Steel Ingot=Lingotto d'acciaio +Stick=Bastone +Tin Ingot=Lingotto di stagno +Tin Lump=Grumo di stagno +Furnace is empty=La fornace è vuota +100% (output full)=100% (uscita piena) +@1%=@1% +Not cookable=Non cucinabile +Empty=Vuota +Furnace active=Fornace attiva +Furnace inactive=Fornace inattiva +(Item: @1; Fuel: @2)=(Oggetto: @1; Combustibile: @2) +Furnace=Fornace +Stone=Pietra +Cobblestone=Ciottoli +Stone Brick=Mattone di pietra +Stone Block=Blocco di pietra +Mossy Cobblestone=Ciottoli muschiosi +Desert Stone=Pietra del deserto +Desert Cobblestone=Ciottoli del deserto +Desert Stone Brick=Mattone di pietra del deserto +Desert Stone Block=Blocco di pietra del deserto +Sandstone=Arenaria +Sandstone Brick=Mattone d'arenaria +Sandstone Block=Blocco d'arenaria +Desert Sandstone=Arenaria del deserto +Desert Sandstone Brick=Mattone d'arenaria del deserto +Desert Sandstone Block=Blocco d'arenaria del deserto +Silver Sandstone=Arenaria argentata +Silver Sandstone Brick=Mattone d'arenaria argentata +Silver Sandstone Block=Blocco d'arenaria argentata +Obsidian=Ossidiana +Obsidian Brick=Mattone d'ossidiana +Obsidian Block=Blocco d'ossidiana +Dirt=Terra +Dirt with Grass=Terra con erba +Dirt with Grass and Footsteps=Terra con erba e impronte +Dirt with Savanna Grass= +Dirt with Snow=Terra con neve +Dirt with Rainforest Litter=Terra con detriti della foresta pluviale +Dirt with Coniferous Litter=Terra con detriti di conifera +Savanna Dirt= +Savanna Dirt with Savanna Grass= +Permafrost=Permafrost +Permafrost with Stones=Permafrost con pietra +Permafrost with Moss=Permafrost con muschio +Sand=Sabbia +Desert Sand=Sabbia del deserto +Silver Sand=Sabbia argentata +Gravel=Ghiaia +Clay=Argilla +Snow=Neve +Snow Block=Blocco di neve +Ice=Ghiaccio +Cave Ice=Ghiaccio di caverna +Apple Tree=Melo +Apple Wood Planks=Assi di melo +Apple Tree Sapling=Alberello di melo +Apple Tree Leaves=Foglie di melo +Apple=Mela +Apple Marker=Marcatore mela +Jungle Tree=Albero della giungla +Jungle Wood Planks=Assi di legno della giungla +Jungle Tree Leaves=Foglie di albero della giungla +Jungle Tree Sapling=Alberello della giungla +Emergent Jungle Tree Sapling=Alberello della giungla emergente +Pine Tree=Pino +Pine Wood Planks=Assi di legno di pino +Pine Needles=Aghi di pino +Pine Tree Sapling=Alberello di pino +Acacia Tree=Acacia +Acacia Wood Planks=Assi di legno d'acacia +Acacia Tree Leaves=Foglie d'acacia +Acacia Tree Sapling=Alberello d'acacia +Aspen Tree=Pioppo +Aspen Wood Planks=Assi di legno di pioppo +Aspen Tree Leaves=Foglie di pioppo +Aspen Tree Sapling=Alberello di pioppo +Coal Ore=Minerale di carbone +Coal Block=Blocco di carbone +Iron Ore=Minerale di ferro +Steel Block=Blocco d'acciaio +Copper Ore=Minerale di rame +Copper Block=Blocco di rame +Tin Ore=Minerale di stagno +Tin Block=Blocco di stagno +Bronze Block=Blocco di bronzo +Mese Ore=Minerale di mese +Mese Block=Blocco di mese +Gold Ore=Minerale d'oro +Gold Block=Blocco d'oro +Diamond Ore=Minerale di diamante +Diamond Block=Blocco di diamante +Cactus=Cactus +Large Cactus Seedling=Piantina di cactus grande +Papyrus=Papiro +Dry Shrub=Arbusto secco +Jungle Grass=Erba della giungla +Grass=Erba +Savanna Grass= +Fern=Felce +Marram Grass=Ammofila arenaria +Bush Stem=Fusto di cespuglio +Bush Leaves=Foglie di cespuglio +Bush Sapling=Alberello di cespuglio +Blueberry Bush Leaves with Berries=Foglie di cespuglio di mirtilli con bacche +Blueberry Bush Leaves=Foglie di cespuglio di mirtilli +Blueberry Bush Sapling=Alberello di cespuglio di mirtilli +Acacia Bush Stem=Fusto di cespuglio d'acacia +Acacia Bush Leaves=Foglie di cespuglio d'acacia +Acacia Bush Sapling=Alberello di cespuglio d'acacia +Pine Bush Stem=Fusto di cespuglio di pino +Pine Bush Needles=Aghi di cespuglio di pino +Pine Bush Sapling=Alberello di cespuglio di pino +Kelp=Alga +Green Coral=Corallo verde +Pink Coral=Corallo rosa +Cyan Coral=Corallo ciano +Brown Coral=Corallo marrone +Orange Coral=Corallo arancione +Coral Skeleton=Scheletro di corallo +Water Source=Fonte d'acqua +Flowing Water=Acqua corrente +River Water Source=Fonte d'acqua di fiume +Flowing River Water=Acqua corrente di fiume +Lava Source=Fonte di lava +Flowing Lava=Lava corrente +Empty Bookshelf=Libreria vuota +Bookshelf (@1 written, @2 empty books)=Libreria (@1 scritti, @2 vuoti) +Bookshelf=Libreria +Text too long=Testo troppo lungo +"@1"= +Wooden Sign=Cartello di legno +Steel Sign=Cartello d'acciaio +Wooden Ladder=Scala a pioli di legno +Steel Ladder=Scala a pioli d'acciaio +Apple Wood Fence=Recinzione di legno di melo +Acacia Wood Fence=Recinzione di legno d'acacia +Jungle Wood Fence=Recinzione di legno della giungla +Pine Wood Fence=Recinzione di legno di pino +Aspen Wood Fence=Recinzione di legno di pioppo +Apple Wood Fence Rail=Ringhiera della recinzione di legno di melo +Acacia Wood Fence Rail=Ringhiera della recinzione di legno d'acacia +Jungle Wood Fence Rail=Ringhiera della recinzione di legno della giungla +Pine Wood Fence Rail=Ringhiera della recinzione di legno di pino +Aspen Wood Fence Rail=Ringhiera della recinzione di legno di pioppo +Glass=Vetro +Obsidian Glass=Vetro d'ossidiana +Brick Block=Blocco di mattone +Mese Lamp=Lampada di mese +Apple Wood Mese Post Light= +Acacia Wood Mese Post Light= +Jungle Wood Mese Post Light= +Pine Wood Mese Post Light= +Aspen Wood Mese Post Light= +Cloud=Nuvola +Wooden Pickaxe=Piccone di legno +Stone Pickaxe=Piccone di pietra +Bronze Pickaxe=Piccone di bronzo +Steel Pickaxe=Piccone d'acciaio +Mese Pickaxe=Piccone di mese +Diamond Pickaxe=Piccone di diamante +Wooden Shovel=Pala di legno +Stone Shovel=Pala di pietra +Bronze Shovel=Pala di bronzo +Steel Shovel=Pala d'acciaio +Mese Shovel=Pala di mese +Diamond Shovel=Pala di diamante +Wooden Axe=Ascia di legno +Stone Axe=Ascia di pietra +Bronze Axe=Ascia di bronzo +Steel Axe=Ascia d'acciaio +Mese Axe=Ascia di mese +Diamond Axe=Ascia di diamante +Wooden Sword=Spada di legno +Stone Sword=Spada di pietra +Bronze Sword=Spada di bronzo +Steel Sword=Spada d'acciaio +Mese Sword=Spada di mese +Diamond Sword=Spada di diamante +Torch=Torcia +@1 will intersect protection on growth.=@1 crescendo attraverserà la protezione. + + +##### not used anymore ##### + +Dirt with Dry Grass=Terra con erba secca +Dry Dirt=Terra asciutta +Dry Dirt with Dry Grass=Terra asciutta con erba secca +Dry Grass=Erba secca +Mese Post Light=Lampioncino di mese diff --git a/data/games/garage/mods/default/locale/default.ja.tr b/data/games/garage/mods/default/locale/default.ja.tr new file mode 100644 index 0000000..cf30e45 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.ja.tr @@ -0,0 +1,215 @@ +# textdomain: default +Locked Chest=鍵のかかったチェスト +Locked Chest (owned by @1)=鍵のかかったチェスト(@1所有) +You do not own this chest.=あなたはこのチェストの所有者ではありません。 +a locked chest=ロックされたチェスト +Chest=チェスト +Write=書き込む +Read=読む +Title:=題名 +Contents:=内容 +Save=保存 +by @1=@1著 +Page @1 of @2=@1 / @2 ページ +The book you were writing to mysteriously disappeared.=あなたが書いていた本が、不思議なことに消えました。 +"@1" by @2=@2著「@1」 +Blueberries=ブルーベリー +Book=本 +Book with Text=記入済みの本 +Bronze Ingot=青銅インゴット +Clay Brick=粘土レンガ +Clay Lump=粘土玉 +Coal Lump=石炭 +Copper Ingot=銅インゴット +Copper Lump=銅の粗鉱 +Diamond=ダイヤモンド +Flint=火打ち石 +Gold Ingot=金インゴット +Gold Lump=金の粗鉱 +Iron Lump=鉄の粗鉱 +Mese Crystal=メセクリスタル +Mese Crystal Fragment=メセクリスタルの破片 +Obsidian Shard=黒曜石の欠片 +Paper=紙 +Steel Ingot=鉄インゴット +Stick=棒 +Tin Ingot=スズインゴット +Tin Lump=スズの粗鉱 +Furnace is empty=かまどは空です +100% (output full)=100%(フル出力) +@1%=@1% +Not cookable=調理できません +Empty=空 +Furnace active=かまどは燃えてます +Furnace inactive=かまどは消えています +(Item: @1; Fuel: @2)=(アイテム: @1; 燃料: @2) +Furnace=かまど +Stone=石 +Cobblestone=丸石 +Stone Brick=石レンガ +Stone Block=石ブロック +Mossy Cobblestone=苔むした丸石 +Desert Stone=砂漠の石 +Desert Cobblestone=砂漠の丸石 +Desert Stone Brick=砂漠の石レンガ +Desert Stone Block=砂漠の石ブロック +Sandstone=砂岩 +Sandstone Brick=砂岩レンガ +Sandstone Block=砂岩ブロック +Desert Sandstone=砂漠の砂岩 +Desert Sandstone Brick=砂漠の砂岩レンガ +Desert Sandstone Block=砂漠の砂岩ブロック +Silver Sandstone=銀色の砂岩 +Silver Sandstone Brick=銀色の砂岩レンガ +Silver Sandstone Block=銀色の砂岩ブロック +Obsidian=黒曜石 +Obsidian Brick=黒曜石レンガ +Obsidian Block=黒曜石ブロック +Dirt=土 +Dirt with Grass=草に覆われた土 +Dirt with Grass and Footsteps=足跡と草に覆われた土 +Dirt with Savanna Grass=サバンナの草に覆われた土 +Dirt with Snow=雪に覆われた土 +Dirt with Rainforest Litter=熱帯雨林の落葉に覆われた土 +Dirt with Coniferous Litter=針葉樹の落葉に覆われた土 +Savanna Dirt=サバンナの土 +Savanna Dirt with Savanna Grass=サバンナの草に覆われたサバンナの土 +Permafrost=永久凍土 +Permafrost with Stones=石に覆われた永久凍土 +Permafrost with Moss=苔に覆われた永久凍土 +Sand=砂 +Desert Sand=砂漠の砂 +Silver Sand=銀色の砂 +Gravel=砂利 +Clay=粘土 +Snow=雪 +Snow Block=雪ブロック +Ice=氷 +Cave Ice=洞窟の氷 +Apple Tree=リンゴの原木 +Apple Wood Planks=リンゴの木の板材 +Apple Tree Sapling=リンゴの木の苗木 +Apple Tree Leaves=リンゴの木の葉 +Apple=リンゴ +Apple Marker=リンゴのマーカー +Jungle Tree=ジャングルの原木 +Jungle Wood Planks=ジャングルの木の板材 +Jungle Tree Leaves=ジャングルの木の葉 +Jungle Tree Sapling=ジャングルの木の苗木 +Emergent Jungle Tree Sapling=ジャングルの超高木の苗木 +Pine Tree=マツの原木 +Pine Wood Planks=マツの木の板材 +Pine Needles=マツの木の葉 +Pine Tree Sapling=マツの木の苗木 +Acacia Tree=アカシアの原木 +Acacia Wood Planks=アカシアの木の板材 +Acacia Tree Leaves=アカシアの木の葉 +Acacia Tree Sapling=アカシアの木の苗木 +Aspen Tree=ポプラの原木 +Aspen Wood Planks=ポプラの木の板材 +Aspen Tree Leaves=ポプラの木の葉 +Aspen Tree Sapling=ポプラの木の苗木 +Coal Ore=石炭鉱石 +Coal Block=石炭ブロック +Iron Ore=鉄鉱石 +Steel Block=鉄ブロック +Copper Ore=銅鉱石 +Copper Block=銅ブロック +Tin Ore=スズ鉱石 +Tin Block=スズブロック +Bronze Block=青銅ブロック +Mese Ore=メセ鉱石 +Mese Block=メセブロック +Gold Ore=金鉱石 +Gold Block=金ブロック +Diamond Ore=ダイヤモンド鉱石 +Diamond Block=ダイヤモンドブロック +Cactus=サボテン +Large Cactus Seedling=大きなサボテンの苗 +Papyrus=パピルス +Dry Shrub=枯れた低木 +Jungle Grass=ジャングルの草 +Grass=草 +Savanna Grass=サバンナの草 +Fern=シダ +Marram Grass=マラムの草 +Bush Stem=低木の幹 +Bush Leaves=低木の葉 +Bush Sapling=低木の苗木 +Blueberry Bush Leaves with Berries=ブルーベリーの実った低木 +Blueberry Bush Leaves=ブルーベリーの低木の葉 +Blueberry Bush Sapling=ブルーベリーの低木の苗木 +Acacia Bush Stem=アカシアの低木の幹 +Acacia Bush Leaves=アカシアの低木の葉 +Acacia Bush Sapling=アカシアの低木の苗木 +Pine Bush Stem=マツの低木の幹 +Pine Bush Needles=マツの低木の葉 +Pine Bush Sapling=マツの低木の苗木 +Kelp=コンブ +Green Coral=緑色のサンゴ +Pink Coral=桃色のサンゴ +Cyan Coral=青緑色のサンゴ +Brown Coral=茶色のサンゴ +Orange Coral=橙色のサンゴ +Coral Skeleton=サンゴのしがい +Water Source=水源 +Flowing Water=流れる水 +River Water Source=河川水源 +Flowing River Water=流れる河川水 +Lava Source=溶岩 +Flowing Lava=流れる溶岩 +Empty Bookshelf=空の本棚 +Bookshelf (@1 written, @2 empty books)=本棚(記述済み @1 冊, 未記述 @2 冊) +Bookshelf=本棚 +Text too long=テキストが長すぎます +"@1"=「@1」 +Wooden Sign=木製の看板 +Steel Sign=鉄の看板 +Wooden Ladder=木製のはしご +Steel Ladder=鉄のはしご +Apple Wood Fence=リンゴ材のフェンス +Acacia Wood Fence=アカシア材のフェンス +Jungle Wood Fence=ジャングル材のフェンス +Pine Wood Fence=マツ材のフェンス +Aspen Wood Fence=ポプラ材のフェンス +Apple Wood Fence Rail=リンゴ材のフェンスレール +Acacia Wood Fence Rail=アカシア材のフェンスレール +Jungle Wood Fence Rail=ジャングル材のフェンスレール +Pine Wood Fence Rail=マツ材のフェンスレール +Aspen Wood Fence Rail=ポプラ材のフェンスレール +Glass=ガラス +Obsidian Glass=黒曜石ガラス +Brick Block=レンガブロック +Mese Lamp=メセのランプ +Apple Wood Mese Post Light=リンゴ材のメセ灯柱 +Acacia Wood Mese Post Light=アカシア材のメセ灯柱 +Jungle Wood Mese Post Light=ジャングル材のメセ灯柱 +Pine Wood Mese Post Light=マツ材のメセ灯柱 +Aspen Wood Mese Post Light=ポプラ材のメセ灯柱 +Cloud=雲 +Wooden Pickaxe=木製のツルハシ +Stone Pickaxe=石のツルハシ +Bronze Pickaxe=青銅のツルハシ +Steel Pickaxe=鉄のツルハシ +Mese Pickaxe=メセのツルハシ +Diamond Pickaxe=ダイヤモンドのツルハシ +Wooden Shovel=木製のシャベル +Stone Shovel=石のシャベル +Bronze Shovel=青銅のシャベル +Steel Shovel=鉄のシャベル +Mese Shovel=メセのシャベル +Diamond Shovel=ダイヤモンドのシャベル +Wooden Axe=木製の斧 +Stone Axe=石の斧 +Bronze Axe=青銅の斧 +Steel Axe=鉄の斧 +Mese Axe=メセの斧 +Diamond Axe=ダイヤモンドの斧 +Wooden Sword=木製の剣 +Stone Sword=石の剣 +Bronze Sword=青銅の剣 +Steel Sword=鉄の剣 +Mese Sword=メセの剣 +Diamond Sword=ダイヤモンドの剣 +Torch=松明 +@1 will intersect protection on growth.=@1は成長するとき保護と交差します。 diff --git a/data/games/garage/mods/default/locale/default.jbo.tr b/data/games/garage/mods/default/locale/default.jbo.tr new file mode 100644 index 0000000..5ae9722 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.jbo.tr @@ -0,0 +1,215 @@ +# textdomain: default +Locked Chest=lo selstela gairvau +Locked Chest (owned by @1)=.i ti selstela gairvau po la'o zo'i.@1.zo'i +You do not own this chest.=.i do na ponse lo ti gairvau +a locked chest=lo selstela gairvau +Chest=lo gairvau +Write=ciska +Read=tcidu +Title:=cmene +Contents:=se cukta +Save=rejgau +by @1=la'o zo'i.@1.zo'i te cukta +Page @1 of @2=meirmoi fe li @1 li @2 +The book you were writing to mysteriously disappeared.=lo cukta poi do ciska ke'a cu cizra canci +"@1" by @2=lo cukta be la'o gy.@1.gy. bei la'o zo'i.@2.zo'i +Blueberries=lo blajba +Book=lo cukta +Book with Text=lo cukta joi selci'a +Bronze Ingot=lo ransu manfybli +Clay Brick=lo kitybli +Clay Lump=lo kliti bakfu +Coal Lump=lo kolme bakfu +Copper Ingot=lo tunka manfybli +Copper Lump=lo tunka bakfu +Diamond=lo tabjme +Flint=lo fagyro'i +Gold Ingot=lo solji manfybli +Gold Lump=lo solji bakfu +Iron Lump=lo tirse bakfu +Mese Crystal=lo za'e krilrmese +Mese Crystal Fragment=lo za'e krilrmese spisa +Obsidian Shard=lo je'erma'ablaci spisa +Paper=lo pelji +Steel Ingot=lo gasta manfybli +Stick=lo grana +Tin Ingot=lo tinci manfybli +Tin Lump=lo tinci bakfu +Furnace is empty=.i lo toknu cu kunti +100% (output full)=100 ce'i to lo se zbasu cu culno toi +@1%=@1 ce'i +Not cookable=na kakne le ka se jukpa +Empty=ti kunti +Furnace active=.i lo toknu cu tolcando +Furnace inactive=.i lo toknu cu cando +(Item: @1; Fuel: @2)=to jukpa @1 @2 +Furnace=lo toknu +Stone=lo rokci +Cobblestone=lo lolro'iboi +Stone Brick=lo morna rokci +Stone Block=lo rokci bliku +Mossy Cobblestone=lo clika lolro'iboi +Desert Stone=lo cantu'a rokci +Desert Cobblestone=lo cantu'a lolro'iboi +Desert Stone Brick=lo morna ke cantu'a rokci +Desert Stone Block=lo cantu'a rokci bliku +Sandstone=lo canro'i +Sandstone Brick=lo morna canro'i +Sandstone Block=lo canro'i bliku +Desert Sandstone=lo cantu'a canro'i +Desert Sandstone Brick=lo morna ke cantu'a canro'i +Desert Sandstone Block=lo cantu'a canro'i bliku +Silver Sandstone=lo rijyska canro'i +Silver Sandstone Brick=lo morna ke rijyska canro'i +Silver Sandstone Block=lo rijyska canro'i bliku +Obsidian=lo je'erma'ablaci +Obsidian Brick=lo morna je'erma'ablaci +Obsidian Block=lo je'erma'ablaci bliku +Dirt=lo dertu +Dirt with Grass=lo dertu joi srasu +Dirt with Grass and Footsteps=lo dertu joi srasu jebo stapa bo prina +Dirt with Savanna Grass=lo dertu joi sudytu'a bo srasu +Dirt with Snow=lo dertu joi snime +Dirt with Rainforest Litter=lo dertu joi glatimdemricfoi bo festi +Dirt with Coniferous Litter=lo dertu joi ckunu bo festi +Savanna Dirt=lo sudytu'a dertu +Savanna Dirt with Savanna Grass=lo sudysu'a bo dertu joi sudytu'a bo srasu +Permafrost=lo vi'orbisloi +Permafrost with Stones=lo vi'orbisloi joi rokci +Permafrost with Moss=lo vi'orbisloi joi clika +Sand=lo canre +Desert Sand=lo cantu'a canre +Silver Sand=lo rijyska canre +Gravel=lo cmaro'i +Clay=lo kliti +Snow=lo snime +Snow Block=lo snime bliku +Ice=lo bisli +Cave Ice=lo kevzda bisli +Apple Tree=lo plisytricu ricystani +Apple Wood Planks=lo plisymudri tanbo +Apple Tree Sapling=lo plisytricu ciftricu +Apple Tree Leaves=lo plisytricu pezli +Apple=lo plise +Apple Marker=lo plise barna +Jungle Tree=lo glatimdemricfoi ricystani +Jungle Wood Planks=lo glatimdemricfoi mudri tanbo +Jungle Tree Leaves=lo glatimdemricfoi pezli +Jungle Tree Sapling=lo glatimdemricfoi ciftricu +Emergent Jungle Tree Sapling=lo barda ke glatimdemricfoi ciftricu +Pine Tree=lo ckunu ricystani +Pine Wood Planks=lo ku'urmudri tanbo +Pine Needles=lo ckunu jezpezli +Pine Tree Sapling=lo ckunu ciftricu +Acacia Tree=lo atkaci,ia ricystani +Acacia Wood Planks=lo atkaci,ia mudri tanbo +Acacia Tree Leaves=lo atkaci,ia pezli +Acacia Tree Sapling=lo atkaci,ia ciftricu +Aspen Tree=lo ricrpopulu ricystani +Aspen Wood Planks=lo mudrpopulu tanbo +Aspen Tree Leaves=lo ricrpopulu pezli +Aspen Tree Sapling=lo ricrpopulu ciftricu +Coal Ore=lo kolme kunra +Coal Block=lo kolme bliku +Iron Ore=lo tirse kunra +Steel Block=lo gasta bliku +Copper Ore=lo tunka kunra +Copper Block=lo tunka bliku +Tin Ore=lo tinci kunra +Tin Block=lo tinci bliku +Bronze Block=lo ransu bliku +Mese Ore=lo za'e kunrmese +Mese Block=lo za'e blikrmese +Gold Ore=lo solji kunra +Gold Block=lo solji bliku +Diamond Ore=lo tabjme kunra +Diamond Block=lo tabjme bliku +Cactus=lo jesyspa +Large Cactus Seedling=lo barda ke jesyspa tsiju +Papyrus=lo misryplespa +Dry Shrub=lo sudga dzitricu +Jungle Grass=lo glatimdemricfoi srasu +Grass=lo srasu +Savanna Grass=lo sudytu'a srasu +Fern=lo filcina +Marram Grass=lo xaskoi srasu +Bush Stem=lo dzitricu stani +Bush Leaves=lo dzitricu pezli +Bush Sapling=lo dzitricu ciftricu +Blueberry Bush Leaves with Berries=lo ke blajba dzitricu pezli ke'e joi jbari +Blueberry Bush Leaves=lo blajba dzitricu pezli +Blueberry Bush Sapling=lo blajba dzitrcu ciftricu +Acacia Bush Stem=lo atkaci,ia dzitricu stani +Acacia Bush Leaves=lo atkaci,ia dzitricu pezli +Acacia Bush Sapling=lo atkaci,ia dzitricu ciftricu +Pine Bush Stem=lo ckunu dzitricu stani +Pine Bush Needles=lo ckunu dzitricu jezpezli +Pine Bush Sapling=lo ckunu dzitricu ciftricu +Kelp=lo vraike +Green Coral=lo crino pevypanje +Pink Coral=lo xunblabi pevypanje +Cyan Coral=lo cicna pevypanje +Brown Coral=lo bunre pevypanje +Orange Coral=lo narju pevypanje +Coral Skeleton=lo pevypanje greku +Water Source=lo djacu velflecu +Flowing Water=lo flecu djacu +River Water Source=lo rirxe djacu velflecu +Flowing River Water=lo flecu ke rirxe djacu +Lava Source=lo likro'i velflecu +Flowing Lava=lo flecu likro'i +Empty Bookshelf=.i ti kunti ckukajna +Bookshelf (@1 written, @2 empty books)=.i ti ckukajna to @1 cukta joi selci'a .ije @2 kunti cukta toi +Bookshelf=lo ckukajna +Text too long=.i lo lerpoi cu dukse lo ka clani +"@1"=zoi sy.@1.sy. +Wooden Sign=lo mudri sinxa +Steel Sign=lo gasta sinxa +Wooden Ladder=lo mudri rajyserti +Steel Ladder=lo gasta rajyserti +Apple Wood Fence=lo plisymudri garbi'u +Acacia Wood Fence=lo atkaci,ia mudri garbi'u +Jungle Wood Fence=lo glatimdemricfoi mudri garbi'u +Pine Wood Fence=lo ku'urmudri garbi'u +Aspen Wood Fence=lo mudrpopulu garbi'u +Apple Wood Fence Rail=lo plisymudri garbi'u garna +Acacia Wood Fence Rail=lo atkaci,ia mudri garbi'u garna +Jungle Wood Fence Rail=lo glatimdemricfoi mudri garbi'u garna +Pine Wood Fence Rail=lo ku'urmudri garbi'u garna +Aspen Wood Fence Rail=lo mudrpopulu garbi'u garna +Glass=lo blaci +Obsidian Glass=lo je'erma'ablaci blaci +Brick Block=lo kitybli bliku +Mese Lamp=lo za'e gusrmese +Apple Wood Mese Post Light=lo plisymudri ke kamju za'e gusrmese +Acacia Wood Mese Post Light=lo atkaci,ia mudri ke kamju za'e gusrmese +Jungle Wood Mese Post Light=lo glatimdemricfoi mudri ke kamju za'e gusrmese +Pine Wood Mese Post Light=lo ku'urmudri ke kamju za'e gusrmese +Aspen Wood Mese Post Light=lo mudrpopulu ke kamju za'e gusrmese +Cloud=lo dilnu +Wooden Pickaxe=lo mudri velkakpymru +Stone Pickaxe=lo rokci velkakpymru +Bronze Pickaxe=lo ransu velkakpymru +Steel Pickaxe=lo gasta velkakpymru +Mese Pickaxe=lo za'e kunrmese velkakpymru +Diamond Pickaxe=lo tabjme velkakpymru +Wooden Shovel=lo mudri canpa +Stone Shovel=lo rokci canpa +Bronze Shovel=lo ransu canpa +Steel Shovel=lo gasta canpa +Mese Shovel=lo za'e kunrmese canpa +Diamond Shovel=lo tabjme canpa +Wooden Axe=lo mudri ka'amru +Stone Axe=lo rokci ka'amru +Bronze Axe=lo ransu ka'amru +Steel Axe=lo gasta ka'amru +Mese Axe=lo za'e kunrmese ka'amru +Diamond Axe=lo tabjme ka'amru +Wooden Sword=lo mudri cladakyxa'i +Stone Sword=lo rokci cladakyxa'i +Bronze Sword=lo ransu cladakyxa'i +Steel Sword=lo gasta cladakyxa'i +Mese Sword=lo za'e kunrmese cladakyxa'i +Diamond Sword=lo tabjme cladakyxa'i +Torch=lo fagytergu'i +@1 will intersect protection on growth.=.i @1 cu ba kruca lo bandu ca lo nu banro diff --git a/data/games/garage/mods/default/locale/default.lv.tr b/data/games/garage/mods/default/locale/default.lv.tr new file mode 100644 index 0000000..b0a1de0 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.lv.tr @@ -0,0 +1,215 @@ +# textdomain: default +Locked Chest=Aizslēgta lāde +Locked Chest (owned by @1)=Aizslēgta lāde (Saimnieks: @1) +You do not own this chest.=Jums nepieder šī lāde. +a locked chest=aizslēgta lāde +Chest=Lāde +Write=Rakstīt +Read=Lasīt +Title:=Virsraksts: +Contents:=Saturs: +Save=Saglabāt +by @1=autors @1 +Page @1 of @2=@1 lappuse no @2 +The book you were writing to mysteriously disappeared.=Grāmata, kuru rakstījāt, pēkšņi pazuda. +"@1" by @2="@1" @2 +Blueberries=Mellenes +Book=Grāmata +Book with Text=Grāmata ar tekstu +Bronze Ingot=Bronzas stienis +Clay Brick=Māla ķieģelis +Clay Lump=Māla pika +Coal Lump=Ogle +Copper Ingot=Vara stienis +Copper Lump=Vara rūdas gabals +Diamond=Dimants +Flint=Krams +Gold Ingot=Zelta stienis +Gold Lump=Zelta rūdas gabals +Iron Lump=Dzelzs rūdas gabals +Mese Crystal=Mēzes kristāls +Mese Crystal Fragment=Mēzes kristāla fragments +Obsidian Shard=Obsidiāna skaida +Paper=Papīrs +Steel Ingot=Tērauda stienis +Stick=Puļķis +Tin Ingot=Alvas stienis +Tin Lump=Alvas rūdas gabals +Furnace is empty=Krāsns ir tukša +100% (output full)=100% (izeja pilna) +@1%=@1% +Not cookable=Nav gatavojams +Empty=Tukšs +Furnace active=Krāsns kurās +Furnace inactive=Krāsns nekurās +(Item: @1; Fuel: @2)=(Priekšmets: @1; Degviela: @2) +Furnace=Krāsns +Stone=Akmens +Cobblestone=Mūrakmens +Stone Brick=Akmens ķieģeļi +Stone Block=Akmens bloks +Mossy Cobblestone=Apsūnojis mūrakmens +Desert Stone=Tuksneša akmens +Desert Cobblestone=Tuksneša mūrakmens +Desert Stone Brick=Tuksneša akmens ķieģeļi +Desert Stone Block=Tuksneša akmens bloks +Sandstone=Smilšakmens +Sandstone Brick=Smilšakmens ķieģeļi +Sandstone Block=Smilšakmens bloks +Desert Sandstone=Tuksnesa smilšakmens +Desert Sandstone Brick=Tuksneša smilšakmens ķieģeļi +Desert Sandstone Block=Tuksneša smilšakmens bloks +Silver Sandstone=Baltais smilšakmens +Silver Sandstone Brick=Baltā smilšakmens ķieģeļi +Silver Sandstone Block=Baltā smilšakmens bloks +Obsidian=Obsidiāns +Obsidian Brick=Obsidiāna ķieģeļi +Obsidian Block=Obsidiāna bloks +Dirt=Zeme +Dirt with Grass=Zeme ar zāli +Dirt with Grass and Footsteps=Pēdaina zeme ar zāli +Dirt with Savanna Grass=Zeme ar savannas zāli +Dirt with Snow=Zeme ar sniegu +Dirt with Rainforest Litter=Zeme ar lietusmeža zemsedzi +Dirt with Coniferous Litter=Zeme ar skujām +Savanna Dirt=Savannas zeme +Savanna Dirt with Savanna Grass=Savannas zeme ar savannas zāli +Permafrost=Mūžīgais sasalums +Permafrost with Stones=Mūžīgais sasalums ar akmentiņiem +Permafrost with Moss=Mūžīgais sasalums ar sūnām +Sand=Smilts +Desert Sand=Tuksneša smilts +Silver Sand=Baltā smilts +Gravel=Grants +Clay=Māla bloks +Snow=Sniegs +Snow Block=Sniega bloks +Ice=Ledus +Cave Ice=Alu ledus +Apple Tree=Ābele +Apple Wood Planks=Ābolkoka dēļi +Apple Tree Sapling=Ābeles dzinums +Apple Tree Leaves=Ābeles lapas +Apple=Ābols +Apple Marker=Ābola marķieris +Jungle Tree=Džungļu koks +Jungle Wood Planks=Džungļu koka dēļi +Jungle Tree Leaves=Džungļu koka lapas +Jungle Tree Sapling=Džungļu koka dzinums +Emergent Jungle Tree Sapling=Augsta džungļu koka dzinums +Pine Tree=Skujkoks +Pine Wood Planks=Skujkoka dēļi +Pine Needles=Skujas +Pine Tree Sapling=Skujkoka dzinums +Acacia Tree=Akācija +Acacia Wood Planks=Akācijas dēļi +Acacia Tree Leaves=Akācijas lapas +Acacia Tree Sapling=Akācijas dzinums +Aspen Tree=Apse +Aspen Wood Planks=Apses koka dēļi +Aspen Tree Leaves=Apses lapas +Aspen Tree Sapling=Apses dzinums +Coal Ore=Akmeņogļu rūda +Coal Block=Akmeņogļu bloks +Iron Ore=Dzelzs rūda +Steel Block=Tērauda bloks +Copper Ore=Vara rūda +Copper Block=Vara bloks +Tin Ore=Alvas rūda +Tin Block=Alvas bloks +Bronze Block=Bronzas bloks +Mese Ore=Mēzes rūda +Mese Block=Mēzes bloks +Gold Ore=Zelta rūda +Gold Block=Zelta bloks +Diamond Ore=Dimanta rūda +Diamond Block=Dimanta bloks +Cactus=Kaktuss +Large Cactus Seedling=Liela kaktusa dzinums +Papyrus=Papiruss +Dry Shrub=Izžuvis krūmiņš +Jungle Grass=Džungļu zāle +Grass=Zāle +Savanna Grass=Savannas zāle +Fern=Paparde +Marram Grass=Kāpu niedre +Bush Stem=Krūma stumbrājs +Bush Leaves=Krūma lapas +Bush Sapling=Krūma dzinums +Blueberry Bush Leaves with Berries=Melleņu krūms ar ogām +Blueberry Bush Leaves=Melleņu krūms +Blueberry Bush Sapling=Melleņu krūma dzinums +Acacia Bush Stem=Akācijas krūma stumbrājs +Acacia Bush Leaves=Akācijas krūma lapas +Acacia Bush Sapling=Akācijas krūma dzinums +Pine Bush Stem=Skujaina krūma stumbrājs +Pine Bush Needles=Skujaina krūma lapas +Pine Bush Sapling=Skujaina krūma dzinums +Kelp=Brūnaļģes +Green Coral=Zaļš korallis +Pink Coral=Rozā korallis +Cyan Coral=Ciānkrāsas korallis +Brown Coral=Brūns korallis +Orange Coral=Oranžs korallis +Coral Skeleton=Koraļļa skelets +Water Source=Ūdens avots +Flowing Water=Plūstošs ūdens +River Water Source=Upes ūdens avots +Flowing River Water=Tekošs upes ūdens +Lava Source=Lavas avots +Flowing Lava=Plūstoša lava +Empty Bookshelf=Tukss grāmatplaukts +Bookshelf (@1 written, @2 empty books)=Grāmatplauktā (@1 rakstītas, @2 tukšas grāmatas) +Bookshelf=Grāmatplaukts +Text too long=Teksts par garu +"@1"="@1" +Wooden Sign=Koka zīme +Steel Sign=Tērauda zīme +Wooden Ladder=Koka kāpnes +Steel Ladder=Tērauda kāpnes +Apple Wood Fence=Ābolkoka žogs +Acacia Wood Fence=Akācijas žogs +Jungle Wood Fence=Džungļu koka žogs +Pine Wood Fence=Skujkoka žogs +Aspen Wood Fence=Apses koka žogs +Apple Wood Fence Rail=Ābolkoka žoga margas +Acacia Wood Fence Rail=Akācijas žoga margas +Jungle Wood Fence Rail=Džungļu koka žoga margas +Pine Wood Fence Rail=Skujkoka žoga margas +Aspen Wood Fence Rail=Apses žoga margas +Glass=Stikls +Obsidian Glass=Obsidiāna stikls +Brick Block=Ķieģeļu bloks +Mese Lamp=Mēzes lampa +Apple Wood Mese Post Light=Ābolkoka mēzes lampa +Acacia Wood Mese Post Light=Akācijas mēzes lampa +Jungle Wood Mese Post Light=Džungļu koka mēzes lampa +Pine Wood Mese Post Light=Skujkoka mēzes lampa +Aspen Wood Mese Post Light=Apses koka mēzes lampa +Cloud=Mākonis +Wooden Pickaxe=Koka cērte +Stone Pickaxe=Akmens cērte +Bronze Pickaxe=Bronzas cērte +Steel Pickaxe=Tērauda cērte +Mese Pickaxe=Mēzes cērte +Diamond Pickaxe=Dimanta cērte +Wooden Shovel=Koka lāpsta +Stone Shovel=Akmens lāpsta +Bronze Shovel=Bronzas lāpsta +Steel Shovel=Tērauda lāpsta +Mese Shovel=Mēzes lāpsta +Diamond Shovel=Dimanta lāpsta +Wooden Axe=Koka cirvis +Stone Axe=Akmens cirvis +Bronze Axe=Bronzas cirvis +Steel Axe=Tērauda cirvis +Mese Axe=Mēzes cirvis +Diamond Axe=Dimanta cirvis +Wooden Sword=Koka zobens +Stone Sword=Akmens zobens +Bronze Sword=Bronzas zobens +Steel Sword=Tērauda zobens +Mese Sword=Mēzes zobens +Diamond Sword=Dimanta zobens +Torch=Lāpa +@1 will intersect protection on growth.=@1 augot krustos aisargājamo zonu. diff --git a/data/games/garage/mods/default/locale/default.ms.tr b/data/games/garage/mods/default/locale/default.ms.tr new file mode 100644 index 0000000..0395afa --- /dev/null +++ b/data/games/garage/mods/default/locale/default.ms.tr @@ -0,0 +1,224 @@ +# textdomain: default +Locked Chest=Peti Berkunci +Locked Chest (owned by @1)=Peti Berkunci (milik @1) +You do not own this chest.=Ini bukan peti milik anda. +a locked chest=peti berkunci +Chest=Peti +Write=Tulis +Read=Baca +Title:=Tajuk: +Contents:=Kandungan: +Save=Simpan +by @1=oleh @1 +Page @1 of @2=Halaman @1 daripada @2 +The book you were writing to mysteriously disappeared.=Buku yang anda tulis hilang secara misterinya. +"@1" by @2="@1" oleh @2 +Blueberries=Beri Biru +Book=Buku +Book with Text=Buku Bertulisan +Bronze Ingot=Jongkong Gangsa +Clay Brick=Bata Tanah Liat +Clay Lump=Longgokan Tanah Liat +Coal Lump=Longgokan Batu Arang +Copper Ingot=Jongkong Tembaga +Copper Lump=Longgokan Tembaga +Diamond=Berlian +Flint=Batu Api +Gold Ingot=Jongkong Emas +Gold Lump=Longgokan Emas +Iron Lump=Longgokan Besi +Mese Crystal=Kristal Mese +Mese Crystal Fragment=Serpihan Kristal Mese +Obsidian Shard=Serpihan Obsidia +Paper=Kertas +Steel Ingot=Jongkong Keluli +Stick=Serpihan Kayu +Tin Ingot=Jongkong Timah +Tin Lump=Longgokan Timah +Furnace is empty=Relau masih kosong +100% (output full)=100% (keluaran penuh) +@1%=@1% +Not cookable=Tidak boleh dimasak +Empty=Kosong +Furnace active=Relau aktif +Furnace inactive=Relau tidak aktif +(Item: @1; Fuel: @2)=(Item: @1; Bahan api: @2) +Furnace=Relau +Stone=Batu +Cobblestone=Batu Buntar +Stone Brick=Bata Batu +Stone Block=Bongkah Batu +Mossy Cobblestone=Batu Buntar Berlumut +Desert Stone=Batu Gurun +Desert Cobblestone=Batu Buntar Gurun +Desert Stone Brick=Bata Batu Gurun +Desert Stone Block=Bongkah Batu Gurun +Sandstone=Batu Pasir +Sandstone Brick=Bata Batu Pasir +Sandstone Block=Bongkah Batu Pasir +Desert Sandstone=Batu Pasir Gurun +Desert Sandstone Brick=Bata Batu Pasir Gurun +Desert Sandstone Block=Bongkah Batu Pasir Gurun +Silver Sandstone=Batu Pasir Perak +Silver Sandstone Brick=Bata Batu Pasir Perak +Silver Sandstone Block=Bongkah Batu Pasir Perak +Obsidian=Obsidia +Obsidian Brick=Bata Obsidia +Obsidian Block=Bongkah Obsidia +Dirt=Tanah +Dirt with Grass=Tanah Berumput +Dirt with Grass and Footsteps=Tanah Berumput dan Tapak Kaki +Dirt with Savanna Grass=Tanah Berumput Savana +Dirt with Snow=Tanah Bersalji +Dirt with Rainforest Litter=Tanah Bersarap Hutan Hujan +Dirt with Coniferous Litter=Tanah Bersarap Hutan Konifer +Savanna Dirt=Tanah Savana +Savanna Dirt with Savanna Grass=Tanah Savana Berumput Savana +Permafrost=Ibun Abadi +Permafrost with Stones=Ibun Abadi Berbatu +Permafrost with Moss=Ibun Abadi Berlumut +Sand=Pasir +Desert Sand=Pasir Gurun +Silver Sand=Pasir Perak +Gravel=Kelikir +Clay=Tanah Liat +Snow=Salji +Snow Block=Bongkah Salji +Ice=Ais +Cave Ice=Ais Gua +Apple Tree=Kayu Pokok Epal +Apple Wood Planks=Papan Kayu Epal +Apple Tree Sapling=Anak Pokok Epal +Apple Tree Leaves=Daun Pokok Epal +Apple=Epal +Apple Marker=Penanda Epal +Jungle Tree=Kayu Pokok Hutan +Jungle Wood Planks=Papan Kayu Hutan +Jungle Tree Leaves=Daun Pokok Hutan +Jungle Tree Sapling=Anak Pokok Hutan +Emergent Jungle Tree Sapling=Anak Pokok Hutan Kembang +Pine Tree=Kayu Pokok Pain +Pine Wood Planks=Papan Kayu Pain +Pine Needles=Daun Pokok Pain +Pine Tree Sapling=Anak Pokok Pain +Acacia Tree=Kayu Pokok Akasia +Acacia Wood Planks=Papan Kayu Akasia +Acacia Tree Leaves=Daun Pokok Akasia +Acacia Tree Sapling=Anak Pokok Akasia +Aspen Tree=Kayu Pokok Aspen +Aspen Wood Planks=Papan Kayu Aspen +Aspen Tree Leaves=Daun Pokok Aspen +Aspen Tree Sapling=Anak Pokok Aspen +Coal Ore=Bijih Batu Arang +Coal Block=Bongkah Batu Arang +Iron Ore=Bijih Besi +Steel Block=Bongkah Keluli +Copper Ore=Bijih Tembaga +Copper Block=Bongkah Tembaga +Tin Ore=Bijih Timah +Tin Block=Bongkah Timah +Bronze Block=Bongkah Gangsa +Mese Ore=Bijih Mese +Mese Block=Bongkah Mese +Gold Ore=Bijih Emas +Gold Block=Bongkah Emas +Diamond Ore=Bijih Intan +Diamond Block=Bongkah Intan +Cactus=Kaktus +Large Cactus Seedling=Benih Kaktus Besar +Papyrus=Papirus +Dry Shrub=Pokok Renek Kering +Jungle Grass=Rumput Hutan +Grass=Rumput +Savanna Grass=Rumput Savana +Fern=Paku Pakis +Marram Grass=Rumput Maram +Bush Stem=Batang Belukar +Bush Leaves=Daun Belukar +Bush Sapling=Anak Belukar +Blueberry Bush Leaves with Berries=Daun Belukar Beri Biru Berberi +Blueberry Bush Leaves=Daun Belukar Beri Biru +Blueberry Bush Sapling=Anak Belukar Beri Biru +Acacia Bush Stem=Batang Belukar Akasia +Acacia Bush Leaves=Daun Belukar Akasia +Acacia Bush Sapling=Anak Belukar Akasia +Pine Bush Stem=Batang Belukar Pain +Pine Bush Needles=Daun Belukar Pain +Pine Bush Sapling=Anak Belukar Pain +Kelp=Kelpa +Green Coral=Batu Karang Hijau +Pink Coral=Batu Karang Merah Jambu +Cyan Coral=Batu Karang Biru Kehijauan +Brown Coral=Batu Karang Perang +Orange Coral=Batu Karang Jingga +Coral Skeleton= Rangka Karang +Water Source=Sumber Air +Flowing Water=Air Mengalir +River Water Source=Sumber Air Sungai +Flowing River Water=Air Sungai Mengalir +Lava Source=Sumber Lava +Flowing Lava=Lava Mengalir +Empty Bookshelf=Rak Buku Kosong +Bookshelf (@1 written, @2 empty books)=Rak Buku (@1 buku bertulis, @2 buku kosong) +Bookshelf=Rak Buku +Text too long=Tulisan terlalu panjang +"@1"="@1" +Wooden Sign=Papan Tanda Kayu +Steel Sign=Papan Tanda Keluli +Wooden Ladder=Tangga Panjat Kayu +Steel Ladder=Tangga Panjat Keluli +Apple Wood Fence=Pagar Kayu Epal +Acacia Wood Fence=Pagar Kayu Akasia +Jungle Wood Fence=Pagar Kayu Hutan +Pine Wood Fence=Pagar Kayu Pain +Aspen Wood Fence=Pagar Kayu Aspen +Apple Wood Fence Rail=Pagar Rel Kayu Epal +Acacia Wood Fence Rail=Pagar Rel Kayu Akasia +Jungle Wood Fence Rail=Pagar Rel Kayu Hutan +Pine Wood Fence Rail=Pagar Rel Kayu Pain +Aspen Wood Fence Rail=Pagar Rel Kayu Aspen +Glass=Kaca +Obsidian Glass=Kaca Obsidia +Brick Block=Bongkah Bata +Mese Lamp=Lampu Mese +Apple Wood Mese Post Light=Lampu Tiang Mese Kayu Epal +Acacia Wood Mese Post Light=Lampu Tiang Mese Kayu Akasia +Jungle Wood Mese Post Light=Lampu Tiang Mese Kayu Hutan +Pine Wood Mese Post Light=Lampu Tiang Mese Kayu Pain +Aspen Wood Mese Post Light=Lampu Tiang Mese Kayu Aspen +Cloud=Awan +Wooden Pickaxe=Beliung Kayu +Stone Pickaxe=Beliung Batu +Bronze Pickaxe=Beliung Gangsa +Steel Pickaxe=Beliung Keluli +Mese Pickaxe=Beliung Mese +Diamond Pickaxe=Beliung Intan +Wooden Shovel=Penyodok Kayu +Stone Shovel=Penyodok Batu +Bronze Shovel=Penyodok Gangsa +Steel Shovel=Penyodok Keluli +Mese Shovel=Penyodok Mese +Diamond Shovel=Penyodok Intan +Wooden Axe=Kapak Kayu +Stone Axe=Kapak Batu +Bronze Axe=Kapak Gangsa +Steel Axe=Kapak Keluli +Mese Axe=Kapak Mese +Diamond Axe=Kapak Intan +Wooden Sword=Pedang Kayu +Stone Sword=Pedang Batu +Bronze Sword=Pedang Gangsa +Steel Sword=Pedang Keluli +Mese Sword=Pedang Mese +Diamond Sword=Pedang Intan +Torch=Obor +@1 will intersect protection on growth.=@1 akan masuk kawasan perlindungan lain apabila ia tumbuh. + + +##### not used anymore ##### + +Dirt with Dry Grass=Tanah Berumput Kering +Dry Dirt=Tanah Kering +Dry Dirt with Dry Grass=Tanah Kering Berumput Kering +Dry Grass=Rumput Kering +Mese Post Light=Lampu Tiang Mese diff --git a/data/games/garage/mods/default/locale/default.pl.tr b/data/games/garage/mods/default/locale/default.pl.tr new file mode 100644 index 0000000..dd08b84 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.pl.tr @@ -0,0 +1,215 @@ +# textdomain: default +Locked Chest=Zablokowana skrzynia +Locked Chest (owned by @1)=Zablokowana skrzynia (właściciel: @1) +You do not own this chest.=Nie jesteś właścicielem tej skrzyni. +a locked chest=zablokowana skrzynia +Chest=Skrzynia +Write=Zapis +Read=Odczyt +Title:=Tytuł: +Contents:=Zawartość: +Save=Zapisz +by @1=autor: @1 +Page @1 of @2=Strona @1 z @2 +The book you were writing to mysteriously disappeared.= +"@1" by @2="@1" przez @2 +Blueberries=Jagody +Book=Książka +Book with Text=Zapisana książka +Bronze Ingot=Sztabka brązu +Clay Brick=Gliniana cegła +Clay Lump=Glina +Coal Lump=Węgiel +Copper Ingot=Sztabka miedzi +Copper Lump=Bryłka miedzi +Diamond=Diament +Flint=Krzemień +Gold Ingot=Sztabka złota +Gold Lump=Bryłka złota +Iron Lump=Bryłka żelaza +Mese Crystal=Kryształ Mese +Mese Crystal Fragment=Fragment kryształu Mese +Obsidian Shard=Odłamek obsydianu +Paper=Papier +Steel Ingot=Sztabka stali +Stick=Patyk +Tin Ingot=Sztabka cyny +Tin Lump=Bryłka cyny +Furnace is empty=Piec jest pusty +100% (output full)=100% (zapełnione) +@1%=@1% +Not cookable=Nie nadaje się do przepalania +Empty=Puste +Furnace active=Piec aktywny +Furnace inactive=Piec nieaktywny +(Item: @1; Fuel: @2)=(Przedmiot: @1; Paliwo: @2) +Furnace=Piec +Stone=Kamień +Cobblestone=Bruk +Stone Brick=Kamienne cegły +Stone Block=Blok kamienia +Mossy Cobblestone=Bruk z mchem +Desert Stone=Pustynny kamień +Desert Cobblestone=Pustynny bruk +Desert Stone Brick=Pustynne kamienne cegły +Desert Stone Block=Blok pustynnego kamienia +Sandstone=Piaskowiec +Sandstone Brick=Cegły z piaskowca +Sandstone Block=Blok piaskowca +Desert Sandstone=Pustynny piaskowiec +Desert Sandstone Brick=Cegły z pustynnego piaskowca +Desert Sandstone Block=Blok pustynnego piaskowca +Silver Sandstone=Srebrny piaskowiec +Silver Sandstone Brick=Cegły z srebrnego piaskowca +Silver Sandstone Block=Blok srebrnego piaskowca +Obsidian=Obsydian +Obsidian Brick=Obsydianowe cegły +Obsidian Block=Blok obsydianu +Dirt=Ziemia +Dirt with Grass=Ziemia z trawą +Dirt with Grass and Footsteps=Ziemia z trawą i śladami +Dirt with Savanna Grass=Ziemia z sawannową trawą +Dirt with Snow=Ziemia ze śniegiem +Dirt with Rainforest Litter=Ziemia ze ściółką lasu deszczowego +Dirt with Coniferous Litter=Ziemia ze ściółką lasu iglastego +Savanna Dirt=Sawannowa ziemia +Savanna Dirt with Savanna Grass=Sawannowa ziemia z sawannową trawą +Permafrost=Zmarzlina +Permafrost with Stones=Zmarzlina z kamieniami +Permafrost with Moss=Zmarzlina z mchem +Sand=Piasek +Desert Sand=Pustynny piasek +Silver Sand=Srebrny piasek +Gravel=Żwir +Clay=Glina +Snow=Śnieg +Snow Block=Blok śniegu +Ice=Lód +Cave Ice=Jaskiniowy lód +Apple Tree=Jabłkowe drewno +Apple Wood Planks=Deski z drzewa jabłkowego +Apple Tree Sapling=Sadzonka drzewa jabłkowego +Apple Tree Leaves=Liście drzewa jabłkowego +Apple=Jabłko +Apple Marker=Znacznik jabłka +Jungle Tree=Dżunglowe drewno +Jungle Wood Planks=Deski z dżunglowego drzewa +Jungle Tree Leaves=Liście dżunglowego drzewa +Jungle Tree Sapling=Sadzonka dżunglowego drzewa +Emergent Jungle Tree Sapling=Wyłaniająca się sadzonka dżunglowego drzewa +Pine Tree=Sosnowe drewno +Pine Wood Planks=Deski z sosnowego drzewa +Pine Needles=Sosnowe igły +Pine Tree Sapling=Sadzonka sosnowego drzewa +Acacia Tree=Akacjowe drewno +Acacia Wood Planks=Deski z akacjowego drzewa +Acacia Tree Leaves=Liście akacjowego drzewa +Acacia Tree Sapling=Sadzonka akacjowego drzewa +Aspen Tree=Brzozowe drzewo +Aspen Wood Planks=Deski z brzozowego drzewa +Aspen Tree Leaves=Liście brzozowego drzewa +Aspen Tree Sapling=Sadzonka brzozowego drzewa +Coal Ore=Ruda węgla +Coal Block=Blok węgla +Iron Ore=Ruda żelaza +Steel Block=Blok stali +Copper Ore=Ruda miedzi +Copper Block=Blok miedzi +Tin Ore=Ruda cyny +Tin Block=Blok cyny +Bronze Block=Blok brązu +Mese Ore=Ruda Mese +Mese Block=Blok Mese +Gold Ore=Ruda złota +Gold Block=Blok złota +Diamond Ore=Ruda diamentu +Diamond Block=Blok diamentu +Cactus=Kaktus +Large Cactus Seedling=Sadzonka dużego kaktusa +Papyrus=Papirus +Dry Shrub=Uschnięty krzak +Jungle Grass=Dżunglowa trawa +Grass=Trawa +Savanna Grass=Sawannowa trawa +Fern=Paproć +Marram Grass=Trzcinnik leśny +Bush Stem=Korzeń krzaku +Bush Leaves=Liście krzaku +Bush Sapling=Sadzonka krzaku +Blueberry Bush Leaves with Berries=Liście jagodowego krzaku z jagodami +Blueberry Bush Leaves=Liście jagodowego krzaku +Blueberry Bush Sapling=Sadzonka jagodowego krzaku +Acacia Bush Stem=Korzeń akacjowego krzaku +Acacia Bush Leaves=Liście akacjowego krzaku +Acacia Bush Sapling=Sadzonka akacjowego krzaku +Pine Bush Stem=Korzeń sosnowego krzaku +Pine Bush Needles=Igły sosnowego krzaku +Pine Bush Sapling=Sadzonka sosnowego krzaku +Kelp=Wodorost +Green Coral=Zielony koralowiec +Pink Coral=Różowy koralowiec +Cyan Coral=Cyjanowy koralowiec +Brown Coral=Brązowy koralowiec +Orange Coral=Pomarańczowy koralowiec +Coral Skeleton=Szkielet koralowca +Water Source=Źródło wody +Flowing Water=Płynąca woda +River Water Source=Źródło wody rzecznej +Flowing River Water=Płynąca woda rzeczna +Lava Source=Źródło lawy +Flowing Lava=Płynąca lawa +Empty Bookshelf=Pusta półka na książki +Bookshelf (@1 written, @2 empty books)=Półka na książki (@1 zapisanych, @2 pustych książek) +Bookshelf=Półka na książki +Text too long=Tekst jest zbyt długi +"@1"="@1" +Wooden Sign=Drewniana tabliczka +Steel Sign=Stalowa tabliczka +Wooden Ladder=Drewniana drabina +Steel Ladder=Stalowa drabina +Apple Wood Fence=Płot z jabłkowego drzewa +Acacia Wood Fence=Płot z akacjowego drzewa +Jungle Wood Fence=Płot z dżunglowego drzewa +Pine Wood Fence=Płot z sosnowego drzewa +Aspen Wood Fence=Płot z brzozowego drzewa +Apple Wood Fence Rail=Szyna ogrodzeniowa z jabłkowego drzewa +Acacia Wood Fence Rail=Szyna ogrodzeniowa z akacjowego drzewa +Jungle Wood Fence Rail=Szyna ogrodzeniowa z dżunglowego drzewa +Pine Wood Fence Rail=Szyna ogrodzeniowa z sosnowego drzewa +Aspen Wood Fence Rail=Szyna ogrodzeniowa z brzozowego drzewa +Glass=Szkło +Obsidian Glass=Obsydianowe szkło +Brick Block=Blok cegieł +Mese Lamp=Lampa Mese +Apple Wood Mese Post Light=Lampa Mese z obramowaniem z jabłkowego drzewa +Acacia Wood Mese Post Light=Lampa Mese z obramowaniem z akacjowego drzewa +Jungle Wood Mese Post Light=Lampa Mese z obramowaniem z dżunglowego drzewa +Pine Wood Mese Post Light=Lampa Mese z obramowaniem z sosnowego drzewa +Aspen Wood Mese Post Light=Lampa Mese z obramowaniem z brzozowego drzewa +Cloud=Chmura +Wooden Pickaxe=Drewniany kilof +Stone Pickaxe=Kamienny kilof +Bronze Pickaxe=Brązowy kilof +Steel Pickaxe=Stalowy kilof +Mese Pickaxe=Mesowy kilof +Diamond Pickaxe=Diamentowy kilof +Wooden Shovel=Drewniana łopata +Stone Shovel=Kamienna łopata +Bronze Shovel=Brązowa łopata +Steel Shovel=Stalowa łopata +Mese Shovel=Mesowa łopata +Diamond Shovel=Diamentowa łopata +Wooden Axe=Drewniana siekiera +Stone Axe=Kamienna siekiera +Bronze Axe=Brązowa siekiera +Steel Axe=Stalowa siekiera +Mese Axe=Mesowa siekiera +Diamond Axe=Diamentowa siekiera +Wooden Sword=Drewniany miecz +Stone Sword=Kamienny miecz +Bronze Sword=Brązowy miecz +Steel Sword=Stalowy miecz +Mese Sword=Mesowy miecz +Diamond Sword=Diamentowy miecz +Torch=Pochodnia +@1 will intersect protection on growth.=@1 będzie kolidować z ochroną terenu podczas rośnięcia. diff --git a/data/games/garage/mods/default/locale/default.pt.tr b/data/games/garage/mods/default/locale/default.pt.tr new file mode 100644 index 0000000..80ad587 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.pt.tr @@ -0,0 +1,215 @@ +# textdomain: default +Locked Chest=Baú Trancado +Locked Chest (owned by @1)=Baú Trancado (pertence a @1) +You do not own this chest.=Você não é dono deste baú. +a locked chest=um baú trancado +Chest=Baú +Write= +Read= +Title:=Título: +Contents:=Conteúdo: +Save=Salvar +by @1=por @1 +Page @1 of @2=Página @1 de @2 +The book you were writing to mysteriously disappeared.= +"@1" by @2="@1" por @2 +Blueberries=Mirtilo +Book=Livro +Book with Text=Livro com Texto +Bronze Ingot=Lingote de Bronze +Clay Brick=Tijolo de Argila +Clay Lump=Pedaço de Argila +Coal Lump=Pedaço de Carvão +Copper Ingot=Lingote de Cobre +Copper Lump=Pedaço de Cobre +Diamond=Diamante +Flint=Rocha Sílex +Gold Ingot=Lingote de Ouro +Gold Lump=Pedaço de Ouro +Iron Lump=Pedaço de Ferro +Mese Crystal=Cristal de Mese +Mese Crystal Fragment=Fragmento de Cristal de Mese +Obsidian Shard=Caco de Obsidian +Paper=Papel +Steel Ingot=Lingote de Aço +Stick=Graveto +Tin Ingot=Lingote de Estanho +Tin Lump=Pedaço de Estanho +Furnace is empty=A fornalha está vazia +100% (output full)=100% (saída cheia) +@1%=@1% +Not cookable=Não pode cozinhar +Empty=Vazio +Furnace active=Fornalha ativa +Furnace inactive=Fornalha inativa +(Item: @1; Fuel: @2)=(Item: @1; Combustível: @2) +Furnace=Fornalha +Stone=Pedra +Cobblestone=Pedregulho +Stone Brick=Tijolo de Pedra +Stone Block=Bloco de Pedra +Mossy Cobblestone=Pedregulho Musgoso +Desert Stone=Pedra do Deserto +Desert Cobblestone=Pedregulho do Deserto +Desert Stone Brick=Tijolo de Pedra do Deserto +Desert Stone Block=Bloco de Pedra do Deserto +Sandstone=Arenito +Sandstone Brick=Tijolo de Arenito +Sandstone Block=Bloco de Arenito +Desert Sandstone=Bloco de Arenito do Deserto +Desert Sandstone Brick=Tijolo de Arenito do Deserto +Desert Sandstone Block=Bloco de Arenito do Deserto +Silver Sandstone=Arenito Prateado +Silver Sandstone Brick=Tijolo de Arenito Prateado +Silver Sandstone Block=Bloco de Arenito Prateado +Obsidian=Obsidiana +Obsidian Brick=Tijolo de Obsidiana +Obsidian Block=Bloco de Obsidiana +Dirt=Terra +Dirt with Grass=Terra com Grama +Dirt with Grass and Footsteps=Terra com Grama e Pegadas +Dirt with Savanna Grass=Terra com Grama da Savana +Dirt with Snow=Terra com Neve +Dirt with Rainforest Litter=Terra com Serrapilheira Tropical +Dirt with Coniferous Litter=Terra com Serrapilheira +Savanna Dirt=Terra da Savana +Savanna Dirt with Savanna Grass=Terra da Savana com Grama da Savana +Permafrost=Terra Congelada +Permafrost with Stones=Terra Congelada com Pedras +Permafrost with Moss=Terra Congelada com Musgo +Sand=Areia +Desert Sand=Areia do Deserto +Silver Sand=Areia Prateada +Gravel=Cascalho +Clay=Argila +Snow=Neve +Snow Block=Bloco de Neve +Ice=Gelo +Cave Ice=Caverna de Gelo +Apple Tree=Macieira +Apple Wood Planks=Tábuas de Macieira +Apple Tree Sapling=Muda de Macieira +Apple Tree Leaves=Folhas de Macieira +Apple=Maçã +Apple Marker=Marcador de Maçã +Jungle Tree=Árvore da Selva +Jungle Wood Planks=Tábuas de Árvore da Selva +Jungle Tree Leaves=Folhas de Árvore da Selva +Jungle Tree Sapling=Muda de Árvore da Selva +Emergent Jungle Tree Sapling=Muda Crescida de Árvore da Selva +Pine Tree=Pinheiro +Pine Wood Planks=Tábuas de Pinheiro +Pine Needles=Agulhas de Pinheiro +Pine Tree Sapling=Muda de Pinheiro +Acacia Tree=Acácia +Acacia Wood Planks=Tábuas de Acácia +Acacia Tree Leaves=Folhas de Acácia +Acacia Tree Sapling=Mudas de Acácia +Aspen Tree=Álamo +Aspen Wood Planks=Tábuas de Álamo +Aspen Tree Leaves=Folhas de Álamo +Aspen Tree Sapling=Muda de Álamo +Coal Ore=Minério de Carvão +Coal Block=Bloco de Carvão +Iron Ore=Minério de Ferro +Steel Block=Bloco de Aço +Copper Ore=Minério de Cobre +Copper Block=Bloco de Cobre +Tin Ore=Minério de Estanho +Tin Block=Bloco de Estanho +Bronze Block=Bloco de Bronze +Mese Ore=Minério de Mese +Mese Block=Bloco de Mese +Gold Ore=Minério de Ouro +Gold Block=Bloco de Ouro +Diamond Ore=Minério de Diamante +Diamond Block=Bloco de Diamante +Cactus=Cacto +Large Cactus Seedling=Grande Muda de Cacto +Papyrus=Papiro +Dry Shrub=Arbusto Seco +Jungle Grass=Grama da Selva +Grass=Grama +Savanna Grass=Grama da Savana +Fern=Samambaia +Marram Grass=Grama de Feno +Bush Stem=Caule de Arbusto +Bush Leaves=Folhas de Arbusto +Bush Sapling=Muda de Arbusto +Blueberry Bush Leaves with Berries=Folhas de Arbusto de Mirtilo com Bagas +Blueberry Bush Leaves=Folhas de Arbusto de Mirtilo +Blueberry Bush Sapling=Muda de Arbusto de Mirtilo +Acacia Bush Stem=Caule de Arbusto de Acácia +Acacia Bush Leaves=Folhas de Arbusto de Acácia +Acacia Bush Sapling=Muda de Arbusto de Acácia +Pine Bush Stem=Caule de Arbusto de Pinheiro +Pine Bush Needles=Agulha de Arbusto de Pinheiro +Pine Bush Sapling=Muda de Arbusto de Pinheiro +Kelp=Alga +Green Coral=Coral Verde +Pink Coral=Coral Rosa +Cyan Coral=Coral Ciano +Brown Coral=Coral Marrom +Orange Coral=Coral Laranja +Coral Skeleton=Esqueleto de Coral +Water Source=Fonte de Água +Flowing Water=Água Corrente +River Water Source=Fonte de Água do Rio +Flowing River Water=Água Corrente do Rio +Lava Source=Fonte de Lava +Flowing Lava=Lava Corrente +Empty Bookshelf=Estante de Livros Vazia +Bookshelf (@1 written, @2 empty books)=Estante de Livros (@1 livros escritos, @2 livros em branco) +Bookshelf=Estante de Livros +Text too long=Texto muito longo +"@1"="@1" +Wooden Sign=Placa de Madeira +Steel Sign=Placa de Aço +Wooden Ladder=Escada de Madeira +Steel Ladder=Escada de Aço +Apple Wood Fence=Cerca de Macieira +Acacia Wood Fence=Cerca de Acácia +Jungle Wood Fence=Cerca de Madeira da Selva +Pine Wood Fence=Cerca de Pinheiro +Aspen Wood Fence=Cerca de Álamo +Apple Wood Fence Rail=Trilho de Cerca de Macieira +Acacia Wood Fence Rail=Trilho de Cerca de Acácia +Jungle Wood Fence Rail=Trilho de Cerca de Madeira da Selva +Pine Wood Fence Rail=Trilho de Cerca de Pinheiro +Aspen Wood Fence Rail=Trilho de Cerca de Álamo +Glass=Vidro +Obsidian Glass=Vidro de Obsidiana +Brick Block=Bloco de Tijolos +Mese Lamp=Lâmpada de Mese +Apple Wood Mese Post Light=Poste de Lâmpada de Mese de Macieira +Acacia Wood Mese Post Light=Poste de Lâmpada de Mese de Acácia +Jungle Wood Mese Post Light=Poste de Lâmpada de Mese de Madeira da Selva +Pine Wood Mese Post Light=Poste de Lâmpada de Mese de Pinheiro +Aspen Wood Mese Post Light=Poste de Lâmpada de Mese de Aspen +Cloud=Nuvem +Wooden Pickaxe=Picareta de Madeira +Stone Pickaxe=Picareta de Pedra +Bronze Pickaxe=Picareta de Bronze +Steel Pickaxe=Picareta de Aço +Mese Pickaxe=Picareta de Mese +Diamond Pickaxe=Picareta de Diamante +Wooden Shovel=Pá de Madeira +Stone Shovel=Pá de Pedra +Bronze Shovel=Pá de Bronze +Steel Shovel=Pá de Aço +Mese Shovel=Pá de Mese +Diamond Shovel=Pá de Diamante +Wooden Axe=Machado de Madeira +Stone Axe=Machado de Pedra +Bronze Axe=Machado de Bronze +Steel Axe=Machado de Aço +Mese Axe=Machado de Mese +Diamond Axe=Machado de Diamante +Wooden Sword=Espada de Madeira +Stone Sword=Espada de Pedra +Bronze Sword=Espada de Bronze +Steel Sword=Espada de Aço +Mese Sword=Espada de Mese +Diamond Sword=Espada de Diamante +Torch=Tocha +@1 will intersect protection on growth.=@1 cruzará a proteção no crescimento. diff --git a/data/games/garage/mods/default/locale/default.pt_BR.tr b/data/games/garage/mods/default/locale/default.pt_BR.tr new file mode 100644 index 0000000..80ad587 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.pt_BR.tr @@ -0,0 +1,215 @@ +# textdomain: default +Locked Chest=Baú Trancado +Locked Chest (owned by @1)=Baú Trancado (pertence a @1) +You do not own this chest.=Você não é dono deste baú. +a locked chest=um baú trancado +Chest=Baú +Write= +Read= +Title:=Título: +Contents:=Conteúdo: +Save=Salvar +by @1=por @1 +Page @1 of @2=Página @1 de @2 +The book you were writing to mysteriously disappeared.= +"@1" by @2="@1" por @2 +Blueberries=Mirtilo +Book=Livro +Book with Text=Livro com Texto +Bronze Ingot=Lingote de Bronze +Clay Brick=Tijolo de Argila +Clay Lump=Pedaço de Argila +Coal Lump=Pedaço de Carvão +Copper Ingot=Lingote de Cobre +Copper Lump=Pedaço de Cobre +Diamond=Diamante +Flint=Rocha Sílex +Gold Ingot=Lingote de Ouro +Gold Lump=Pedaço de Ouro +Iron Lump=Pedaço de Ferro +Mese Crystal=Cristal de Mese +Mese Crystal Fragment=Fragmento de Cristal de Mese +Obsidian Shard=Caco de Obsidian +Paper=Papel +Steel Ingot=Lingote de Aço +Stick=Graveto +Tin Ingot=Lingote de Estanho +Tin Lump=Pedaço de Estanho +Furnace is empty=A fornalha está vazia +100% (output full)=100% (saída cheia) +@1%=@1% +Not cookable=Não pode cozinhar +Empty=Vazio +Furnace active=Fornalha ativa +Furnace inactive=Fornalha inativa +(Item: @1; Fuel: @2)=(Item: @1; Combustível: @2) +Furnace=Fornalha +Stone=Pedra +Cobblestone=Pedregulho +Stone Brick=Tijolo de Pedra +Stone Block=Bloco de Pedra +Mossy Cobblestone=Pedregulho Musgoso +Desert Stone=Pedra do Deserto +Desert Cobblestone=Pedregulho do Deserto +Desert Stone Brick=Tijolo de Pedra do Deserto +Desert Stone Block=Bloco de Pedra do Deserto +Sandstone=Arenito +Sandstone Brick=Tijolo de Arenito +Sandstone Block=Bloco de Arenito +Desert Sandstone=Bloco de Arenito do Deserto +Desert Sandstone Brick=Tijolo de Arenito do Deserto +Desert Sandstone Block=Bloco de Arenito do Deserto +Silver Sandstone=Arenito Prateado +Silver Sandstone Brick=Tijolo de Arenito Prateado +Silver Sandstone Block=Bloco de Arenito Prateado +Obsidian=Obsidiana +Obsidian Brick=Tijolo de Obsidiana +Obsidian Block=Bloco de Obsidiana +Dirt=Terra +Dirt with Grass=Terra com Grama +Dirt with Grass and Footsteps=Terra com Grama e Pegadas +Dirt with Savanna Grass=Terra com Grama da Savana +Dirt with Snow=Terra com Neve +Dirt with Rainforest Litter=Terra com Serrapilheira Tropical +Dirt with Coniferous Litter=Terra com Serrapilheira +Savanna Dirt=Terra da Savana +Savanna Dirt with Savanna Grass=Terra da Savana com Grama da Savana +Permafrost=Terra Congelada +Permafrost with Stones=Terra Congelada com Pedras +Permafrost with Moss=Terra Congelada com Musgo +Sand=Areia +Desert Sand=Areia do Deserto +Silver Sand=Areia Prateada +Gravel=Cascalho +Clay=Argila +Snow=Neve +Snow Block=Bloco de Neve +Ice=Gelo +Cave Ice=Caverna de Gelo +Apple Tree=Macieira +Apple Wood Planks=Tábuas de Macieira +Apple Tree Sapling=Muda de Macieira +Apple Tree Leaves=Folhas de Macieira +Apple=Maçã +Apple Marker=Marcador de Maçã +Jungle Tree=Árvore da Selva +Jungle Wood Planks=Tábuas de Árvore da Selva +Jungle Tree Leaves=Folhas de Árvore da Selva +Jungle Tree Sapling=Muda de Árvore da Selva +Emergent Jungle Tree Sapling=Muda Crescida de Árvore da Selva +Pine Tree=Pinheiro +Pine Wood Planks=Tábuas de Pinheiro +Pine Needles=Agulhas de Pinheiro +Pine Tree Sapling=Muda de Pinheiro +Acacia Tree=Acácia +Acacia Wood Planks=Tábuas de Acácia +Acacia Tree Leaves=Folhas de Acácia +Acacia Tree Sapling=Mudas de Acácia +Aspen Tree=Álamo +Aspen Wood Planks=Tábuas de Álamo +Aspen Tree Leaves=Folhas de Álamo +Aspen Tree Sapling=Muda de Álamo +Coal Ore=Minério de Carvão +Coal Block=Bloco de Carvão +Iron Ore=Minério de Ferro +Steel Block=Bloco de Aço +Copper Ore=Minério de Cobre +Copper Block=Bloco de Cobre +Tin Ore=Minério de Estanho +Tin Block=Bloco de Estanho +Bronze Block=Bloco de Bronze +Mese Ore=Minério de Mese +Mese Block=Bloco de Mese +Gold Ore=Minério de Ouro +Gold Block=Bloco de Ouro +Diamond Ore=Minério de Diamante +Diamond Block=Bloco de Diamante +Cactus=Cacto +Large Cactus Seedling=Grande Muda de Cacto +Papyrus=Papiro +Dry Shrub=Arbusto Seco +Jungle Grass=Grama da Selva +Grass=Grama +Savanna Grass=Grama da Savana +Fern=Samambaia +Marram Grass=Grama de Feno +Bush Stem=Caule de Arbusto +Bush Leaves=Folhas de Arbusto +Bush Sapling=Muda de Arbusto +Blueberry Bush Leaves with Berries=Folhas de Arbusto de Mirtilo com Bagas +Blueberry Bush Leaves=Folhas de Arbusto de Mirtilo +Blueberry Bush Sapling=Muda de Arbusto de Mirtilo +Acacia Bush Stem=Caule de Arbusto de Acácia +Acacia Bush Leaves=Folhas de Arbusto de Acácia +Acacia Bush Sapling=Muda de Arbusto de Acácia +Pine Bush Stem=Caule de Arbusto de Pinheiro +Pine Bush Needles=Agulha de Arbusto de Pinheiro +Pine Bush Sapling=Muda de Arbusto de Pinheiro +Kelp=Alga +Green Coral=Coral Verde +Pink Coral=Coral Rosa +Cyan Coral=Coral Ciano +Brown Coral=Coral Marrom +Orange Coral=Coral Laranja +Coral Skeleton=Esqueleto de Coral +Water Source=Fonte de Água +Flowing Water=Água Corrente +River Water Source=Fonte de Água do Rio +Flowing River Water=Água Corrente do Rio +Lava Source=Fonte de Lava +Flowing Lava=Lava Corrente +Empty Bookshelf=Estante de Livros Vazia +Bookshelf (@1 written, @2 empty books)=Estante de Livros (@1 livros escritos, @2 livros em branco) +Bookshelf=Estante de Livros +Text too long=Texto muito longo +"@1"="@1" +Wooden Sign=Placa de Madeira +Steel Sign=Placa de Aço +Wooden Ladder=Escada de Madeira +Steel Ladder=Escada de Aço +Apple Wood Fence=Cerca de Macieira +Acacia Wood Fence=Cerca de Acácia +Jungle Wood Fence=Cerca de Madeira da Selva +Pine Wood Fence=Cerca de Pinheiro +Aspen Wood Fence=Cerca de Álamo +Apple Wood Fence Rail=Trilho de Cerca de Macieira +Acacia Wood Fence Rail=Trilho de Cerca de Acácia +Jungle Wood Fence Rail=Trilho de Cerca de Madeira da Selva +Pine Wood Fence Rail=Trilho de Cerca de Pinheiro +Aspen Wood Fence Rail=Trilho de Cerca de Álamo +Glass=Vidro +Obsidian Glass=Vidro de Obsidiana +Brick Block=Bloco de Tijolos +Mese Lamp=Lâmpada de Mese +Apple Wood Mese Post Light=Poste de Lâmpada de Mese de Macieira +Acacia Wood Mese Post Light=Poste de Lâmpada de Mese de Acácia +Jungle Wood Mese Post Light=Poste de Lâmpada de Mese de Madeira da Selva +Pine Wood Mese Post Light=Poste de Lâmpada de Mese de Pinheiro +Aspen Wood Mese Post Light=Poste de Lâmpada de Mese de Aspen +Cloud=Nuvem +Wooden Pickaxe=Picareta de Madeira +Stone Pickaxe=Picareta de Pedra +Bronze Pickaxe=Picareta de Bronze +Steel Pickaxe=Picareta de Aço +Mese Pickaxe=Picareta de Mese +Diamond Pickaxe=Picareta de Diamante +Wooden Shovel=Pá de Madeira +Stone Shovel=Pá de Pedra +Bronze Shovel=Pá de Bronze +Steel Shovel=Pá de Aço +Mese Shovel=Pá de Mese +Diamond Shovel=Pá de Diamante +Wooden Axe=Machado de Madeira +Stone Axe=Machado de Pedra +Bronze Axe=Machado de Bronze +Steel Axe=Machado de Aço +Mese Axe=Machado de Mese +Diamond Axe=Machado de Diamante +Wooden Sword=Espada de Madeira +Stone Sword=Espada de Pedra +Bronze Sword=Espada de Bronze +Steel Sword=Espada de Aço +Mese Sword=Espada de Mese +Diamond Sword=Espada de Diamante +Torch=Tocha +@1 will intersect protection on growth.=@1 cruzará a proteção no crescimento. diff --git a/data/games/garage/mods/default/locale/default.ru.tr b/data/games/garage/mods/default/locale/default.ru.tr new file mode 100644 index 0000000..ed99a2d --- /dev/null +++ b/data/games/garage/mods/default/locale/default.ru.tr @@ -0,0 +1,215 @@ +# textdomain: default +Locked Chest=Запертый сундук +Locked Chest (owned by @1)=Запертый сундук (владелец: @1) +You do not own this chest.=Вы не владелец этого сундука. +a locked chest=запертый сундук +Chest=Сундук +Write=Написать +Read=Читать +Title:=Заголовок: +Contents:=Содержимое: +Save=Сохранить +by @1=от @1 +Page @1 of @2=Страница @1 из @2 +The book you were writing to mysteriously disappeared.=Книга, которую вы писали, загадочно исчезла. +"@1" by @2="@1" @2 +Blueberries=Черника +Book=Книга +Book with Text=Книга с текстом +Bronze Ingot=Бронзовый слиток +Clay Brick=Кирпич +Clay Lump=Глина +Coal Lump=Уголь +Copper Ingot=Медный слиток +Copper Lump=Кусок меди +Diamond=Алмаз +Flint=Кремень +Gold Ingot=Золотой слиток +Gold Lump=Кусок золота +Iron Lump=Кусок железа +Mese Crystal=Кристалл мезы +Mese Crystal Fragment=Осколок кристалла мезы +Obsidian Shard=Обсидиановый осколок +Paper=Бумага +Steel Ingot=Стальной слиток +Stick=Палка +Tin Ingot=Оловянный слиток +Tin Lump=Кусок олова +Furnace is empty=Печь пуста +100% (output full)=100% (выход заполнен) +@1%=@1% +Not cookable=Не может быть приготовлено +Empty=Пустое +Furnace active=Печь зажжена +Furnace inactive=Печь не зажжена +(Item: @1; Fuel: @2)=(Предмет: @1; Топливо: @2) +Furnace=Печь +Stone=Камень +Cobblestone=Булыжник +Stone Brick=Каменные кирпичи +Stone Block=Каменный блок +Mossy Cobblestone=Замшелый булыжник +Desert Stone=Пустынный камень +Desert Cobblestone=Пустынный булыжник +Desert Stone Brick=Пустынный каменные кирпичи +Desert Stone Block=Пустынный каменный блок +Sandstone=Песчаник +Sandstone Brick=Песчаниковые кирпичи +Sandstone Block=Песчаниковый блок +Desert Sandstone=Пустынный песчаник +Desert Sandstone Brick=Пустынные песчаниковые кирпичи +Desert Sandstone Block=Пустынный песчаниковый блок +Silver Sandstone=Серебристый песчаник +Silver Sandstone Brick=Серебристые песчаниковые кирпичи +Silver Sandstone Block=Серебристый песчаниковый блок +Obsidian=Обсидиан +Obsidian Brick=Обсидиановые кирпичи +Obsidian Block=Обсидиановый блок +Dirt=Земля +Dirt with Grass=Дёрн +Dirt with Grass and Footsteps=Дёрн со следами +Dirt with Savanna Grass=Саванный дёрн +Dirt with Snow=Земля со снегом +Dirt with Rainforest Litter=Земля с тропической подстилкой +Dirt with Coniferous Litter=Земля с сосновой подстилкой +Savanna Dirt=Саванная земля +Savanna Dirt with Savanna Grass=Саванная земля с саванной травой +Permafrost=Мёрзлая почва +Permafrost with Stones=Мёрзлая почва с камнями +Permafrost with Moss=Мёрзлая почва с мхом +Sand=Песок +Desert Sand=Пустынный песок +Silver Sand=Серебристый песок +Gravel=Гравий +Clay=Глиняный блок +Snow=Снежок +Snow Block=Снежный блок +Ice=Лёд +Cave Ice=Пещерный лёд +Apple Tree=Яблоневая древесина +Apple Wood Planks=Яблоневые доски +Apple Tree Sapling=Саженец яблони +Apple Tree Leaves=Яблоневая листва +Apple=Яблоко +Apple Marker=Яблочная метка +Jungle Tree=Древесина тропического дерева +Jungle Wood Planks=Доски из тропического дерева +Jungle Tree Leaves=Листва тропического дерева +Jungle Tree Sapling=Саженец тропического дерева +Emergent Jungle Tree Sapling=Выросший саженец тропического дерева +Pine Tree=Сосновая древесина +Pine Wood Planks=Сосновые доски +Pine Needles=Сосновая хвоя +Pine Tree Sapling=Саженец сосны +Acacia Tree=Акациевая древесина +Acacia Wood Planks=Акациевые доски +Acacia Tree Leaves=Акациевая листва +Acacia Tree Sapling=Саженец акации +Aspen Tree=Осиновая древесина +Aspen Wood Planks=Осиновые доски +Aspen Tree Leaves=Осиновая листва +Aspen Tree Sapling=Саженец осины +Coal Ore=Угольная руда +Coal Block=Угольный блок +Iron Ore=Железная руда +Steel Block=Стальной блок +Copper Ore=Медная руда +Copper Block=Медный блок +Tin Ore=Оловянная руда +Tin Block=Оловянный блок +Bronze Block=Бронзовый блок +Mese Ore=Мезовая руда +Mese Block=Мезовый блок +Gold Ore=Золотая руда +Gold Block=Золотой блок +Diamond Ore=Алмазная руда +Diamond Block=Алмазный блок +Cactus=Кактус +Large Cactus Seedling=Саженец кактуса +Papyrus=Папирус +Dry Shrub=Сухой куст +Jungle Grass=Тропическая трава +Grass=Трава +Savanna Grass=Саванная трава +Fern=Папоротник +Marram Grass=Песколюб +Bush Stem=Стебель куста +Bush Leaves=Листья куста +Bush Sapling=Саженец куста +Blueberry Bush Leaves with Berries=Черничный куст с ягодами +Blueberry Bush Leaves=Листья черничного куста +Blueberry Bush Sapling=Саженец черничного куста +Acacia Bush Stem=Стебель куста акации +Acacia Bush Leaves=Листья куста акации +Acacia Bush Sapling=Саженец куста акации +Pine Bush Stem=Стебли хвойного куста +Pine Bush Needles=Хвоя куста +Pine Bush Sapling=Саженец хвойного куста +Kelp=Ламинария +Green Coral=Зелёный коралл +Pink Coral=Розовый коралл +Cyan Coral=Бирюзовый коралл +Brown Coral=Коричневый коралл +Orange Coral=Оранжевый коралл +Coral Skeleton=Коралловый остов +Water Source=Источник воды +Flowing Water=Текущая вода +River Water Source=Источник речной воды +Flowing River Water=Текущая речная вода +Lava Source=Источник лавы +Flowing Lava=Текущая лава +Empty Bookshelf=Пустая книжная полка +Bookshelf (@1 written, @2 empty books)=Книжная полка (@1 написано, @2 чистые книги) +Bookshelf=Книжная полка +Text too long=Текст слишком длинный +"@1"="@1" +Wooden Sign=Деревянная табличка +Steel Sign=Стальная табличка +Wooden Ladder=Деревянная лестница +Steel Ladder=Стальная лестница +Apple Wood Fence=Яблоневый забор +Acacia Wood Fence=Акациевый забор +Jungle Wood Fence=Забор из тропического дерева +Pine Wood Fence=Сосновый забор +Aspen Wood Fence=Осиновый забор +Apple Wood Fence Rail=Яблоневый реечный забор +Acacia Wood Fence Rail=Акациевый реечный забор +Jungle Wood Fence Rail=Реечный забор из тропического дерева +Pine Wood Fence Rail=Сосновый реечный забор +Aspen Wood Fence Rail=Осиновый реечный забор +Glass=Стекло +Obsidian Glass=Обсидиановое стекло +Brick Block=Кирпичи +Mese Lamp=Мезовая лампа +Apple Wood Mese Post Light=Яблоневый уличный фонарь +Acacia Wood Mese Post Light=Акациевый уличный фонарь +Jungle Wood Mese Post Light=Уличный фонарь из тропического дерева +Pine Wood Mese Post Light=Сосновый уличный фонарь +Aspen Wood Mese Post Light=Осиновый уличный фонарь +Cloud=Облако +Wooden Pickaxe=Деревянная кирка +Stone Pickaxe=Каменная кирка +Bronze Pickaxe=Бронзовая кирка +Steel Pickaxe=Стальная кирка +Mese Pickaxe=Мезовая кирка +Diamond Pickaxe=Алмазная кирка +Wooden Shovel=Деревянная лопата +Stone Shovel=Каменная лопата +Bronze Shovel=Бронзовая лопата +Steel Shovel=Стальная лопата +Mese Shovel=Мезовая лопата +Diamond Shovel=Алмазная лопата +Wooden Axe=Деревянный топор +Stone Axe=Каменный топор +Bronze Axe=Бронзовый топор +Steel Axe=Стальной топор +Mese Axe=Мезовый топор +Diamond Axe=Алмазный топор +Wooden Sword=Деревянный меч +Stone Sword=Каменный меч +Bronze Sword=Бронзовый меч +Steel Sword=Стальной меч +Mese Sword=Мезовый меч +Diamond Sword=Алмазный меч +Torch=Факел +@1 will intersect protection on growth.=@1 пересечет защищённую зону при вырастании. \ No newline at end of file diff --git a/data/games/garage/mods/default/locale/default.sk.tr b/data/games/garage/mods/default/locale/default.sk.tr new file mode 100644 index 0000000..337ebcf --- /dev/null +++ b/data/games/garage/mods/default/locale/default.sk.tr @@ -0,0 +1,220 @@ +# textdomain: default +Locked Chest=Uzamknutá truhlica +Locked Chest (owned by @1)=Uzamknutá truhlica (Vlastník - @1) +You do not own this chest.=Túto truhlicu nevlastníš. +a locked chest=zamknutá truhlica +Chest=Truhlica +Write= +Read= +Title:=Názov: +Contents:=Obsah: +Save=Uložiť +by @1=od @1 +Page @1 of @2=Strana @1 z @2 +The book you were writing to mysteriously disappeared.= +"@1" by @2=„@1“ z @2 +Blueberries=Čučoriedky +Book=Kniha +Book with Text=Kniha s textom +Bronze Ingot=Bronzový ingot +Clay Brick=Nepálená tehla +Clay Lump=Hruda ílu +Coal Lump=Hruda uhlia +Copper Ingot=Medený ingot +Copper Lump=Hruda medi +Diamond=Diamant +Flint=Kresací kamienok +Gold Ingot=Zlatý ingot +Gold Lump=Hruda zlata +Iron Lump=Hruda železa +Mese Crystal=Mese Krištáľ +Mese Crystal Fragment=Fragment Mese krištáľu +Obsidian Shard=Úlomok obsidiánu +Paper=Papier +Steel Ingot=Oceľový ingot +Stick=Palica +Tin Ingot=Cínový ingot +Tin Lump=Hruda cínu +Furnace is empty=Pec je prázdna +100% (output full)=100% (Výstup je plný) +@1%=@1% +Not cookable=Nie je variteľné +Empty=Prázdne +Furnace active=Pec je aktívna +Furnace inactive=Pec je neaktívna +(Item: @1; Fuel: @2)=(Vec: @1; Palivo: @2) +Furnace=Pec +Stone=Kameň +Cobblestone=Dlažbový kameň +Stone Brick=Tehla z kameňa +Stone Block=Blok kameňa +Mossy Cobblestone=Dlažbový kameň obrastený machom +Desert Stone=Púštny kameň +Desert Cobblestone=Púštny dlažbový kameň +Desert Stone Brick=Tehla z púštneho kameňa +Desert Stone Block=Blok púštneho kameňa +Sandstone=Pieskovec +Sandstone Brick=Tehla z pieskovca +Sandstone Block=Blok pieskovca +Desert Sandstone=Púštny pieskovec +Desert Sandstone Brick=Tehla z púštneho pieskovca +Desert Sandstone Block=Blok púštneho pieskovca +Silver Sandstone=Strieborný pieskovec +Silver Sandstone Brick=Tehla zo strieborného pieskovca +Silver Sandstone Block=Blok strieborného pieskovca +Obsidian=Obsidián +Obsidian Brick=Tehla z obsidiánu +Obsidian Block=Blok obsidiánu +Dirt=Hlina +Dirt with Grass=Hlina s trávou +Dirt with Grass and Footsteps=Hlina s trávou a stopami +Dirt with Savanna Grass=Hlina s trávou zo savany +Dirt with Snow=Hlina so snehom +Dirt with Rainforest Litter=Hlina s povrchom dažďového pralesa +Dirt with Coniferous Litter=Hlina s ihličnatým povrchom +Savanna Dirt=Hlina zo savany +Savanna Dirt with Savanna Grass=Hlina zo savany s trávou +Permafrost=Permafrost +Permafrost with Stones=Permafrost s kameňmi +Permafrost with Moss=Permafrost s machom +Sand=Piesok +Desert Sand=Púštny piesok +Silver Sand=Strieborný piesok +Gravel=Štrk +Clay=Íl +Snow=Sneh +Snow Block=Blok snehu +Ice=Ľad +Cave Ice=Jaskynný ľad +Apple Tree=Jabloň +Apple Wood Planks=Drevené dosky z jablone +Apple Tree Sapling=Stromček jablone +Apple Tree Leaves=Listy z jablone +Apple=Jablko +Apple Marker=Jablková značka +Jungle Tree=Ďungľový strom +Jungle Wood Planks=Drevené dosky z džungľového stromu +Jungle Tree Leaves=Listy z džungľového stromu +Jungle Tree Sapling=Džungľový stromček +Emergent Jungle Tree Sapling=Vznikajúci džungľový stromček +Pine Tree=Borovica +Pine Wood Planks=Drevené dosky z borovice +Pine Needles=Ihličie z borovice +Pine Tree Sapling=Borovicový stromček +Acacia Tree=Akácia +Acacia Wood Planks=Drevené dosky z akácie +Acacia Tree Leaves=Listy z akácie +Acacia Tree Sapling=Stromček akácie +Aspen Tree=Osika +Aspen Wood Planks=Drevené dosky z osiky +Aspen Tree Leaves=Listy z osiky +Aspen Tree Sapling=Stromček osiky +Coal Ore=Uhoľná ruda +Coal Block=Blok uhlia +Iron Ore=Železná ruda +Steel Block=Blok ocele +Copper Ore=Medená ruda +Copper Block=Blok medi +Tin Ore=Cínová ruda +Tin Block=Blok cínu +Bronze Block=Blok bronzu +Mese Ore=Mese Ruda +Mese Block=Blok Mese +Gold Ore=Zlatá ruda +Gold Block=Blok zlata +Diamond Ore=Diamantová ruda +Diamond Block=Blok diamantu +Cactus=Kaktus +Large Cactus Seedling=Vaľká sadenica kaktusu +Papyrus=Papyrus +Dry Shrub=Suchý ker +Jungle Grass=Džungľová tráva +Grass=Tráva +Savanna Grass=Tráva zo savany +Fern=Papraď +Marram Grass=Pobrežná tráva +Bush Stem=Stonka z kríka +Bush Leaves=Listy z kríka +Bush Sapling=Sadenica kríka +Blueberry Bush Leaves with Berries=Čučoriedkové listy s čučoriedkami +Blueberry Bush Leaves=Čučoriedkové listy +Blueberry Bush Sapling=Sadenica čučoriedky +Acacia Bush Stem=Stonka z kríka akácie +Acacia Bush Leaves=Listy z kríka akácie +Acacia Bush Sapling=Sadenica kríka akácie +Pine Bush Stem=Stonka kríka borovice +Pine Bush Needles=Ihličie kríka borovice +Pine Bush Sapling=Sadenica kríka borovice +Kelp=Riasa +Green Coral=Zelený koral +Pink Coral=Ružový koral +Cyan Coral=Tyrkysový koral +Brown Coral=Hnedý koral +Orange Coral=Oranžový koral +Coral Skeleton=Koralová kostra +Water Source=Zdroj vody +Flowing Water=Tečúca voda +River Water Source=Zdroj riečnej voda +Flowing River Water=Tečúca riečna voda +Lava Source=Zdroj lávy +Flowing Lava=Tečúca láva +Empty Bookshelf=Prázdna knižnica +Bookshelf (@1 written, @2 empty books)=Knižnica (@1 popísané, @2 prázdne knihy) +Bookshelf=Knižnica +Text too long=Text je príliš dlhý +"@1"=„@1“ +Wooden Sign=Drevená tabuľka +Steel Sign=Oceľová tabuľka +Wooden Ladder=Drevený rebrík +Steel Ladder=Oceľový rebrík +Apple Wood Fence=Drevený plot z jablone +Acacia Wood Fence=Drevený plot z akácie +Jungle Wood Fence=Drevený plot z džungľového dreva +Pine Wood Fence=Drevený plot z borovice +Aspen Wood Fence=Drevený plot z osiky +Apple Wood Fence Rail=Drevené zábradlie z jablone +Acacia Wood Fence Rail=Drevené zábradlie z akácie +Jungle Wood Fence Rail=Drevené zábradlie z džungľového dreva +Pine Wood Fence Rail=Drevené zábradlie z borovice +Aspen Wood Fence Rail=Drevené zábradlie z osiky +Glass=Sklo +Obsidian Glass=Obsidiánové sklo +Brick Block=Blok z tehál +Mese Lamp=Mese lampa +Apple Wood Mese Post Light= +Acacia Wood Mese Post Light= +Jungle Wood Mese Post Light= +Pine Wood Mese Post Light= +Aspen Wood Mese Post Light= +Cloud=Oblak +Wooden Pickaxe=Drevený krompáč +Stone Pickaxe=Kamenný krompáč +Bronze Pickaxe=Bronzový krompáč +Steel Pickaxe=Oceľový krompáč +Mese Pickaxe=Mese krompáč +Diamond Pickaxe=Diamantový krompáč +Wooden Shovel=Drevená lopata +Stone Shovel=Kamenná lopata +Bronze Shovel=Bronzová lopata +Steel Shovel=Oceľová lopata +Mese Shovel=Mese lopata +Diamond Shovel=Diamantová lopata +Wooden Axe=Drevená sekera +Stone Axe=Kamenná sekera +Bronze Axe=Bronzová sekera +Steel Axe=Oceľová sekera +Mese Axe=Mese sekera +Diamond Axe=Diamantová sekera +Wooden Sword=Drevený meč +Stone Sword=Kamenný meč +Bronze Sword=Bronzový meč +Steel Sword=Oceľový meč +Mese Sword=Mese meč +Diamond Sword=Diamantový meč +Torch=Fakľa +@1 will intersect protection on growth.=@1 prekročí pri raste chránenú zónu. + + +##### not used anymore ##### + +Mese Post Light=Mese stĺpová lampa diff --git a/data/games/garage/mods/default/locale/default.sv.tr b/data/games/garage/mods/default/locale/default.sv.tr new file mode 100644 index 0000000..90df6c3 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.sv.tr @@ -0,0 +1,215 @@ +# textdomain: default +Locked Chest=Låst kista +Locked Chest (owned by @1)=Låst kista (Ägd av @1) +You do not own this chest.=Du äger inte denna kista. +a locked chest=en låst kista +Chest=Kista +Write=Skriva +Read=Läs +Title:=Titel: +Contents:=Innehåll: +Save=Spara +by @1=av @1 +Page @1 of @2=Sida @1 av @2 +The book you were writing to mysteriously disappeared.= +"@1" by @2="@1" av @2 +Blueberries=Blåbär +Book=Bok +Book with Text=Bok med text +Bronze Ingot=Bronstacka +Clay Brick=Tegelsten +Clay Lump=Lerklump +Coal Lump=Kolklump +Copper Ingot=Koppartacka +Copper Lump=Kopparklump +Diamond=Diamant +Flint=Flinta +Gold Ingot=Guldtacka +Gold Lump=Guldklump +Iron Lump=Järnklump +Mese Crystal=Mesekristall +Mese Crystal Fragment=Mesekristallfragment +Obsidian Shard=Obsidianskärva +Paper=Papper +Steel Ingot=Ståltacka +Stick=Pinne +Tin Ingot=Tenntacka +Tin Lump=Tennklump +Furnace is empty=Ugnen är tom +100% (output full)=100% (utgången full) +@1%=@1% +Not cookable=Inte kokbar +Empty=Tom +Furnace active=Ugn aktiv +Furnace inactive=Ugn inaktiv +(Item: @1; Fuel: @2)=(Sak: @1; Bränsle: @2) +Furnace=Ugn +Stone=Sten +Cobblestone=Kullersten +Stone Brick=Stentegel +Stone Block=Stenblock +Mossy Cobblestone=Mossig kullersten +Desert Stone=Ökensten +Desert Cobblestone=Ökenkullersten +Desert Stone Brick=Ökenstenstegel +Desert Stone Block=Ökenstensblock +Sandstone=Sandsten +Sandstone Brick=Sandstenstegel +Sandstone Block=Sandstensblock +Desert Sandstone=Ökensandsten +Desert Sandstone Brick=Ökensandstenstegel +Desert Sandstone Block=Ökensandstensblock +Silver Sandstone=Silversandsten +Silver Sandstone Brick=Silversandstenstegel +Silver Sandstone Block=Silversandstensblock +Obsidian=Obsidian +Obsidian Brick=Obsidiantegel +Obsidian Block=Obsidianblock +Dirt=Jord +Dirt with Grass=Jord med gräs +Dirt with Grass and Footsteps=Jord med gräs och fotsteg +Dirt with Savanna Grass=Jord med savanngräs +Dirt with Snow=Jord med snö +Dirt with Rainforest Litter=Jord med regnskogströ +Dirt with Coniferous Litter=Jord med barrträd +Savanna Dirt=Savannjord +Savanna Dirt with Savanna Grass=Savannjord med savanngräs +Permafrost=Permafrost +Permafrost with Stones=Permafrost med sten +Permafrost with Moss=Permafrost med mossa +Sand=Sand +Desert Sand=Ökensand +Silver Sand=Silversand +Gravel=Grus +Clay=Lera +Snow=Snö +Snow Block=Snöblock +Ice=Is +Cave Ice=Grottis +Apple Tree=Äppleträd +Apple Wood Planks=Äppleträdplankor +Apple Tree Sapling=Äppleplanta +Apple Tree Leaves=Äpplelöv +Apple=Äpple +Apple Marker=Äpplemarkör +Jungle Tree=Djungelträd +Jungle Wood Planks=Djungelplankor +Jungle Tree Leaves=Djungellöv +Jungle Tree Sapling=Djungelplanta +Emergent Jungle Tree Sapling=Nybliven djungelplanta +Pine Tree=Tall +Pine Wood Planks=Tallplankor +Pine Needles=Granbarr +Pine Tree Sapling=Tallplanta +Acacia Tree=Akaciaträd +Acacia Wood Planks=Akaciaplankor +Acacia Tree Leaves=Akacialöv +Acacia Tree Sapling=Akaciaplanta +Aspen Tree=Asp +Aspen Wood Planks=Aspplankor +Aspen Tree Leaves=Asplöv +Aspen Tree Sapling=Aspplanta +Coal Ore=Kolmalm +Coal Block=Kolblock +Iron Ore=Järnmalm +Steel Block=Stålblock +Copper Ore=Kopparmalm +Copper Block=Kopparblock +Tin Ore=Tennmalm +Tin Block=Tennblock +Bronze Block=Bronsblock +Mese Ore=Mesemalm +Mese Block=Meseblock +Gold Ore=Guldmalm +Gold Block=Guldblock +Diamond Ore=Diamantmalm +Diamond Block=Diamantblock +Cactus=Kaktus +Large Cactus Seedling=Stor kaktusplanta +Papyrus=Papyrus +Dry Shrub=Torr buske +Jungle Grass=Djungelgräs +Grass=Gräs +Savanna Grass=Savanngräs +Fern=Ormbunke +Marram Grass=Marramgräs +Bush Stem=Buskstam +Bush Leaves=Busklöv +Bush Sapling=Buskplanta +Blueberry Bush Leaves with Berries=Blåbärsbuske med bär +Blueberry Bush Leaves=Blåbärsbuske +Blueberry Bush Sapling=Blåbärsbuskplanta +Acacia Bush Stem=Akaciabuskstam +Acacia Bush Leaves=Akaciabuske +Acacia Bush Sapling=Akaciabuskplanta +Pine Bush Stem=Tallbuskestam +Pine Bush Needles=Tallgranbarr +Pine Bush Sapling=Tallbuskplanta +Kelp=Brunalg +Green Coral=Grön korall +Pink Coral=Rosa korall +Cyan Coral=Cyan korall +Brown Coral=Brun korall +Orange Coral=Orange korall +Coral Skeleton=Korallskelett +Water Source=Vattenkälla +Flowing Water=Flytande vatten +River Water Source=Flodvattenkälla +Flowing River Water=Flytande flodvatten +Lava Source=Lavakälla +Flowing Lava=Flytande lava +Empty Bookshelf=Tom bokhylla +Bookshelf (@1 written, @2 empty books)=Bokhylla (@1 skriva, @2 tomma böcker) +Bookshelf=Bokhylla +Text too long=Texten är för lång +"@1"="@1" +Wooden Sign=Träskylt +Steel Sign=Stålskylt +Wooden Ladder=Trästege +Steel Ladder=Stålstege +Apple Wood Fence=Äppleträstaket +Acacia Wood Fence=Akaciastaket +Jungle Wood Fence=Djungelstaket +Pine Wood Fence=Tallstaket +Aspen Wood Fence=Aspträdstaket +Apple Wood Fence Rail=Äppleträstaketsräls +Acacia Wood Fence Rail=Akaciastaketsräls +Jungle Wood Fence Rail=Djungelstaketsräls +Pine Wood Fence Rail=Tallstaketsräls +Aspen Wood Fence Rail=Aspstaketsräls +Glass=Glas +Obsidian Glass=Obsidianglas +Brick Block=Tegelstensblock +Mese Lamp=Meselampa +Apple Wood Mese Post Light=Äppleträ-meselykta +Acacia Wood Mese Post Light=Acacia-meselykta +Jungle Wood Mese Post Light=Djungel-meselykta +Pine Wood Mese Post Light=Tall-meselykta +Aspen Wood Mese Post Light=Aspträ-meselykta +Cloud=Moln +Wooden Pickaxe=Trähacka +Stone Pickaxe=Stenhacka +Bronze Pickaxe=Bronshacka +Steel Pickaxe=Stålhacka +Mese Pickaxe=Mesehacka +Diamond Pickaxe=Diamanthacka +Wooden Shovel=Träspade +Stone Shovel=Stenspade +Bronze Shovel=Bronsspade +Steel Shovel=Stålspade +Mese Shovel=Mesespade +Diamond Shovel=Diamantspade +Wooden Axe=Träyxa +Stone Axe=Stenyxa +Bronze Axe=Bronsyxa +Steel Axe=Stålyxa +Mese Axe=Meseyxa +Diamond Axe=Diamantyxa +Wooden Sword=Träsvärd +Stone Sword=Stensvärd +Bronze Sword=Bronssvärd +Steel Sword=Stålsvärd +Mese Sword=Mesesvärd +Diamond Sword=Diamantsvärd +Torch=Fackla +@1 will intersect protection on growth.=@1 kommer korsa skyddet mot tillväxt. diff --git a/data/games/garage/mods/default/locale/default.uk.tr b/data/games/garage/mods/default/locale/default.uk.tr new file mode 100644 index 0000000..aa24bfb --- /dev/null +++ b/data/games/garage/mods/default/locale/default.uk.tr @@ -0,0 +1,215 @@ +# textdomain: default +Locked Chest=Замкнена скриня +Locked Chest (owned by @1)=Замкнена скриня (власник — @1) +You do not own this chest.=Ви — не власник цієї скрині. +a locked chest=замкнена скриня +Chest=Скриня +Write=Писати +Read=Читати +Title:=Заголовок: +Contents:=Вміст: +Save=Зберегти +by @1=Автор: @1 +Page @1 of @2=Сторінка @1 з @2 +The book you were writing to mysteriously disappeared.=Книга, в яку ви писали, загадковим чином зникла. +"@1" by @2=@2 — "@1" +Blueberries=Чорниці +Book=Книга +Book with Text=Книга з текстом +Bronze Ingot=Бронзовий злиток +Clay Brick=Глиняна цегла +Clay Lump=Шматок глини +Coal Lump=Шматок вугілля +Copper Ingot=Мідний злиток +Copper Lump=Шматок міді +Diamond=Діамант +Flint=Кремінь +Gold Ingot=Золотий злиток +Gold Lump=Шматок золота +Iron Lump=Шматок заліза +Mese Crystal=Кристал Месе +Mese Crystal Fragment=Уламок кристалу Месе +Obsidian Shard=Обсидіановий уламок +Paper=Папір +Steel Ingot=Сталевий злиток +Stick=Палиця +Tin Ingot=Олов'яний злиток +Tin Lump=Шматок олова +Furnace is empty=Піч порожня +100% (output full)=100% (піч переповнена) +@1%=@1% +Not cookable=Не може бути приготовано +Empty=Порожньо +Furnace active=Піч запалена +Furnace inactive=Піч не запалена +(Item: @1; Fuel: @2)=(Предмет: @1; Паливо: @2) +Furnace=Піч +Stone=Камінь +Cobblestone=Кругляк +Stone Brick=Кам'яна цегла +Stone Block=Блок каменю +Mossy Cobblestone=Моховитий кругляк +Desert Stone=Пустельний камінь +Desert Cobblestone=Пустельний кругляк +Desert Stone Brick=Цегла з пустельного каменю +Desert Stone Block=Блок пустельного каменю +Sandstone=Пісковик +Sandstone Brick=Пісковикова цегла +Sandstone Block=Блок пісковику +Desert Sandstone=Пустельний пісковик +Desert Sandstone Brick=Цегла з пустельного пісковику +Desert Sandstone Block=Блок пустельного пісковику +Silver Sandstone=Срібний пісковик +Silver Sandstone Brick=Цегла зі срібного пісковику +Silver Sandstone Block=Блок срібного пісковику +Obsidian=Обсидіан +Obsidian Brick=Обсидіанова цегла +Obsidian Block=Блок обсидіану +Dirt=Земля +Dirt with Grass=Земля з травою +Dirt with Grass and Footsteps=Земля з травою та слідами +Dirt with Savanna Grass=Земля із саванною травою +Dirt with Snow=Земля зі снігом +Dirt with Rainforest Litter=Земля з тропічно-лісовою підстилкою +Dirt with Coniferous Litter=Земля з хвойно-лісовою підстилкою +Savanna Dirt=Саванна земля +Savanna Dirt with Savanna Grass=Саванна земля із саванною травою +Permafrost=Вічна мерзлота +Permafrost with Stones=Вічна мерзлота з камінням +Permafrost with Moss=Вічна мерзлота з мохом +Sand=Пісок +Desert Sand=Пустельний пісок +Silver Sand=Срібний пісок +Gravel=Гравій +Clay=Глина +Snow=Сніг +Snow Block=Блок снігу +Ice=Крига +Cave Ice=Печерова крига +Apple Tree=Стовбур яблуні +Apple Wood Planks=Яблуневі дошки +Apple Tree Sapling=Саджанець яблуні +Apple Tree Leaves=Яблуневе листя +Apple=Яблуко +Apple Marker=Мітка яблука +Jungle Tree=Стовбур тропічного дерева +Jungle Wood Planks=Дошки з тропічного дерева +Jungle Tree Leaves=Листя тропічного дерева +Jungle Tree Sapling=Саджанець тропічного дерева +Emergent Jungle Tree Sapling=Молодий саджанець тропічного дерева +Pine Tree=Сосновий стовбур +Pine Wood Planks=Соснові дошки +Pine Needles=Соснова хвоя +Pine Tree Sapling=Саджанець сосни +Acacia Tree=Акацієвий стовбур +Acacia Wood Planks=Акацієві дошки +Acacia Tree Leaves=Акацієве листя +Acacia Tree Sapling=Саджанець акації +Aspen Tree=Осиковий стовбур +Aspen Wood Planks=Осикові дошки +Aspen Tree Leaves=Осикове листя +Aspen Tree Sapling=Саджанець осики +Coal Ore=Поклади вугілля +Coal Block=Блок вугілля +Iron Ore=Поклади заліза +Steel Block=Блок сталі +Copper Ore=Поклади міді +Copper Block=Блок міді +Tin Ore=Поклади олова +Tin Block=Блок олова +Bronze Block=Блок бронзи +Mese Ore=Поклади Месе +Mese Block=Блок Месе +Gold Ore=Поклади золота +Gold Block=Блок золота +Diamond Ore=Поклади діамантів +Diamond Block=Блок діамантів +Cactus=Кактус +Large Cactus Seedling=Великий саджанець кактуса +Papyrus=Папірус +Dry Shrub=Сухий кущ +Jungle Grass=Тропічна трава +Grass=Трава +Savanna Grass=Саванна трава +Fern=Папороть +Marram Grass=Пляжна трава +Bush Stem=Стебла куща +Bush Leaves=Листя куща +Bush Sapling=Саджанець куща +Blueberry Bush Leaves with Berries=Кущ чорниці з ягодами +Blueberry Bush Leaves=Кущ чорниці +Blueberry Bush Sapling=Саджанець куща чорниці +Acacia Bush Stem=Стебла акацієвого куща +Acacia Bush Leaves=Листя акацієвого куща +Acacia Bush Sapling=Саджанець акацієвого куща +Pine Bush Stem=Стебла соснового куща +Pine Bush Needles=Хвоя соснового куща +Pine Bush Sapling=Саджанець соснового куща +Kelp=Ламінарія +Green Coral=Зелений корал +Pink Coral=Рожевий корал +Cyan Coral=Блакитний корал +Brown Coral=Коричневий корал +Orange Coral=Помаранчевий корал +Coral Skeleton=Скелет корала +Water Source=Водне джерело +Flowing Water=Проточна вода +River Water Source=Річкове водне джерело +Flowing River Water=Проточна річкова вода +Lava Source=Лавове джерело +Flowing Lava=Проточна лава +Empty Bookshelf=Порожня книжкова полиця +Bookshelf (@1 written, @2 empty books)=Книжкова полиця (книги: @1 з текстом, @2 без тексту) +Bookshelf=Книжкова полиця +Text too long=Текст занадто довгий +"@1"="@1" +Wooden Sign=Дерев'яна табличка +Steel Sign=Сталева табличка +Wooden Ladder=Дерев'яна драбина +Steel Ladder=Сталева драбина +Apple Wood Fence=Яблуневий паркан +Acacia Wood Fence=Акацієвий паркан +Jungle Wood Fence=Паркан із тропічного дерева +Pine Wood Fence=Сосновий паркан +Aspen Wood Fence=Осиковий паркан +Apple Wood Fence Rail=Яблуневий рейковий паркан +Acacia Wood Fence Rail=Акацієвий рейковий паркан +Jungle Wood Fence Rail=Рейковий паркан з тропічного дерева +Pine Wood Fence Rail=Сосновий рейковий паркан +Aspen Wood Fence Rail=Осиковий рейковий паркан +Glass=Скло +Obsidian Glass=Обсидіанове скло +Brick Block=Цегляний блок +Mese Lamp=Месе-лампа +Apple Wood Mese Post Light=Яблуневий стовповий Месе-світильник +Acacia Wood Mese Post Light=Акацієвий стовповий Месе-світильник +Jungle Wood Mese Post Light=Стовповий Месе-світильник із тропічного дерева +Pine Wood Mese Post Light=Сосновий стовповий Месе-світильник +Aspen Wood Mese Post Light=Осиковий стовповий Месе-світильник +Cloud=Хмара +Wooden Pickaxe=Дерев'яне кайло +Stone Pickaxe=Кам'яне кайло +Bronze Pickaxe=Бронзове кайло +Steel Pickaxe=Сталеве кайло +Mese Pickaxe=Месе-кайло +Diamond Pickaxe=Діамантове кайло +Wooden Shovel=Дерев'яна лопата +Stone Shovel=Кам'яна лопата +Bronze Shovel=Бронзова лопата +Steel Shovel=Сталева лопата +Mese Shovel=Месе-лопата +Diamond Shovel=Діамантова лопата +Wooden Axe=Дерев'яна сокира +Stone Axe=Кам'яна сокира +Bronze Axe=Бронзова сокира +Steel Axe=Сталева сокира +Mese Axe=Месе-сокира +Diamond Axe=Діамантова сокира +Wooden Sword=Дерев'яний меч +Stone Sword=Кам'яний меч +Bronze Sword=Бронзовий меч +Steel Sword=Сталевий меч +Mese Sword=Месе-меч +Diamond Sword=Діамантовий меч +Torch=Смолоскип +@1 will intersect protection on growth.=@1 перетне захист коли виросте. diff --git a/data/games/garage/mods/default/locale/default.zh_CN.tr b/data/games/garage/mods/default/locale/default.zh_CN.tr new file mode 100644 index 0000000..c887df8 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.zh_CN.tr @@ -0,0 +1,221 @@ +# textdomain: default +Locked Chest=已上锁的箱子 +Locked Chest (owned by @1)=已上锁的箱子(属于@1) +You do not own this chest.=这个箱子不属于你所有。 +a locked chest=一个已上锁的箱子 +Chest=箱子 +Write=写 +Read=读 +Title:=标题: +Contents:=内容: +Save=保存 +by @1=由@1 +Page @1 of @2=第@1页,共@2页。 +The book you were writing to mysteriously disappeared.=你正在写的书不知为何消失了。 +"@1" by @2="@1" by @2 +Blueberries=蓝莓 +Book=书 +Book with Text=带文字的书 +Bronze Ingot=青铜锭 +Clay Brick=粘土砖 +Clay Lump=粘土块 +Coal Lump=煤块 +Copper Ingot=铜锭 +Copper Lump=铜块 +Diamond=钻石 +Flint=燧石 +Gold Ingot=金锭 +Gold Lump=金块 +Iron Lump=铁块 +Mese Crystal=黄石晶体 +Mese Crystal Fragment=黄石晶体碎片 +Obsidian Shard=黑曜石碎片 +Paper=纸 +Steel Ingot=铁锭 +Stick=棒 +Tin Ingot=锡锭 +Tin Lump=锡块 +Furnace is empty=熔炉是空的 +100% (output full)=100%(输出已满) +@1%=@1% +Not cookable=不可烹饪 +Empty=空 +Furnace active=熔炉正在运转 +Furnace inactive=熔炉未使用 +(Item: @1; Fuel: @2)=(项目:@1;燃料:@2) +Furnace=熔炉 +Stone=石 +Cobblestone=鹅卵石 +Stone Brick=石砖 +Stone Block=石方块 +Mossy Cobblestone=苔藓覆盖的鹅卵石 +Desert Stone=沙漠石 +Desert Cobblestone=沙漠鹅卵石 +Desert Stone Brick=沙漠鹅卵石砖 +Desert Stone Block=沙漠鹅卵石方块 +Sandstone=砂岩 +Sandstone Brick=砂岩砖 +Sandstone Block=砂岩方块 +Desert Sandstone=沙漠砂岩 +Desert Sandstone Brick=沙漠砂岩砖 +Desert Sandstone Block=沙漠砂岩方块 +Silver Sandstone=银砂岩 +Silver Sandstone Brick=银砂岩砖 +Silver Sandstone Block=银砂岩方块 +Obsidian=黑曜石 +Obsidian Brick=黑曜石砖 +Obsidian Block=黑曜石方块 +Dirt=土方块 +Dirt with Grass=草方块 +Dirt with Grass and Footsteps=带有脚印的草方块 +Dirt with Savanna Grass=草原草方块 +Dirt with Snow=雪土方块 +Dirt with Rainforest Litter=雨林凋落物土 +Dirt with Coniferous Litter=针叶林凋落物土 +Savanna Dirt=草原土 +Savanna Dirt with Savanna Grass=草原草方块 +Permafrost=多年冻土 +Permafrost with Stones=带石头的多年冻土 +Permafrost with Moss=生苔的多年冻土 +Sand=沙 +Desert Sand=沙漠沙 +Silver Sand=银沙 +Gravel=沙砾 +Clay=粘土 +Snow=雪 +Snow Block=雪方块 +Ice=冰 +Cave Ice=洞穴冰 +Apple Tree=苹果树 +Apple Wood Planks=苹果树木板 +Apple Tree Sapling=苹果树苗 +Apple Tree Leaves=苹果树叶 +Apple=苹果 +Apple Marker=苹果标记 +Jungle Tree=丛林树 +Jungle Wood Planks=丛林树木板 +Jungle Tree Leaves=丛林树叶 +Jungle Tree Sapling=丛林树苗 +Emergent Jungle Tree Sapling=露生层丛林树苗 +Pine Tree=松树 +Pine Wood Planks=松树木板 +Pine Needles=松针 +Pine Tree Sapling=松树树苗 +Acacia Tree=相思树 +Acacia Wood Planks=相思树木板 +Acacia Tree Leaves=相思树叶 +Acacia Tree Sapling=相思树树苗 +Aspen Tree=白杨树 +Aspen Wood Planks=白杨树木板 +Aspen Tree Leaves=白杨树叶 +Aspen Tree Sapling=白杨树树苗 +Coal Ore=煤炭矿石 +Coal Block=煤炭方块 +Iron Ore=铁矿石 +Steel Block=钢方块 +Copper Ore=铜矿石 +Copper Block=铜方块 +Tin Ore=锡矿石 +Tin Block=锡方块 +Bronze Block=青铜方块 +Mese Ore=黄石矿石 +Mese Block=黄石方块 +Gold Ore=金矿石 +Gold Block=金方块 +Diamond Ore=钻石矿石 +Diamond Block=钻石方块 +Cactus=仙人掌 +Large Cactus Seedling=大仙人掌苗 +Papyrus=莎草纸 +Dry Shrub=干灌木 +Jungle Grass=丛林草 +Grass=草 +Savanna Grass=草原草 +Fern=蕨 +Marram Grass=滨草 +Bush Stem=灌木 +Bush Leaves=灌木叶 +Bush Sapling=灌木苗 +Blueberry Bush Leaves with Berries=长蓝莓的蓝莓灌木叶 +Blueberry Bush Leaves=蓝莓灌木叶 +Blueberry Bush Sapling=蓝莓灌木苗 +Acacia Bush Stem=相思灌木 +Acacia Bush Leaves=相思灌木叶 +Acacia Bush Sapling=相思灌木苗 +Pine Bush Stem=松树灌木 +Pine Bush Needles=松树灌木针 +Pine Bush Sapling=松树灌木苗 +Kelp=海带 +Green Coral=绿珊瑚 +Pink Coral=淡红珊瑚 +Cyan Coral=青珊瑚 +Brown Coral=棕珊瑚 +Orange Coral=橙珊瑚 +Coral Skeleton=珊瑚骨架 +Water Source=水方块 +Flowing Water=流动的水 +River Water Source=河水方块 +Flowing River Water=流动的河水 +Lava Source=岩浆方块 +Flowing Lava=流动的岩浆 +Empty Bookshelf=空书架 +Bookshelf (@1 written, @2 empty books)=书架(@1本有字的书,@2本空书) +Bookshelf=书架 +Text too long=文字太长 +"@1"="@1" +Wooden Sign=木牌 +Steel Sign=铁牌 +Wooden Ladder=木梯子 +Steel Ladder=铁梯子 +Apple Wood Fence=苹果木栅栏 +Acacia Wood Fence=相思木栅栏 +Jungle Wood Fence=丛林木栅栏 +Pine Wood Fence=松木栅栏 +Aspen Wood Fence=白杨木栅栏 +Apple Wood Fence Rail=苹果木栏杆 +Acacia Wood Fence Rail=相思木栏杆 +Jungle Wood Fence Rail=丛林木栏杆 +Pine Wood Fence Rail=松木栏杆 +Aspen Wood Fence Rail=白杨木栏杆 +Glass=玻璃 +Obsidian Glass=黑曜石玻璃 +Brick Block=砖方块 +Mese Lamp=黄石灯 +Apple Wood Mese Post Light=苹果木黄石灯柱 +Acacia Wood Mese Post Light=金合欢木黄石灯柱 +Jungle Wood Mese Post Light=丛林木黄石灯柱 +Pine Wood Mese Post Light=松木黄石灯柱 +Aspen Wood Mese Post Light=白杨木黄石灯柱 +Cloud=云 +Wooden Pickaxe=木镐 +Stone Pickaxe=石镐 +Bronze Pickaxe=青铜镐 +Steel Pickaxe=铁镐 +Mese Pickaxe=黄石镐 +Diamond Pickaxe=钻石镐 +Wooden Shovel=木铲 +Stone Shovel=石铲 +Bronze Shovel=青铜铲 +Steel Shovel=铁铲 +Mese Shovel=黄石铲 +Diamond Shovel=钻石铲 +Wooden Axe=木斧 +Stone Axe=石斧 +Bronze Axe=青铜斧 +Steel Axe=铁斧 +Mese Axe=黄石斧 +Diamond Axe=钻石斧 +Wooden Sword=木剑 +Stone Sword=石剑 +Bronze Sword=青铜剑 +Steel Sword=铁剑 +Mese Sword=黄石剑 +Diamond Sword=钻石剑 +Torch=火把 +@1 will intersect protection on growth.=@1生长时将与保护区域相交。 + + +##### not used anymore ##### + +Dirt with Dry Grass=干草土方块 +Dry Grass=干草 diff --git a/data/games/garage/mods/default/locale/default.zh_TW.tr b/data/games/garage/mods/default/locale/default.zh_TW.tr new file mode 100644 index 0000000..bd638b4 --- /dev/null +++ b/data/games/garage/mods/default/locale/default.zh_TW.tr @@ -0,0 +1,221 @@ +# textdomain: default +Locked Chest=已上鎖的箱子 +Locked Chest (owned by @1)=已上鎖的箱子(屬於@1所有) +You do not own this chest.=這個箱子不屬於你所有。 +a locked chest=一個已上鎖的箱子 +Chest=箱子 +Write=寫 +Read=讀 +Title:=標題: +Contents:=內容: +Save=保存 +by @1=由@1 +Page @1 of @2=第@1頁,共@2頁。 +The book you were writing to mysteriously disappeared.=你正在寫的書神秘消失了。 +"@1" by @2="@1" by @2 +Blueberries=藍莓 +Book=書 +Book with Text=帶文字的書 +Bronze Ingot=青銅錠 +Clay Brick=粘土磚 +Clay Lump=粘土塊 +Coal Lump=煤塊 +Copper Ingot=銅錠 +Copper Lump=銅塊 +Diamond=鑽石 +Flint=燧石 +Gold Ingot=金錠 +Gold Lump=金塊 +Iron Lump=鐵塊 +Mese Crystal=黃石晶體 +Mese Crystal Fragment=黃石晶體碎片 +Obsidian Shard=黑曜石碎片 +Paper=紙 +Steel Ingot=鐵錠 +Stick=棒 +Tin Ingot=錫錠 +Tin Lump=錫塊 +Furnace is empty=熔爐是空的 +100% (output full)=100%(輸出已滿) +@1%=@1% +Not cookable=不可烹飪 +Empty=空 +Furnace active=熔爐正在運轉 +Furnace inactive=熔爐未使用 +(Item: @1; Fuel: @2)=(項目:@1;燃料:@2) +Furnace=熔爐 +Stone=石 +Cobblestone=鵝卵石 +Stone Brick=石磚 +Stone Block=石方塊 +Mossy Cobblestone=苔蘚覆蓋的鵝卵石 +Desert Stone=沙漠石 +Desert Cobblestone=沙漠鵝卵石 +Desert Stone Brick=沙漠鵝卵石磚 +Desert Stone Block=沙漠鵝卵石方塊 +Sandstone=砂岩 +Sandstone Brick=砂岩磚 +Sandstone Block=砂岩方塊 +Desert Sandstone=沙漠砂岩 +Desert Sandstone Brick=沙漠砂岩磚 +Desert Sandstone Block=沙漠砂岩方塊 +Silver Sandstone=銀砂岩 +Silver Sandstone Brick=銀砂岩磚 +Silver Sandstone Block=銀砂岩方塊 +Obsidian=黑曜石 +Obsidian Brick=黑曜石磚 +Obsidian Block=黑曜石方塊 +Dirt=土方塊 +Dirt with Grass=草方塊 +Dirt with Grass and Footsteps=草方塊及腳印 +Dirt with Savanna Grass=草原草方塊 +Dirt with Snow=雪土方塊 +Dirt with Rainforest Litter=雨林腐土 +Dirt with Coniferous Litter=針葉林腐土 +Savanna Dirt=草原土 +Savanna Dirt with Savanna Grass=草原草方塊(草原土) +Permafrost=多年凍土 +Permafrost with Stones=帶石頭的多年凍土 +Permafrost with Moss=生苔的多年凍土 +Sand=沙 +Desert Sand=沙漠沙 +Silver Sand=銀沙 +Gravel=沙礫 +Clay=粘土 +Snow=雪 +Snow Block=雪方塊 +Ice=冰 +Cave Ice=洞穴冰 +Apple Tree=蘋果樹 +Apple Wood Planks=蘋果樹木板 +Apple Tree Sapling=蘋果樹苗 +Apple Tree Leaves=蘋果樹葉 +Apple=蘋果 +Apple Marker=蘋果標記 +Jungle Tree=叢林樹 +Jungle Wood Planks=叢林樹木板 +Jungle Tree Leaves=叢林樹葉 +Jungle Tree Sapling=叢林樹苗 +Emergent Jungle Tree Sapling=應急叢林樹苗 +Pine Tree=松樹 +Pine Wood Planks=松樹木板 +Pine Needles=松針 +Pine Tree Sapling=松樹樹苗 +Acacia Tree=相思樹 +Acacia Wood Planks=相思樹木板 +Acacia Tree Leaves=相思樹葉 +Acacia Tree Sapling=相思樹樹苗 +Aspen Tree=白楊樹 +Aspen Wood Planks=白楊樹木板 +Aspen Tree Leaves=白楊樹葉 +Aspen Tree Sapling=白楊樹樹苗 +Coal Ore=煤炭礦石 +Coal Block=煤炭方塊 +Iron Ore=鐵礦石 +Steel Block=鋼方塊 +Copper Ore=銅礦石 +Copper Block=銅方塊 +Tin Ore=錫礦石 +Tin Block=錫方塊 +Bronze Block=青銅方塊 +Mese Ore=黃石礦石 +Mese Block=黃石方塊 +Gold Ore=金礦石 +Gold Block=金方塊 +Diamond Ore=鑽石礦石 +Diamond Block=鑽石方塊 +Cactus=仙人掌 +Large Cactus Seedling=大仙人掌苗 +Papyrus=莎草紙 +Dry Shrub=幹灌木 +Jungle Grass=叢林草 +Grass=草 +Savanna Grass= +Fern=蕨 +Marram Grass=濱草 +Bush Stem=灌木 +Bush Leaves=灌木葉 +Bush Sapling=灌木苗 +Blueberry Bush Leaves with Berries=藍莓灌木葉與漿果 +Blueberry Bush Leaves=藍莓灌木葉 +Blueberry Bush Sapling=藍莓灌木苗 +Acacia Bush Stem=相思灌木 +Acacia Bush Leaves=相思灌木葉 +Acacia Bush Sapling=相思灌木苗 +Pine Bush Stem=松樹灌木 +Pine Bush Needles=松樹灌木針 +Pine Bush Sapling=松樹灌木苗 +Kelp=海帶 +Green Coral=綠珊瑚 +Pink Coral=淡紅珊瑚 +Cyan Coral=青珊瑚 +Brown Coral=棕珊瑚 +Orange Coral=橙珊瑚 +Coral Skeleton=珊瑚骨架 +Water Source=水方塊 +Flowing Water=流動的水 +River Water Source=河水方塊 +Flowing River Water=流動的河水 +Lava Source=岩漿方塊 +Flowing Lava=流動的岩漿 +Empty Bookshelf=空書架 +Bookshelf (@1 written, @2 empty books)=書架(@1本有字的書,@2本空書) +Bookshelf=書架 +Text too long=文字太長 +"@1"="@1" +Wooden Sign=木牌 +Steel Sign=鐵牌 +Wooden Ladder=木梯子 +Steel Ladder=鐵梯子 +Apple Wood Fence=蘋果木柵欄 +Acacia Wood Fence=相思木柵欄 +Jungle Wood Fence=叢林木柵欄 +Pine Wood Fence=松木柵欄 +Aspen Wood Fence=白楊木柵欄 +Apple Wood Fence Rail=蘋果木欄杆 +Acacia Wood Fence Rail=相思木欄杆 +Jungle Wood Fence Rail=叢林木欄杆 +Pine Wood Fence Rail=松木欄杆 +Aspen Wood Fence Rail=白楊木欄杆 +Glass=玻璃 +Obsidian Glass=黑曜石玻璃 +Brick Block=磚方塊 +Mese Lamp=黃石燈 +Apple Wood Mese Post Light=蘋果木黃石燈柱 +Acacia Wood Mese Post Light=金合歡木黃石燈柱 +Jungle Wood Mese Post Light=叢林木黃石燈柱 +Pine Wood Mese Post Light=松木黃石燈柱 +Aspen Wood Mese Post Light=白楊木黃石燈柱 +Cloud=雲 +Wooden Pickaxe=木鎬 +Stone Pickaxe=石鎬 +Bronze Pickaxe=青銅鎬 +Steel Pickaxe=鐵鎬 +Mese Pickaxe=黃石鎬 +Diamond Pickaxe=鑽石鎬 +Wooden Shovel=木鏟 +Stone Shovel=石鏟 +Bronze Shovel=青銅鏟 +Steel Shovel=鐵鏟 +Mese Shovel=黃石鏟 +Diamond Shovel=鑽石鏟 +Wooden Axe=木斧 +Stone Axe=石斧 +Bronze Axe=青銅斧 +Steel Axe=鐵斧 +Mese Axe=黃石斧 +Diamond Axe=鑽石斧 +Wooden Sword=木劍 +Stone Sword=石劍 +Bronze Sword=青銅劍 +Steel Sword=鐵劍 +Mese Sword=黃石劍 +Diamond Sword=鑽石劍 +Torch=火把 +@1 will intersect protection on growth.=@1將與增長的保護相交。 + + +##### not used anymore ##### + +Dirt with Dry Grass=乾草土方塊 +Dry Grass=乾草 diff --git a/data/games/garage/mods/default/locale/template.txt b/data/games/garage/mods/default/locale/template.txt new file mode 100644 index 0000000..815c29c --- /dev/null +++ b/data/games/garage/mods/default/locale/template.txt @@ -0,0 +1,215 @@ +# textdomain: default +Locked Chest= +Locked Chest (owned by @1)= +You do not own this chest.= +a locked chest= +Chest= +Write= +Read= +Title:= +Contents:= +Save= +by @1= +Page @1 of @2= +The book you were writing to mysteriously disappeared.= +"@1" by @2= +Blueberries= +Book= +Book with Text= +Bronze Ingot= +Clay Brick= +Clay Lump= +Coal Lump= +Copper Ingot= +Copper Lump= +Diamond= +Flint= +Gold Ingot= +Gold Lump= +Iron Lump= +Mese Crystal= +Mese Crystal Fragment= +Obsidian Shard= +Paper= +Steel Ingot= +Stick= +Tin Ingot= +Tin Lump= +Furnace is empty= +100% (output full)= +@1%= +Not cookable= +Empty= +Furnace active= +Furnace inactive= +(Item: @1; Fuel: @2)= +Furnace= +Stone= +Cobblestone= +Stone Brick= +Stone Block= +Mossy Cobblestone= +Desert Stone= +Desert Cobblestone= +Desert Stone Brick= +Desert Stone Block= +Sandstone= +Sandstone Brick= +Sandstone Block= +Desert Sandstone= +Desert Sandstone Brick= +Desert Sandstone Block= +Silver Sandstone= +Silver Sandstone Brick= +Silver Sandstone Block= +Obsidian= +Obsidian Brick= +Obsidian Block= +Dirt= +Dirt with Grass= +Dirt with Grass and Footsteps= +Dirt with Savanna Grass= +Dirt with Snow= +Dirt with Rainforest Litter= +Dirt with Coniferous Litter= +Savanna Dirt= +Savanna Dirt with Savanna Grass= +Permafrost= +Permafrost with Stones= +Permafrost with Moss= +Sand= +Desert Sand= +Silver Sand= +Gravel= +Clay= +Snow= +Snow Block= +Ice= +Cave Ice= +Apple Tree= +Apple Wood Planks= +Apple Tree Sapling= +Apple Tree Leaves= +Apple= +Apple Marker= +Jungle Tree= +Jungle Wood Planks= +Jungle Tree Leaves= +Jungle Tree Sapling= +Emergent Jungle Tree Sapling= +Pine Tree= +Pine Wood Planks= +Pine Needles= +Pine Tree Sapling= +Acacia Tree= +Acacia Wood Planks= +Acacia Tree Leaves= +Acacia Tree Sapling= +Aspen Tree= +Aspen Wood Planks= +Aspen Tree Leaves= +Aspen Tree Sapling= +Coal Ore= +Coal Block= +Iron Ore= +Steel Block= +Copper Ore= +Copper Block= +Tin Ore= +Tin Block= +Bronze Block= +Mese Ore= +Mese Block= +Gold Ore= +Gold Block= +Diamond Ore= +Diamond Block= +Cactus= +Large Cactus Seedling= +Papyrus= +Dry Shrub= +Jungle Grass= +Grass= +Savanna Grass= +Fern= +Marram Grass= +Bush Stem= +Bush Leaves= +Bush Sapling= +Blueberry Bush Leaves with Berries= +Blueberry Bush Leaves= +Blueberry Bush Sapling= +Acacia Bush Stem= +Acacia Bush Leaves= +Acacia Bush Sapling= +Pine Bush Stem= +Pine Bush Needles= +Pine Bush Sapling= +Kelp= +Green Coral= +Pink Coral= +Cyan Coral= +Brown Coral= +Orange Coral= +Coral Skeleton= +Water Source= +Flowing Water= +River Water Source= +Flowing River Water= +Lava Source= +Flowing Lava= +Empty Bookshelf= +Bookshelf (@1 written, @2 empty books)= +Bookshelf= +Text too long= +"@1"= +Wooden Sign= +Steel Sign= +Wooden Ladder= +Steel Ladder= +Apple Wood Fence= +Acacia Wood Fence= +Jungle Wood Fence= +Pine Wood Fence= +Aspen Wood Fence= +Apple Wood Fence Rail= +Acacia Wood Fence Rail= +Jungle Wood Fence Rail= +Pine Wood Fence Rail= +Aspen Wood Fence Rail= +Glass= +Obsidian Glass= +Brick Block= +Mese Lamp= +Apple Wood Mese Post Light= +Acacia Wood Mese Post Light= +Jungle Wood Mese Post Light= +Pine Wood Mese Post Light= +Aspen Wood Mese Post Light= +Cloud= +Wooden Pickaxe= +Stone Pickaxe= +Bronze Pickaxe= +Steel Pickaxe= +Mese Pickaxe= +Diamond Pickaxe= +Wooden Shovel= +Stone Shovel= +Bronze Shovel= +Steel Shovel= +Mese Shovel= +Diamond Shovel= +Wooden Axe= +Stone Axe= +Bronze Axe= +Steel Axe= +Mese Axe= +Diamond Axe= +Wooden Sword= +Stone Sword= +Bronze Sword= +Steel Sword= +Mese Sword= +Diamond Sword= +Torch= +@1 will intersect protection on growth.= diff --git a/data/games/garage/mods/default/mapgen.lua b/data/games/garage/mods/default/mapgen.lua new file mode 100644 index 0000000..cc5b9bf --- /dev/null +++ b/data/games/garage/mods/default/mapgen.lua @@ -0,0 +1,2489 @@ +-- +-- Aliases for map generators +-- + +-- All mapgens + +minetest.register_alias("mapgen_stone", "default:stone") +minetest.register_alias("mapgen_water_source", "default:water_source") +minetest.register_alias("mapgen_river_water_source", "default:river_water_source") + +-- Additional aliases needed for mapgen v6 + +minetest.register_alias("mapgen_lava_source", "default:lava_source") +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_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_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") + +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") + + +-- +-- 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 + }, + }) + + -- 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 + }, + -- Only where default:dirt is present as surface material + biomes = {"taiga", "snowy_grassland", "grassland", "coniferous_forest", + "deciduous_forest", "deciduous_forest_shore", "rainforest", + "rainforest_swamp"} + }) + + -- 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 = -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() + + -- 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, + node_dungeon = "default:ice", + node_dungeon_stair = "stairs:stair_ice", + y_max = 31000, + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -9, + y_min = -255, + heat_point = 0, + humidity_point = 73, + }) + + minetest.register_biome({ + name = "icesheet_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + heat_point = 0, + humidity_point = 73, + }) + + -- Tundra + + minetest.register_biome({ + name = "tundra_highland", + node_dust = "default:snow", + node_riverbed = "default:gravel", + depth_riverbed = 2, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = 31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + vertical_blend = 1, + y_max = -4, + y_min = -255, + heat_point = 0, + humidity_point = 40, + }) + + minetest.register_biome({ + name = "tundra_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = 31000, + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + vertical_blend = 1, + y_max = 3, + y_min = -255, + heat_point = 25, + humidity_point = 70, + }) + + minetest.register_biome({ + name = "taiga_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = 31000, + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + vertical_blend = 1, + y_max = 3, + y_min = -255, + heat_point = 20, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "snowy_grassland_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = 31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = 3, + y_min = -255, + heat_point = 50, + humidity_point = 35, + }) + + minetest.register_biome({ + name = "grassland_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = 31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = 3, + y_min = -255, + heat_point = 45, + humidity_point = 70, + }) + + minetest.register_biome({ + name = "coniferous_forest_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = 31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + vertical_blend = 1, + y_max = -2, + y_min = -255, + heat_point = 60, + humidity_point = 68, + }) + + minetest.register_biome({ + name = "deciduous_forest_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + 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, + node_dungeon = "default:desert_stone", + node_dungeon_stair = "stairs:stair_desert_stone", + y_max = 31000, + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:desert_stone", + node_dungeon_stair = "stairs:stair_desert_stone", + vertical_blend = 1, + y_max = 3, + y_min = -255, + heat_point = 92, + humidity_point = 16, + }) + + minetest.register_biome({ + name = "desert_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + 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, + node_dungeon = "default:sandstonebrick", + node_dungeon_stair = "stairs:stair_sandstone_block", + y_max = 31000, + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:sandstonebrick", + node_dungeon_stair = "stairs:stair_sandstone_block", + y_max = 3, + y_min = -255, + heat_point = 60, + humidity_point = 0, + }) + + minetest.register_biome({ + name = "sandstone_desert_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = 31000, + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + vertical_blend = 1, + y_max = 3, + y_min = -255, + heat_point = 40, + humidity_point = 0, + }) + + minetest.register_biome({ + name = "cold_desert_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + heat_point = 40, + humidity_point = 0, + }) + + -- Savanna + + minetest.register_biome({ + name = "savanna", + node_top = "default:dry_dirt_with_dry_grass", + depth_top = 1, + node_filler = "default:dry_dirt", + depth_filler = 1, + node_riverbed = "default:sand", + depth_riverbed = 2, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = 31000, + y_min = 1, + heat_point = 89, + humidity_point = 42, + }) + + minetest.register_biome({ + name = "savanna_shore", + node_top = "default:dry_dirt", + depth_top = 1, + node_filler = "default:dry_dirt", + depth_filler = 3, + node_riverbed = "default:sand", + depth_riverbed = 2, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + vertical_blend = 1, + y_max = -2, + y_min = -255, + heat_point = 89, + humidity_point = 42, + }) + + minetest.register_biome({ + name = "savanna_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = 31000, + 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, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + 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, + node_cave_liquid = "default:water_source", + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + vertical_blend = 1, + y_max = -2, + y_min = -255, + heat_point = 86, + humidity_point = 65, + }) + + minetest.register_biome({ + name = "rainforest_under", + node_cave_liquid = {"default:water_source", "default:lava_source"}, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", + y_max = -256, + y_min = -31000, + heat_point = 86, + humidity_point = 65, + }) +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"}, + 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:dry_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"}, + y_max = 31000, + y_min = 6, + decoration = "default:fern_" .. length, + }) +end + + +function default.register_decorations() + -- Savanna bare dirt patches. + -- Must come before all savanna decorations that are placed on dry grass. + -- Noise is similar to long dry grass noise, but scale inverted, to appear + -- where long dry grass is least dense and shortest. + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dry_dirt_with_dry_grass"}, + sidelen = 4, + noise_params = { + offset = -1.5, + scale = -1.5, + spread = {x = 200, y = 200, z = 200}, + seed = 329, + octaves = 4, + persist = 1.0 + }, + biomes = {"savanna"}, + y_max = 31000, + y_min = 1, + decoration = "default:dry_dirt", + place_offset_y = -1, + flags = "force_placement", + }) + + -- 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"}, + sidelen = 80, + fill_ratio = 0.1, + biomes = {"rainforest"}, + y_max = 31000, + y_min = 1, + schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts", + flags = "place_center_x, place_center_z", + rotation = "random", + }) + + -- Swamp jungle trees + + minetest.register_decoration({ + name = "default:jungle_tree(swamp)", + deco_type = "schematic", + place_on = {"default:dirt"}, + sidelen = 16, + -- Noise tuned to place swamp trees where papyrus is absent + noise_params = { + offset = 0.0, + scale = -0.1, + spread = {x = 200, y = 200, z = 200}, + seed = 354, + octaves = 1, + persist = 0.5 + }, + biomes = {"rainforest_swamp"}, + y_max = 0, + 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"}, + 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"}, + 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"}, + 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"}, + 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:dry_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:dry_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:dry_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, place_center_z", + 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 + + -- Dirt version for rainforest swamp + + minetest.register_decoration({ + name = "default:papyrus_on_dirt", + 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 = {"rainforest_swamp"}, + y_max = 0, + y_min = 0, + schematic = minetest.get_modpath("default") .. "/schematics/papyrus_on_dirt.mts", + }) + + -- Dry dirt version for savanna shore + + minetest.register_decoration({ + name = "default:papyrus_on_dry_dirt", + deco_type = "schematic", + place_on = {"default:dry_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_on_dry_dirt.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"}, + 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:dry_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.7, + scale = 4.0, + spread = {x = 16, y = 16, z = 16}, + seed = 513337, + octaves = 1, + persist = 0.0, + flags = "absvalue, eased" + }, + 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 to select functions +-- + + +local mg_name = minetest.get_mapgen_setting("mg_name") + +if mg_name == "v6" then + default.register_mgv6_ores() + default.register_mgv6_decorations() +else + default.register_biomes() + default.register_ores() + default.register_decorations() +end diff --git a/data/games/garage/mods/default/mod.conf b/data/games/garage/mods/default/mod.conf new file mode 100644 index 0000000..c9e7468 --- /dev/null +++ b/data/games/garage/mods/default/mod.conf @@ -0,0 +1,3 @@ +name = default +description = Minetest Game mod: default +optional_depends = player_api diff --git a/data/games/garage/mods/testformspec/models/testformspec_chest.obj b/data/games/garage/mods/default/models/chest_open.obj similarity index 100% rename from data/games/garage/mods/testformspec/models/testformspec_chest.obj rename to data/games/garage/mods/default/models/chest_open.obj diff --git a/data/games/garage/mods/default/models/torch_ceiling.obj b/data/games/garage/mods/default/models/torch_ceiling.obj new file mode 100644 index 0000000..5df8597 --- /dev/null +++ b/data/games/garage/mods/default/models/torch_ceiling.obj @@ -0,0 +1,53 @@ +# Blender v2.77 (sub 0) OBJ File: 'torch_ceiling.blend' +# www.blender.org +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 +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 +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/data/games/garage/mods/default/models/torch_floor.obj b/data/games/garage/mods/default/models/torch_floor.obj new file mode 100644 index 0000000..dfd25e8 --- /dev/null +++ b/data/games/garage/mods/default/models/torch_floor.obj @@ -0,0 +1,43 @@ +# Blender v2.76 (sub 11) OBJ File: 'torch_floor.blend' +# www.blender.org +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 +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 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/data/games/garage/mods/default/models/torch_wall.obj b/data/games/garage/mods/default/models/torch_wall.obj new file mode 100644 index 0000000..6de4b13 --- /dev/null +++ b/data/games/garage/mods/default/models/torch_wall.obj @@ -0,0 +1,57 @@ +# Blender v2.76 (sub 11) OBJ File: 'torch_wall.blend' +# www.blender.org +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 +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 +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/data/games/garage/mods/default/nodes.lua b/data/games/garage/mods/default/nodes.lua new file mode 100644 index 0000000..2bde6f8 --- /dev/null +++ b/data/games/garage/mods/default/nodes.lua @@ -0,0 +1,2957 @@ +-- mods/default/nodes.lua + +-- support for MT game translation. +local S = default.get_translator + +--[[ 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:dry_dirt +default:dry_dirt_with_dry_grass + +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:large_cactus_seedling + +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_green +default:coral_pink +default:coral_cyan +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:fence_rail_wood +default:fence_rail_acacia_wood +default:fence_rail_junglewood +default:fence_rail_pine_wood +default:fence_rail_aspen_wood + +default:glass +default:obsidian_glass + +default:brick + +default:meselamp +default:mese_post_light +default:mese_post_light_acacia_wood +default:mese_post_light_junglewood +default:mese_post_light_pine_wood +default:mese_post_light_aspen_wood + +Misc +---- + +default:cloud + +--]] + +-- Required wrapper to allow customization of default.after_place_leaves +local function after_place_leaves(...) + return default.after_place_leaves(...) +end + +-- Required wrapper to allow customization of default.grow_sapling +local function grow_sapling(...) + return default.grow_sapling(...) +end + +-- +-- Stone +-- + +minetest.register_node("default:stone", { + description = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("Sandstone"), + tiles = {"default_sandstone.png"}, + groups = {crumbly = 1, cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("default:sandstonebrick", { + description = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("Obsidian"), + tiles = {"default_obsidian.png"}, + sounds = default.node_sound_stone_defaults(), + groups = {cracky = 1, level = 2}, +}) + +minetest.register_node("default:obsidianbrick", { + description = S("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 = S("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 = S("Dirt"), + tiles = {"default_dirt.png"}, + groups = {crumbly = 3, soil = 1}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node("default:dirt_with_grass", { + description = S("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 = S("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 = S("Dirt with Savanna 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 = S("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 = S("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 = S("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:dry_dirt", { + description = S("Savanna Dirt"), + tiles = {"default_dry_dirt.png"}, + groups = {crumbly = 3, soil = 1}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node("default:dry_dirt_with_dry_grass", { + description = S("Savanna Dirt with Savanna Grass"), + tiles = {"default_dry_grass.png", "default_dry_dirt.png", + {name = "default_dry_dirt.png^default_dry_grass_side.png", + tileable_vertical = false}}, + groups = {crumbly = 3, soil = 1}, + drop = "default:dry_dirt", + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_grass_footstep", gain = 0.4}, + }), +}) + +minetest.register_node("default:permafrost", { + description = S("Permafrost"), + tiles = {"default_permafrost.png"}, + groups = {cracky = 3}, + sounds = default.node_sound_dirt_defaults(), +}) + +minetest.register_node("default:permafrost_with_stones", { + description = S("Permafrost with Stones"), + tiles = {"default_permafrost.png^default_stones.png", + "default_permafrost.png", + "default_permafrost.png^default_stones_side.png"}, + groups = {cracky = 3}, + sounds = default.node_sound_gravel_defaults(), +}) + +minetest.register_node("default:permafrost_with_moss", { + description = S("Permafrost with Moss"), + tiles = {"default_moss.png", "default_permafrost.png", + {name = "default_permafrost.png^default_moss_side.png", + tileable_vertical = false}}, + groups = {cracky = 3}, + sounds = default.node_sound_dirt_defaults({ + footstep = {name = "default_grass_footstep", gain = 0.25}, + }), +}) + +minetest.register_node("default:sand", { + description = S("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 = S("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 = S("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 = S("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 = S("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 = S("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, -6 / 16, 0.5}, + }, + }, + groups = {crumbly = 3, falling_node = 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 = S("Snow Block"), + tiles = {"default_snow.png"}, + groups = {crumbly = 3, 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 = S("Ice"), + tiles = {"default_ice.png"}, + is_ground_content = false, + paramtype = "light", + groups = {cracky = 3, cools_lava = 1, slippery = 3}, + sounds = default.node_sound_ice_defaults(), +}) + +-- Mapgen-placed ice with 'is ground content = true' to contain tunnels +minetest.register_node("default:cave_ice", { + description = S("Cave Ice"), + tiles = {"default_ice.png"}, + paramtype = "light", + groups = {cracky = 3, cools_lava = 1, slippery = 3, + not_in_creative_inventory = 1}, + drop = "default:ice", + sounds = default.node_sound_ice_defaults(), +}) + +-- +-- Trees +-- + +minetest.register_node("default:tree", { + description = S("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 = S("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 = S("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 = 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 = S("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 = after_place_leaves, +}) + +minetest.register_node("default:apple", { + description = S("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 = S("Apple Marker"), + inventory_image = "default_apple.png^default_invisible_node_overlay.png", + wield_image = "default_apple.png^default_invisible_node_overlay.png", + 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 = S("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 = S("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 = S("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 = after_place_leaves, +}) + +minetest.register_node("default:junglesapling", { + description = S("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 = 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 = S("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 = 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 = S("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 = S("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 = S("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 = after_place_leaves, +}) + +minetest.register_node("default:pine_sapling", { + description = S("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 = 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 = S("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 = S("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 = S("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 = after_place_leaves, +}) + +minetest.register_node("default:acacia_sapling", { + description = S("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 = 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 = S("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 = S("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 = S("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 = after_place_leaves, +}) + +minetest.register_node("default:aspen_sapling", { + description = S("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 = 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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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:large_cactus_seedling", { + description = S("Large Cactus Seedling"), + drawtype = "plantlike", + tiles = {"default_large_cactus_seedling.png"}, + inventory_image = "default_large_cactus_seedling.png", + wield_image = "default_large_cactus_seedling.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + selection_box = { + type = "fixed", + fixed = { + -5 / 16, -0.5, -5 / 16, + 5 / 16, 0.5, 5 / 16 + } + }, + groups = {choppy = 3, dig_immediate = 3, attached_node = 1}, + sounds = default.node_sound_wood_defaults(), + + on_place = function(itemstack, placer, pointed_thing) + itemstack = default.sapling_on_place(itemstack, placer, pointed_thing, + "default:large_cactus_seedling", + {x = -2, y = -1, z = -2}, + {x = 2, y = 5, z = 2}, + 4) + + return itemstack + end, + + on_construct = function(pos) + -- Normal cactus farming adds 1 cactus node by ABM, + -- interval 12s, chance 83. + -- Consider starting with 5 cactus nodes. We make sure that growing a + -- large cactus is not a faster way to produce new cactus nodes. + -- Confirmed by experiment, when farming 5 cacti, on average 1 new + -- cactus node is added on average every + -- 83 / 5 = 16.6 intervals = 16.6 * 12 = 199.2s. + -- Large cactus contains on average 14 cactus nodes. + -- 14 * 199.2 = 2788.8s. + -- Set random range to average to 2789s. + minetest.get_node_timer(pos):start(math.random(1859, 3719)) + end, + + on_timer = function(pos) + local node_under = minetest.get_node_or_nil( + {x = pos.x, y = pos.y - 1, z = pos.z}) + if not node_under then + -- Node under not yet loaded, try later + minetest.get_node_timer(pos):start(300) + return + end + + if minetest.get_item_group(node_under.name, "sand") == 0 then + -- Seedling dies + minetest.remove_node(pos) + return + end + + local light_level = minetest.get_node_light(pos) + if not light_level or light_level < 13 then + -- Too dark for growth, try later in case it's night + minetest.get_node_timer(pos):start(300) + return + end + + minetest.log("action", "A large cactus seedling grows into a large" .. + "cactus at ".. minetest.pos_to_string(pos)) + default.grow_large_cactus(pos) + end, +}) + +minetest.register_node("default:papyrus", { + description = S("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 = S("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 = S("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, grass = 1, junglegrass = 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 = S("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, + normal_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 = S("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, + normal_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 = S("Savanna 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, grass = 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 = S("Savanna 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, grass = 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 = S("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, grass = 1, + fern = 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 = S("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, + grass = 1, fern = 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 = S("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, flora = 1, grass = 1, marram_grass = 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 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 = S("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, flora = 1, attached_node = 1, + grass = 1, marram_grass = 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 = S("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 = S("Bush Leaves"), + drawtype = "allfaces_optional", + 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 = after_place_leaves, +}) + +minetest.register_node("default:bush_sapling", { + description = S("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 = 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 = S("Blueberry Bush Leaves with Berries"), + drawtype = "allfaces_optional", + 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 = S("Blueberry Bush Leaves"), + drawtype = "allfaces_optional", + 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 = after_place_leaves, +}) + +minetest.register_node("default:blueberry_bush_sapling", { + description = S("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 = 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 = S("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 = S("Acacia Bush Leaves"), + drawtype = "allfaces_optional", + 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 = after_place_leaves, +}) + +minetest.register_node("default:acacia_bush_sapling", { + description = S("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 = 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 = S("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 = S("Pine Bush Needles"), + drawtype = "allfaces_optional", + 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 = after_place_leaves, +}) + +minetest.register_node("default:pine_bush_sapling", { + description = S("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 = 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 = S("Kelp"), + drawtype = "plantlike_rooted", + waving = 1, + tiles = {"default_sand.png"}, + special_tiles = {{name = "default_kelp.png", tileable_vertical = true}}, + inventory_image = "default_kelp.png", + wield_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 = "", + sounds = default.node_sound_sand_defaults({ + dig = {name = "default_dig_snappy", gain = 0.2}, + dug = {name = "default_grass_footstep", gain = 0.25}, + }), + + on_place = function(itemstack, placer, pointed_thing) + -- Call on_rightclick if the pointed node defines it + if pointed_thing.type == "node" and not (placer and placer:is_player() + and 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 minetest.is_creative_enabled(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_dig_node = function(pos, oldnode, oldmetadata, digger) + minetest.set_node(pos, {name = "default:sand"}) + end +}) + + +-- +-- Corals +-- + +local function coral_on_place(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + local player_name = placer and placer:get_player_name() + local pos_under = pointed_thing.under + local pos_above = pointed_thing.above + local node_under = minetest.get_node(pos_under) + local def_under = minetest.registered_nodes[node_under.name] + + if def_under and def_under.on_rightclick and not ( + placer and placer:is_player() and placer:get_player_control().sneak) then + return def_under.on_rightclick(pos_under, node_under, + placer, itemstack, pointed_thing) + end + + if node_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.record_protection_violation(pos_under, player_name) + return itemstack + end + + node_under.name = itemstack:get_name() + minetest.set_node(pos_under, node_under) + if not minetest.is_creative_enabled(player_name) then + itemstack:take_item() + end + + return itemstack +end + +minetest.register_node("default:coral_green", { + description = S("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", + wield_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 = "", + sounds = default.node_sound_stone_defaults({ + dig = {name = "default_dig_snappy", gain = 0.2}, + dug = {name = "default_grass_footstep", gain = 0.25}, + }), + + on_place = coral_on_place, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + minetest.set_node(pos, {name = "default:coral_skeleton"}) + end, +}) + +minetest.register_node("default:coral_pink", { + description = S("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", + wield_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 = "", + sounds = default.node_sound_stone_defaults({ + dig = {name = "default_dig_snappy", gain = 0.2}, + dug = {name = "default_grass_footstep", gain = 0.25}, + }), + + on_place = coral_on_place, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + minetest.set_node(pos, {name = "default:coral_skeleton"}) + end, +}) + +minetest.register_node("default:coral_cyan", { + description = S("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", + wield_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 = "", + sounds = default.node_sound_stone_defaults({ + dig = {name = "default_dig_snappy", gain = 0.2}, + dug = {name = "default_grass_footstep", gain = 0.25}, + }), + + on_place = coral_on_place, + + after_dig_node = function(pos, oldnode, oldmetadata, digger) + minetest.set_node(pos, {name = "default:coral_skeleton"}) + end, +}) + +minetest.register_node("default:coral_brown", { + description = S("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 = S("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 = S("Coral Skeleton"), + tiles = {"default_coral_skeleton.png"}, + groups = {cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) + + +-- +-- Liquids +-- + +minetest.register_node("default:water_source", { + description = S("Water Source"), + drawtype = "liquid", + waving = 3, + 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, + }, + }, + }, + use_texture_alpha = "blend", + 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, cools_lava = 1}, + sounds = default.node_sound_water_defaults(), +}) + +minetest.register_node("default:water_flowing", { + description = S("Flowing Water"), + drawtype = "flowingliquid", + waving = 3, + 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.5, + }, + }, + { + name = "default_water_flowing_animated.png", + backface_culling = true, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.5, + }, + }, + }, + use_texture_alpha = "blend", + 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, not_in_creative_inventory = 1, + cools_lava = 1}, + sounds = default.node_sound_water_defaults(), +}) + + +minetest.register_node("default:river_water_source", { + description = S("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, + }, + }, + }, + use_texture_alpha = "blend", + 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, cools_lava = 1}, + sounds = default.node_sound_water_defaults(), +}) + +minetest.register_node("default:river_water_flowing", { + description = S("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.5, + }, + }, + { + name = "default_river_water_flowing_animated.png", + backface_culling = true, + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 0.5, + }, + }, + }, + use_texture_alpha = "blend", + 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, not_in_creative_inventory = 1, + cools_lava = 1}, + sounds = default.node_sound_water_defaults(), +}) + + +minetest.register_node("default:lava_source", { + description = S("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 = S("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;]" .. + "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", S("Empty Bookshelf")) + else + meta:set_string("infotext", S("Bookshelf (@1 written, @2 empty books)", n_written, n_empty)) + end +end + +local default_bookshelf_def = { + description = S("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_put = function(pos) + update_bookshelf(pos) + end, + on_metadata_inventory_take = function(pos) + update_bookshelf(pos) + end, + on_metadata_inventory_move = function(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, +} +default.set_inventory_action_loggers(default_bookshelf_def, "bookshelf") +minetest.register_node("default:bookshelf", default_bookshelf_def) + +local function register_sign(material, desc, def) + minetest.register_node("default:sign_wall_" .. material, { + description = desc, + 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, + use_texture_alpha = "opaque", + 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 meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[text;;${text}]") + end, + on_receive_fields = function(pos, formname, fields, sender) + 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 text = fields.text + if not text then + return + end + if #text > 512 then + minetest.chat_send_player(player_name, S("Text too long")) + return + end + text = text:gsub("[%z-\8\11-\31\127]", "") -- strip naughty control characters (keeps \t and \n) + default.log_player_action(sender, ("wrote %q to the sign at"):format(text), pos) + local meta = minetest.get_meta(pos) + meta:set_string("text", text) + + if #text > 0 then + meta:set_string("infotext", S('"@1"', text)) + else + meta:set_string("infotext", '') + end + end, + }) +end + +register_sign("wood", S("Wooden Sign"), { + sounds = default.node_sound_wood_defaults(), + groups = {choppy = 2, attached_node = 1, flammable = 2, oddly_breakable_by_hand = 3} +}) + +register_sign("steel", S("Steel Sign"), { + sounds = default.node_sound_metal_defaults(), + groups = {cracky = 2, attached_node = 1} +}) + +minetest.register_node("default:ladder_wood", { + description = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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 = S("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_node("default:glass", { + description = S("Glass"), + drawtype = "glasslike_framed_optional", + tiles = {"default_glass.png", "default_glass_detail.png"}, + use_texture_alpha = "clip", -- only needed for stairs API + paramtype = "light", + sunlight_propagates = true, + is_ground_content = false, + groups = {cracky = 3, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +minetest.register_node("default:obsidian_glass", { + description = S("Obsidian Glass"), + drawtype = "glasslike_framed_optional", + tiles = {"default_obsidian_glass.png", "default_obsidian_glass_detail.png"}, + use_texture_alpha = "clip", -- only needed for stairs API + paramtype = "light", + is_ground_content = false, + sunlight_propagates = true, + sounds = default.node_sound_glass_defaults(), + groups = {cracky = 3}, +}) + + +minetest.register_node("default:brick", { + description = S("Brick Block"), + paramtype2 = "facedir", + place_param2 = 0, + tiles = { + "default_brick.png^[transformFX", + "default_brick.png", + }, + is_ground_content = false, + groups = {cracky = 3}, + sounds = default.node_sound_stone_defaults(), +}) + + +minetest.register_node("default:meselamp", { + description = S("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, +}) + +default.register_mesepost("default:mese_post_light", { + description = S("Apple Wood Mese Post Light"), + texture = "default_fence_wood.png", + material = "default:wood", +}) + +default.register_mesepost("default:mese_post_light_acacia_wood", { + description = S("Acacia Wood Mese Post Light"), + texture = "default_fence_acacia_wood.png", + material = "default:acacia_wood", +}) + +default.register_mesepost("default:mese_post_light_junglewood", { + description = S("Jungle Wood Mese Post Light"), + texture = "default_fence_junglewood.png", + material = "default:junglewood", +}) + +default.register_mesepost("default:mese_post_light_pine_wood", { + description = S("Pine Wood Mese Post Light"), + texture = "default_fence_pine_wood.png", + material = "default:pine_wood", +}) + +default.register_mesepost("default:mese_post_light_aspen_wood", { + description = S("Aspen Wood Mese Post Light"), + texture = "default_fence_aspen_wood.png", + material = "default:aspen_wood", +}) + +-- +-- Misc +-- + +minetest.register_node("default:cloud", { + description = S("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, + }) +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, + }) +end + +default.register_leafdecay({ + trunks = {"default:pine_tree"}, + leaves = {"default:pine_needles"}, + radius = 3, +}) + +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/data/games/garage/mods/default/schematics/acacia_bush.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/acacia_tree.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/apple_log.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/apple_tree.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/apple_tree_from_sapling.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/aspen_log.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/aspen_tree.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/aspen_tree_from_sapling.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/blueberry_bush.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/bush.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/emergent_jungle_tree.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/jungle_tree.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/jungle_tree_from_sapling.mts b/data/games/garage/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/data/games/garage/mods/default/schematics/large_cactus.mts b/data/games/garage/mods/default/schematics/large_cactus.mts new file mode 100644 index 0000000000000000000000000000000000000000..755e2d8c508ad4f6d05bbe79139dab4d555123e6 GIT binary patch literal 87 zcmeYb3HD`RVPIuoXJDwHv#}mq#QW_ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/schematics/papyrus_on_dirt.mts b/data/games/garage/mods/default/schematics/papyrus_on_dirt.mts new file mode 100644 index 0000000000000000000000000000000000000000..1333a7c4279d94b4d9a124dba25138cb11ad5738 GIT binary patch literal 73 zcmeYb3HD`RVPIrnXJD+ax3{mauV-Ll;7LhMODxSPu}aA-Dq-M<@d^?PDvL^sE9N98 WFfh4E{Q19MjzvO&fx$$Nr5*t0uN9gA literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/schematics/papyrus_on_dry_dirt.mts b/data/games/garage/mods/default/schematics/papyrus_on_dry_dirt.mts new file mode 100644 index 0000000000000000000000000000000000000000..36265802444a73000daad6a51a4e17e619b12768 GIT binary patch literal 77 zcmeYb3HD`RVPIrnXJD+ax3{mauV-Ll5J*W)ODxSPu}Uebj8DldDq-Mf6A5r>)AI=bS+?H&|_q80ss&cBCr4e literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/schematics/pine_log.mts b/data/games/garage/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#EGJdo%)He2ywuc`oYZ0l zK@`!FqSVxiId20mavf0M2&w;LSDPHAdxn?$*5z{(x<9;AS!5Ei`qTP^dFAQTRsFus z^B3yjHm=R&T=LT`$FBQ$U+w2})&Ip0T)po0wqaLVke~m0_R{qVbB}0zSYz~Fnos}z NZ{=g0yB{cY0RW(*Ne}=4 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/schematics/snowy_pine_tree_from_sapling.mts b/data/games/garage/mods/default/schematics/snowy_pine_tree_from_sapling.mts new file mode 100644 index 0000000000000000000000000000000000000000..3d502a3e19867b81302809da506f65e2351bb0cc GIT binary patch literal 235 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_break_glass.2.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_chest_close.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_chest_open.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_cool_lava.1.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_dig_choppy.1.ogg b/data/games/garage/mods/default/sounds/default_dig_choppy.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..95fa6d4e72205939ba69303bd844116bd6bbfde8 GIT binary patch literal 12607 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_dig_choppy.2.ogg b/data/games/garage/mods/default/sounds/default_dig_choppy.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5d3a04443df5099a0e7cd1ba4ae8bdc2f3ebdec9 GIT binary patch literal 14134 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_dig_choppy.3.ogg b/data/games/garage/mods/default/sounds/default_dig_choppy.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2bb0aceb541306fcd03e09119f2a5468329abb9a GIT binary patch literal 13948 zcmb`ubzGFq_b|K|ln5vYNFyLDg1Ce<2q>|Xu5?RxcPk|=(hb4_OGqvqDgx5oCEYE# zz&_XFeSe?t`+MKd^ZfH(pW)h>IcLt9IXOGCD4CkR1>FGs^O(<)xM8ZRWRQF;S}Ye^ z2Lp3QOb6D>BFqN}^bB$H`m+X02{ZCP4`w75&>H<-uyaos{r`MMZvLgj4j`zT+nGI8 zaxkU0GB;4YrcWNo`|sE%5|XM|AY7maB2VAy*Z)Zc z1R@53^qIhfF($HLcx)D{dt$5%rq=o_Br!ImmBKI_()RC*p2z3`2y_eN$BGx3y&`MT zD_}~&66ugBV6MoYM~@Tw=C=UekE6$iHo29#mNva$X570Pw?TkpUdS*6lEN@AgO3bB z6u>K(+Tj;NUaA8=TYlyTe6C;g{_-pJ{f*Y)r{StRLDhHwRkP%hGuZ`F` zUXHy2tEvCI@UGWE56ndZ`=JrB1TKdBM{sVU13>EUvgkp6z%oJ7(WJ6vq+MmyJp)Wi z2kdW1cn7#&y;W9F0Ul=^H5cPC7w0h-Z;ix2tr~BQnn11bK%JAocN9VYlvD4y6HK{Y zIz1LBlTjdk5&Y#5<(CD4FE;~%if(|6Fe0JH`}_#}Ia@Z@#Nw-YN|jk*m33D+dsjKZ zH3|p|K*2nj=E=GLuVSJRZ~T8RFU)?ifnETzY`3Rww`Y0A}PF z{ZI3G0qE`BI7M692YT;FYy(n;T!t80rzpahOvo>A4sArF6cpkA8upL{?)2e$<@6v> z0P(dI|NFW&<-b;(^Es5QleMCotBW1;Dr)H!+$?P&mLz}xR?N-|SaAe$CEf9>fQ%&^ zIjZ>t9t(ql;eR~}P%6FACvohD*G>|Y=+Fty1H9tD6}QLKcaLV^ze?Xe^_%<5KpEiT zc*`xKqO79kVy%(jJXIa2GwwV$<~=tSp+_F{KMm_Yo&y4$Cg9p9V-3O~?Wz8X5_o?V z{IBQOleR}wcSJMEl`|;}viBVDC>`<)ki2@sqww~D&cFlbAu{8)&vk})jfYf>M_i02 zs*JU&y)~--ahShuGdJe^U!H?;kw*fNi!z^Y{cq37WQ|_Lpfe9#p=e%-Y`Y+G< z2BDS&ys4aB;qdPoMFs$YI=v$QZv}ur-#!t@UB{6(Fpd!z?+A=TMOozk>@fgzghyeB z2M}x=2=ovHT5AQQPW(ALUX!>9Ch%02N?G=Ji70AEULk zo4YzB($4%Yg%gy<4C+fV)Y2g#4s12p9iF|1unc`!L`m1e?LXUmTY? zFqR9KA?_3GCk4>#pbvXpS~&LM@$BK$wWSmE&3Pzx}e;w_ZJg&2kp z2LR?^B&imZqb(GIo8$=NTFnW7X##+F0Twtg0w*i>Gt3g6GYSBl`eoPYV_`6JMC`C8 zD>D)RFvpE*T0(M14G6AD73T~aSb(cWHH)s9=U|v)0J0p8iclPexL$EEFans1aW96{ zpg1c$XHZiXj(iQ3V}_4PfQyl%2J#3bB~%t5r74R*4r>+{BPoP%!GV}rRmN+ELf~YE ztnh2*aDX|o3d6io8D@?dVNu)$Fh>9jw1iZRT0}tFs117r;G~8Y;I?7SaE>Z!!y;bS z>y?uMvqAy@jy6Cf*R$dPM#vYpQbMmu0nA4=BZ`rfZ=t{fE#whED(yxhDI9?j7#>Ip zfK)q$B?pjxzhQyszXfo;Hv0ty(c=Tj8JnRkl^Yk_N)gaT52x@a2Dc_U5!yKrYw!&;7Xo3JfZ`1(LV{q6mmJ=oVO|2Xqkd2^KD} zN*w@$g%ZO;A*-qWuc6R5m^@?!(`SKzK_P9|eF)=lOdl~o840BRRDWU#Fc>)sjCBII z!QtbAz*vAKAa6~89)Jgjj~Z-V<1xdBHNzMJU{G0Rc)URv1gHUcv6^9!cx4zA0pNv| zwZWi3+#3b@+L8gjfWpGd+BDxnG2#OHG%bM*5Dp=*Ws&Nam5O^cZuTP(C-d55NdZX_ z7!W{$QXPr8aHAawByboU07J+zf=QS&z~!Mb%sFHNfStj(z*+Fuu*b|f%9_CTXA2PT z);9@O9wTPZCmbMq<&XlKnxI%f3~khsP(aFt;ebs8eXFrBV9AM&z>6Bl7r?#;kRG*R zHy|#@NI(`qUpoe{nriqro8W;!Y<58MEq!C;_#rwIaL*ec1dt^l&}+F;22udnxNsgB z$OkR|}h1p)$x$0}>G!2x7I zRH}dFYEcXV?cKrwW!|7tmF5Ri-eJF9BNpfz;LGCJ42GDUQ2_7)=1GB>=d&yVQp)oC zAQ@m+MgXiI2k@?I+k(o1F;;=G6pX21l>blD5||67Ng;F%wS)xyZ5k3_CT4~xs4-(x9Tfrde}5D7!Y|@c3Q72_2beYD0;&#w zcWwTkpxLq40*+Iqgs1x7$5=EFpqSx+<#SYZ3xL6Kz*0C|?gLH0NQ=sV$YqH@k{L$O z0MRUzqm9yW8xRe!9>6|m2~5)n8EBuW z|KI%oWC6wplhC+*5$qd7j{9!OQAc6w%aFkF2%7G-)3M*UDw8Y8E0U{{Iz`i#6 ze}Y;TFH;zn3an0wvx1T12I0J8nx2G+N`L_JSlhBk;3E*>A)}OzJ-jE=ascII%dfmR z8IHuc@NtU>-qlo3V!_j4&4}6+TBm;TRaz%#F^~m&MQ|9r_G*#pmOZ?yv;IVaxN{bT zfMHwiikzhT+du$I?*EQK5wD@J>=QVl4j>dfr6mCUim(H{(0=y$lVDfr;72N@Z^Z9` z_<|4m2qd&{AOHpY)rmpqUswMxX9m6`Jmv>B;OgJMb`KUrEaWO4d?C7#(SI)`njrxO zi6Ie>8h#xXrys0p=TGi;ozQ@9Im90Ui8w|Q$Br6o*D6B=EXr1689t;|rpk2?h%0JZ zav1$$Wr0+Yas`l9PHL_L;oP9G%qbiqi)f99t^)ga&<7Cc<~=SFT+$cs-xGlNU&wsA z0m8pSK-2Q-#fzs5+21nlEa&P*z-VX8t{puf=sju;S zdQ-c1`SAzJ1I`s=IJbwQ9AePy^0IJl?x5^tBKA7*-zX2&sfF6BGN?KgoI|bq0 zd&mHW2#CwR0m3ox(1T8aAgJp1(adCpUr<=|g~UrK8K}JCYnbwX&Jz6m{H}3d0B=9P zzo!K+?q7F-FsB6=#L(BJOmvPej_%IZj!t$)rbY((?~H71Y^@yZ?a}B`2M08|tf6No zKM6bVX#eceTROOrapn#CuIPMi-rKnek$JAZ!%JJ`*5&PLPtVJgBThP^#kyX) z^c?dgQBHR{T*aktBo~k7rO*ScaT_ez7bf7N<=pd!g#^bcTy@`cCYV?B!HeLgmWMUE zC@QL`MbDd{txJ<%;2+e3I4Dk!x<%pM^P#>;&!XQe7Gn6j4a-x-oV&R3)S;7}B%S2Z6jaarUepiz>=A&faNejX?0w7MBazp^Q%sr1_w6 z&5gW=V(9%-wywpUjjr{X_H74rozBM5Y|8d9gw{Gf(NMl};Fv_=Yfx=}$a(eJ{4CR3 zyej+bQEaLnr3X$ELg-7SE%aK}fw}9VPZ4%7gd{iuREckzuRS;&Ylhx-^xfI{vv$;W z*)_c$ht|E)B|2KR%qhtTk=Xy;HROEh`oVVRLa1u2KDVo2cRbC|;h-$~+2>Pxw77pa zk9m3Lw2X_B#uCD7>*;gk!lNo8!okpx?a1;RS^~Re>6I=H(*^6sna6Hp+UO7hV6Ddl zs|h5ovmf7G4g?Rj(AY%DEcc{vU$zlBiyU=CRyW7~v}~S=oN1A(T4gQL>#}SB`*ws< z+jMXHJUe{GG_klB9Y?1ASQ#>YFH`tth4k2Yu^D;3o~vxH6y;EUDWpN=tb_fF?Bk_M z4mQ2JGeXZvfMcx6Pq_abu zsua@XKbNFO1t+9goxoP2ZVu7R<4$R1->Mcb?2Nm#(Vi*eue^FDPzra=rEe1B+~aFD zv9@PBp%K<>#BEYNx(Aqf?9OuotXE~r<6>v^SKTv}=;io~4tp%@MZleNsq-GL1-HxzttY?g! zkGLI9-TQ3G;hOuvp3+Cs%fMJlwQHiHPCep>MZHMdQExWmb08813_f1d;|_6*yK-^b zk3DOsFA;0fTb=XKMWFWiIIaJvWwa|$?36xnzfwrhL2iaX`YQyrMu{Sq9S{^?LYwFSX~ThZf_%9KSgd&qqbG6WYvsEKKU|cQUeD(XG-)Xk|E;Z#f>YK@}H;Gv7jEg5pxwW+GcZY#5(*#B0kWo2MR zbvkt0N2|tSGwMtT<)}0XTGvLk>auT4H5SuF@ikRUZM_e^Gyb|*Vv5Xd&+G4D;pZiF0B^P(WNwKaRj&9{f#R6 z9{blJN49%QhwAf@nNfDqpH4SKsTwLTl}yt*ZhFKmWO7V$|1sTW0z@bL<54X4)?j?S zg=^l~!CE+&VJ5@Z!Tr+)^{iH$2ij@8sOgxpCAA~O#%F+ixw>@kC)ZW=n@ycp4WYq% zQe>`8+=f~)j+&?~MWH)o#ct;Dass=t8q>ZPt%T@DrIx}4eYZi{KPdmO7zyU1s(lQP zoWnGmXa(zVbv!SbR{I!N%nk}INoEQD{19}pDvM@DO-bvBue_oz(gZz5L+W zYz@BT3B|gcl%{j5tQ_75xzW3C=*c~GU44~%kXQ;JgbP;*E`JM6YqId2}jsg*2nHzoZ_&z`n)-l>uo ztx|kz+Hls(!}MT4L+3|}_{3dGf^0_`2#{vKe)%Q;!s**&^EO^#@7QXcJ8IG;!bPmB zU}ZW-xSDZQ@Xr3$R}t$mHTPMYZR1@^({ct! zVWB@yVooS`gIhF@rk4~t`&X(_QuPF$OJ-xOjd)fUc-s+(nUU0y&7X8RQ5lCJO7f@#mm#2S;Pcb7tMU!q1eCe$-cZG_Ps9jzuYOCYO`N zaHn}sQN%5xm8dDgSK?mg)lWY4sjqip9US8_(qsWoE&QA*v@d#~;*vK_=J~;=D5vUM z@$sp>Sly3m4VSO_WoIx~5yQFIbgPHAZj}?4v-ysRXl1TcMP! zp9%Yr<_MCjs#l7c30$R*?xW<{MHa65Az&5DJD_32>qm?v2x_)ix-0GBhk7 zX(||SUKTlpD6Oa*?o~b9TYOityh*vteq~Yr8_k*1vu+ZA1u8JF@Fz6W@8Qy3osP)R4kHV7|dtC(=eXGzf0rUs)I2x*6*}ZgC z?>iIYTPBhNT{2sC-4Z3wv5BCvO+5Ir1sQA>>Rvb7Jzcd)3|0tz*VS~< zAS}nK++2ry%&0SVIlw9^$>=X9*ED~%e42N7I=c;=F;_KTQ?3E6cn;0QI+TX#Y1889 z{K&!CwyOgHCG+Gxfz|m%(oP?3tD)}E+A7=f=N0q$Rw>ZdZ>+E0z9V4GeWIpRuSFka zeMzL!ZxIOs4a3cLEXm)uVt27{6rEp;#&D)pvmEXrJu+y$7V?4{oJY1JdM+n~m7HvO zRKjPTdSCJHB6oQuZeH2qG;N$;-8|8VuL$K9M)Xu=2%X?WUnS}NVvMW1!MB&!KUx&i zcfyx#8gUV)-nuY&yOO323v_VXANNDP|Ks2E_RYE3N`WGY$7hMuz2{fKEY^mIu@n{6 zE$K^-)O0~Xku<073+3|$UpwFA-0G&Q5jHioiT%_HfsMnTGd?Bm5WUGi0@Z>G?%@MF zFc&Xr^m^Bjd8Jak$APqnlCV><$HvTBQhLU*p@{WiC{jRM{y*nO?fws$TMpPU^P ziNyXmxNxvVtMlEp(9zlLbkoEh3sx_oa*Ipy5s_25wP7nZfH%;>QTtYGqxx}_+zw7; zm}iI8isn&o#{lmB8~(y)TTf^=_0aSqiZlqHJB(o?YV|&Y0%$nWqN=ezhKA0(O|x)#w{8A>agOGJf`mbI zpeZut4BLj$sVC1h58}E6{t+5j+T{6i`#fFUTDMyIyP8J$U||+;P}q$~4HlAe@ITu@ zqe`35rNiEv3iX{Aa+mWWRmyEBPQES^moe#cdl!`U6WhDJn;s1$!Kk$}=BwdAa;ou~SYsWX~O>_O{quM7#{edn}B&X+=$`d^w{ zIE`&>40XD94hx&syUc4s+=NV;+ERxEh2BoBWYl}E4-fl{`L?yp2t_97oOlfvz**k3 z%c-Va_Ga5yiR|#4kRNuvExtEkc`v)=XW@Jg{%xVrTQhZ4K7CPQO(Qx~9pky&nwQh5 zcqO0XiGr*Tza%s&4;c?l@(fAV5Qem92lYs9Bo|gWS8s;U7gQBH5%zLO<7#e(?J(q| z`01I*No-c(WNiB6jAarrHJ)WE#hXTU-xT?>Zocxpf|Uw;N{X*>y2cEiW-f5UHr`^LUjqvcywu)sOCZF_5;+gRm*0yeCM4 z?~S21MkXgF8K%8iu%6)TvxR!tnyNke7+4=KLs1lYlvkWn5hBy8D3UfzB6Nd?K`@^* z$D_F^?D-wr0^&%J2*b?dMdgiWdVOuQolizk%=Ha?A2@DF_3e-?Hv6&P04aYtDPpz+ z4x2PB@puNafZZnM`R9iRY=2vrqXf)P63Swk&SPR~FTis4}zX z^MuYixsVb9ouLivMJ9zhwLorq0!$##Po&ewcZqfQ9x%T#v}dMzxkYo$aD~r==U|De7*S5It5So;U`)Bo zxUT57N2Dt}eb(C=#(T~?=C~kXJs3hBoVk2M&#QohJJutk+q%@#v2oOtqff-_u52AE zqJO>&pIec)wf$)uuEY;sL~!~mr6mp7ujC-FV&RvP9Qcvz8NIW*`NFH!t4Cs9siB3Q zIJ0xpUvlO9amfAcl7BA-#P@xv7PHz)w1>Nu%qjro0C(_HGaCUU@@##U_#`fedVvtiA^zIW*m4#dHmVKSq4wmcF z_BluM)Pj#k4klz~Z0O_(COT=Fw<@ZO_(zLH?JGkZNru>G!(aB-YArw7X?o~8SGe=h zBk%r6OZvv9t) zZ&XnSr(rTDlVwNibXn0mrYCfl$n}O894)Pu((M8NF@Dvx@}N<%v%$Kcuk+9AUQ?fL zo{X2jJTiZ@@;Z#DSGNCn{|_g32y6y>^bal4?5Xp0hwo zi=xr0p0fy|VDAeugI|w)xw`OGAX8)E^IRqChvi5&duv-h@jqAr~q zi9sbNGr^1X1sM~@t##I4VQ28|2@~%rN=NrOraieS9h4z>wE~ZPF_lDCCK6sN(_Q8@ zJB|ug0jKRI{nAy|lRQngaK(vFAgNBw%l~;->y^K!pw?H^u$Q0nH<4Gs^@#^^fgP*z zHpuI)DGnc}!x>Mr_deno^&g+BcgwaO2Ziu4qA~mFM(1CL<3hX5B27+fsNts3!ZT(r z#|j}g8HF=1l<-)(z1^kPMPb{*w*w#VwLJK+(}|BS9jZ0>a&^0xgd}PZLZ<}{d`y#a z)uk9; zy)~QD?vz3DjJMy7801V~N7?hQHND}8Uk;T^B4IIIJJ~g;_1{hul&hDI^VdhIbHxTb z&pv%?5U4MjcYE2+%bRC$@4a$Sv8Tv~#o=l1x(T9uu!5$4DVz8fZDY%X5U+UVO~1b5Z=3f&)i@XY>svb~Bf)u)P>{`*2NSIB+WwWj2ggGAL!$oryo^J}?LI}M6(p=RQY zX?C-K8)|34WsP)0y3EsM*ct+s1bPcHmDmDC532A#WcLl=n?J;n5IJJVZW363kB%RD z!cmP*D0$JRXYM@`-FdkcPi6n)Oly;^>0l8thfrJIJJBCs_C2a?yi=PcSwi^KkSkg~a3J9?K%8EPhk%DQp z`hH=>oXBL#+?Gd^^Pq~i?}V?LY+sj`>(|}fM)mGH?E@moF1`$PZr@a1F^D;{`Mwx z$YeD;{&CRVJHDLUnqqPs6&(ute?q$O=3DhsmCYF4XWTx2vRDf*Yxy%^)QR;$l*cMf zmQkz$#k-qX^0JbvC2Z6XY8xlnC(;j^(-N#z!>-7}*#wCf0q?e{Kddi)1 zUR~Cmi`e${r!9 zeb;5c;JGfRtd>?ypRoK4JnS=T-LbTscD1nCMakHhKFl}O=D@XY=UWS|kgO$52uaZy z$9p#w=E)r=Kf!{}1BM4f?+L>CA5Sc|KdN<^lI(tz&na9zwxM~M^_JtgaH9QaX~*J5 z+p)mtoXXX5XxQ@!?^>MmqlwH$pdTDd{>3FF%6=8VdZoy*anan*_aW z1K8kQc^XXWp>fq7dx9eFr|H^VG(lL9wsXGTj^d7t}k7z-Ly*6ENS#jM?%%P*>- zC5p8hgH;woB%l}6AlC*-icGV=yO5t*qzOXb{(PcAouZo@o5`~4ck8CL8Jo4v4oafk zWaJw(wizw!%9wh8`%o%Hq>`hReUyWyUQQ!E^HSca20V0u^6p}$N9*3qFo;e(zuN?L8&8do1f8Ev=-ho*>Yha|0 zX1{Bt)c$I5++f%1s=umrqsZk~%1#*NFuux(T%zFMSs}`RV{%k(c+AJx_6^DMtC3x= z-Alzzv|h^Qp=wHjP@Kg}!e@Zsii(M!Zr*ys$k~JCgRFN#?d~Qd(DoTZ$I`qrGPb^i zp`MrYtGpH3o)?alN31J*))`gKr1ZQfcBZ1re^2;4NVZ%qW-qfg{NQqS!|t#kXPs## z<8gh`6Wgu=<GP9WFP1Hbe(b>DHP{i zPlp3*LckkgVczOGrnJZTUb9!x!HQ(N+D9ha!wc{s^JF19LZ@;`8naPPV>REc+NgIH zhr{fBj;b*l}<#uONw`*ftny!c_qIZ~`IVXf%3pq^f%GZAR>yx;07~xHGSV}|w z0h>jaHT59Jla8rQO1^e`tzV>sXYrnj#4M>WTV-b_4tpfu;1 z91;}9wKBfQVJhUXLd)3qHfrB3;b~Em`#HW?vxKqELhc8#XFtNuk zzl`Ab>7p82w-j=!B*^HoIQl~4tH|+jPh!l->C=;2s^8yTL4(*z*G!WJ@5L6Vg;@4X z1efL18wbvv+jvbs))D!cKnQzmKNoM-`L39a1ghPALf0Ge0_r;>A_Rzn<3D;TO2R~I zc(6NTi_|;!&v{hOi)+nOnmLp|T>Ng@dR^>=KCL`5ZnrX^fk1R0L%s%0cWsvZq%7qN zDHHxh1cJ>{sPz?eUeEy>PmuZv3+7T(I}1v{U{m3aS34aQDMUn=yHSA5NE2Iu@QKowY%IzAmG95w1hZAM6m4>iBZk?#U1josJO)O zsGf*}ak0W#_nNnZ)$|WQxgd}eoE2LcZV079y%9S*XPgpfo-RqAy{tT6Jm@sk=GS%b zU6gOPs;R(xN;}9Un9x`4+IiXnl`m^a|1eMz=5m5y6J`^D%PM)D^P9q=KQ8hO>20e*R`0ey*`*;rtm59A+~~-@?-|}9am(}g{lO;PDi1zL z-Ug78auzG8x(*wd2(?hQA(3l7tB?>jSvYB}sdW-8BBxc?c)PogPMfNsC;QOIB0{Bz z&nQ3+LPyia{;CVO>+Xq^P<*M6_)4r9)!Z4^<%E4Q2w?$%{DBMaJv#T}fk^}(x&iAY zf|Zni4L1gL-ecOD&DH$Hjece|a*A_uvQLiM3Yl)r&hx&dkcFuDm6{ZHQn6T8RQH$e z+EqfgCfdPW{M)-4eaZ!$CbZhmd?QE6cvP%;lp6?*ZuoQSCF+8{wQ>SFcS3+}+#;vJ zf|#!=(lNG7o4a1ToT|^ZW|^R&6&3R`7+u<|?yaC-sL?T8`r%)#>wMR?K1rU(ia3Lu z<5JeD$*9nymwYiU)Z%_hoziSypZ?MNNQL6t56`bgLoMT7L4Lh}sKODr93=NiU`|A0 z8z-nCc)g-n_-1lxrDekyympj*q*Bf2&FYe!Yrnd*OOJCSD{j#N)v~>gI!g8(*vSOft5kg1`Fs_dmPeZp>K=foi)etWAGjYbyM`d4ZqOClcSNji z+qb&DajeVmWN3Fa!T)g3z^C{ymdU*#xA>{e)Cme4Nc*%lvA4mrE{acYR^=pvlx0R# zAaWO*9%swUb+1oG`N4+cZNz5t(HlzF;8nwAq#g|(OG35!H&2UK~wIH_iJ12P;PzKtKM#}KxD77 zndW>?T5Ojr_;QQec4u`viSO(=AWA#1m;W!L}(%5VDJxLVp3y+eejhKCGc(sj`*fRcxS+iBvv%9fb23=G-b9y2Q6%6wl zC(8puN7A`ZdT4Bk7VD)x%t)ftN%m;N&sX=6^iSrR{|u@we6bk*$SP$GCfTi9=D!#! zVR7W=?2&rLu_v7NU8m*}lotCg(GbL4G z1Kn6Fm=bH&9FcEA{h5&caKkDqC-@cD6Z$^qF(tmh$ihOj^M$#(7*$y#%FU{ZSyVvRef1IH zjYn_trmUa0AnvjWhV4_pPPXe(J`mP1o@8Rrpjr++xv}H64SU|u5xkVuD13w)X}or4 z5m})J{3sR_p2ZXhHvSMfIPz65XGyTA?n-O4m+mA_RA6w8LhqT?To6UZR7A!v|wIj(MsdV?dwi~SCCvqIRuDt0UIu(GXA>- zA0%dv4(*3Dj+T$S$Xsnz+gLJ=ICRnF!hD{AhwcMO;E>4;MH-~}%2+FNF;#tGv?JK! zL0)LU&@4Mt+paovrH4I<+$_8JH>Fa}Al5B^(aa=8QA*N|2OYw&k6&sxdvQ3P0ldNy zn$e&69?Ld3Rc17o(Y-ky*xWqMweq-f+F#!kED5v`rkvtCMrvm5550O^GohW{(Kcu! z44tohZ1IB8PID64xjcaTn#zKV6AO?{EF)})hRXTr|yL#RH@dw1U2FJepPmG+Hk zyN~;LUIGEIICaebeI92JQ%z{vb+k<~lnnKH~E}VWC;JYLn;|IS-=~ zz;#qLb2zy};7bA+GvWiG42*nfVmJMC9lbxZe75`oJv4K9F{&!67qR)OQE1QRq-NeI z{LW3E4i>G?9+Y`{Iok+@aPB2*E38_RfkZ7H+LKSzU(TnrPx4#8P0r|E4K7^n TyTwlXzM_#$kvX=G7WBUWbFzTU literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_dig_cracky.1.ogg b/data/games/garage/mods/default/sounds/default_dig_cracky.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ffced27a6f0fa26a0f97d871969acc2d074077f6 GIT binary patch literal 7002 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 B?KuDd literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_dig_cracky.2.ogg b/data/games/garage/mods/default/sounds/default_dig_cracky.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d9e801039355664e085b83d163bdecc44fdcbf87 GIT binary patch literal 7466 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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/data/games/garage/mods/default/sounds/default_dig_metal.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_dig_oddly_breakable_by_hand.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_dirt_footstep.1.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_dirt_footstep.2.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_dug_metal.1.ogg b/data/games/garage/mods/default/sounds/default_dug_metal.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5d6cb5b1e715b5411f3c99e2524b9ab7b1f2eaeb GIT binary patch literal 7076 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 PWR8bq-Z`Fg*}(q*XiHWL literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_dug_metal.2.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_dug_node.2.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_furnace_active.ogg b/data/games/garage/mods/default/sounds/default_furnace_active.ogg new file mode 100644 index 0000000000000000000000000000000000000000..536edc24cc330a728d5ef0fc9106bc19d4a502ec GIT binary patch literal 324071 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 z
    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 TZcJ8K@MDh|{5?JE=s^Dq%ZWX$ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_gravel_dig.2.ogg b/data/games/garage/mods/default/sounds/default_gravel_dig.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e0c0c50f957b7ae6d1ef848232aa3b78e9eb2a21 GIT binary patch literal 14853 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_gravel_dug.1.ogg b/data/games/garage/mods/default/sounds/default_gravel_dug.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..130343355959c7a0f3944c1f6b872b89b35fa0bc GIT binary patch literal 15967 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_gravel_dug.2.ogg b/data/games/garage/mods/default/sounds/default_gravel_dug.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ee5ed3309d6bfa1c48477ae71850ed53cedc1e99 GIT binary patch literal 15203 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 Bzp(%S literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_gravel_footstep.1.ogg b/data/games/garage/mods/default/sounds/default_gravel_footstep.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8d260ce01f4ce05786ce41c994c9db116b310ef2 GIT binary patch literal 7326 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 YFRzZzCaO)&NRS0q7B`w+2-?8@A2MjEo&W#< literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_gravel_footstep.2.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_gravel_footstep.3.ogg b/data/games/garage/mods/default/sounds/default_gravel_footstep.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1bcd8a117c160a239793c3c8a9ec5c6d4efe65c5 GIT binary patch literal 8086 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 Q6<>30Hp~bVt@i`}5AbL#`2YX_ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_gravel_footstep.4.ogg b/data/games/garage/mods/default/sounds/default_gravel_footstep.4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..696c9ffd2d4493661cab39edc4e60d5cc271a086 GIT binary patch literal 9017 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 SoT7ZRTm^%`yLqP5oBs>Wwr;%u literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_hard_footstep.2.ogg b/data/games/garage/mods/default/sounds/default_hard_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..be52a8701138ee13f9da1e10f4ad47c9844bc242 GIT binary patch literal 14060 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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/data/games/garage/mods/default/sounds/default_sand_footstep.1.ogg b/data/games/garage/mods/default/sounds/default_sand_footstep.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b92feabbb2623e302568495cabf5d66183f47afc GIT binary patch literal 13024 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_snow_footstep.1.ogg b/data/games/garage/mods/default/sounds/default_snow_footstep.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..97cc8252e99a8cf2a30a4e1602a04ab5b8d82d8c GIT binary patch literal 7159 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 F{SPl&Po@9> literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_snow_footstep.2.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_snow_footstep.4.ogg b/data/games/garage/mods/default/sounds/default_snow_footstep.4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8ca6a590da2645c62a26c46b24515ab8b20baf47 GIT binary patch literal 6795 zcmai12|Scv_kToo8Vp8Fnz6)KVuXzHOLl|GFv28dNeqfXs}e)@#E`Y$ScdE+OGul> zzAuB&LP)l^q`my_jNkTu|NqbX-p`#o_qpfZbM86kd(Ly7Ltb8X&?e}Q#@qABl|4N_ zsEFp0@~_4|$);qlX^>$1*8f*)=iXqX2I!97 zXHM-p6zGNW^>%aMut!;N%IDK*7VH^QGbWuD!$i2pV_W_lP}&}n5X1w8DGMa#&szHQ z;Jgq@iGg&S_d&fP6kn|EE1ba7wVm$%h1G>*{~nAYzlhUj2pGoD0v!n_um`tjbQA&% z*N}m2=%VaEL6zI|a6zp$RD`wGd_l@V{rTJZiTdx9tNVnvnSoxaD1V=UrrXzrvvpYPJ$O z{ku)=>}`mk1-l#x@f-;W9tjC`N{=Mn4|Td9Ng9oG`5buy5%ov^68iEpyK_`WaY1x> zT-r1yPi|}86fTdO8dbIl@?e_;C6FwKNzS({Jn2*6omG3PwAQb)O0Ba>n6m}q0$bRP z?wwiqfBH$MG|&Iu4NtYHK!(7UtpUi^00mQmLTjKJAIHLN5b&uXL5&%xZBEf{rR)RU zJjkS-X5IbKddr_qV7ncH46#UN0J0regP=YbsB?s3Fha2z0j6ME$>F7cl$kk-gk4z+U@z_!t7eoft*5=t6XgY|wSl6gsvIQy`m=XofG2I82aHVg!YAG)F-Y6~;mFp92TV8z?SFj#cSU zzSpJIsm314ntSvY?li-Ug|Ps|YB~VL2{p5~C>1yhGNXp&tjeGf@EFEML;$ZG*nJZ(%j;)t=SO=jRZCv{Ac6@z*}!1+ixgXRVmmEsC9qP zKD4UcFJWq{ZDS|t(k~f2DCKFV>oTb0IY{&z4)GkT^(57WI@SIWFdJd>awPa4k;4uV zIb7njMKaIdkwaHboYG5_w@g-WO5S-s%_}CeIOEoQah~A6Mb4?%qV(9J=-9dFMCF(? z@0iSz`aIu`iiL*%+W(3i^FRgALFAYQD*PjI9%GTlAeySwY*sgPH0TEg4KkJfrvo79 zagwkVCy&??)Q1T=!vuAry}^Hu7(gA?wi(n0hE0Va83>XGPNu?Q1CxyW4IKHgvkIGY zalE9PxMtziR|I8A6YGcs#XX5Ak*9@6Eob!jLE7ViY#}HN z+lGCH2<)+JrgF_G> z_zC6qB}sA_!Xd~_m>`IWq!D^Bvq^*w>4QvLV(g+DO>ge6%M@m=Yz4gK0Lz8oyp`&oO)Aq!e+u)^l9y@{zRQm%DA8z#|J# zgGbUrU0HrE>3^`Yfpb{t5=UxvY=ellL{BGsqEm>c(`VulR;U%A+S!ar5{b3Mu{A$p zTIlN_qRSD_vCl*&smr91$k(4jUnAI@M}~s|^#sfFL|yPpW$#RHpS;^8naU+4#U-_V zB^BkQytgHJB^^~>B^6~IRh6X`z6*d_al52St)xV)w5sfTiP}Q#?UIJ_j;cFZ6{QQc zD?-g`3k_#VDk@5=7TMH>@`aXwg$B(_g_zF5(svET4GsPa4FO%Xe#rcicMnxMpWf-H zT3Kk&s18Qk5`!mcF4ISV9)7N8Z;?JnR{8CHRQ|mKFc|oP>phLE2gmODZv$&BtE&4? z=p{0|GQmwt%CkyJ7pnYKo68oAY>A;Rsh%(QxHw7szuc2Z8cE12dDo!Q`49-gPPCjx zHfkbW#&rQ9r>a~i)V=MqKreZ`CE&aM^rztbN@0Q4>i`>EY-~t$80Ml?H-+hOLA>ZW zxE)M|i3)-d-k}QYvAk%?K|B*lJB;^1(}q-9Q1*$IZP_W}_){3#0D&);aTrg|rLhR) zyM;q;OQ-@Vytg`Sz}cs`Wym>R%pImRSK!fODZr>^69B6@dV#1Bo>2g|!mB%U0U+lO z9Iz-Z5Vx}|t^uqV1yWXcY%QGRk7Xgji2`wwC8h;#=cnG1Dc^zutlHVaIWlI_X@FHm zL^2*?&hQ3!g4ET3s;KL=$=}yElbdE~gTn=m#C6=biaB1W~wD-~Y_7A+43P+%~-oPElxM-BPQBUxHjiU0~H%b%q? zt3uEsxX>aek0?S(e2^g`AIQad!Q8rVZ;{#{Ga{*?DlOR&qDK6Z;2Pjv)rA8C%m@%b zy_XvS1_o__O(5XsQD62DW25un9EhMHGOBuTBUIz^cXB7+=nGBv+srEVnY95dh+v*-SDX5Xjy2 z5Hzuw54yv>%~V$jA)un|!BHX%1G7r{&)5M zpJpU-Ie^?h2gvY|ARn~Ox6Q#^53^NBjjbb06cl>R>EOn^+o@5Qw*^$-o?K%*PFWG4 z1cL$a0TE4e#%E9n1QkU_8as6iIpfs)V55NJfRQQ=N;w+fys<_T2QoP29gV<7Brpw|z=0}f zCV*y}i?bQMah6>R0*G?6v#|VIh5QaVU+vdVxeuRe!$V=h5EL-#vw&f>p_tj!G%IRS zAk1x-7$FvCe%I4NhKU%aVHt2c0{LyWTfFU|9Ctjnxs2w3SH2NG5Li|d(gi*#QT&i5 z488lRAr~Cc1_V)gFcAID<38+B9-cSiT7trYtyIc@H#Y>Mwh7;eb`%zuD7l*FrVlwD zJ>JF_CY+E^9Vhfw>+xoniC`2J#e0|rA|(9JO^F=3|3pCFlp)Ib0)7QSvJjLk zf|8TV#3hPe-;xBoA(kwjB0&T2g`hiJVOyXuh0W2?(I*r0o2R)IOgyLs&))DTa>(p~ zpMT?1g@-fed?EAHVK>O^FJ!iueTw+WExR;Edb;{L$9wyF#)n3F?6tUgVOTW%iqM_3 z@n#%3Tk~K=_>MmNImyuJ%;MfvW8P~iQlMqrR=G3zU3c=bHN`3J24PkpC zja%lJ@aYlf*B3A9$|-b|I_|%|vUE) z@q=>h2W)o}(#$8nTYmnWL~*pKJgZc9>_`17 zf4$w6pY9tr@_4zT!FrjmAvmpVe`Ht29UG6O7oIv38c`zahmN)W5Gx89PN2?eRXi z%pD($P(Ls+$e7fuMbYU`A={m?S(CF4@#Ynk7d%p6*oh@^X2A<|kO8PkEl{yDl%ZQ1*w6GoAe){y& zK|A!I;Q1A*pN-c8)bBHh%atVT(zD38)}KL^NsiU%%^rQg<{zxSdcNhe4q<5h}tP?P0Qk;Wb)-)|w?e%->=Z`v&W>z$fdIDD^2 z(c>@A)pHL)<*wc{>PMz*k(Ljd+}1CB=fmJf=Z6#}vi;ZK}q8z%+Nw>6p z>{RK}u;H5Jh@mOFur}F;RafzsFLXReJyX5wP>I}7lPi5;b|KhmnI85iedlybv!Xp~ z{$_SkJzRDxx3@<^nd+qYsF~FpikZ%3_gbN3z3-z@yH)dFkz5+@-1;!#89D0wNZh!r z@aV(6qfd)k?vCHE95io!bfx$Rvy7+MlKk7{XQ_zL(`}65%3ivwnk97EYI}lk>|>}I zBQhupJ6PI%Q}VJ?%ix)S*%#%#D?OL}@fVkRi*>Kyr;F%r&0Y5I?rU5x`OW-C6%O?= zu`ca6rSZK9SLn){mCxkEyQSgu=$rG=bDrze5qU}1CqYp@+HMBkH03KGl}gvDz*l8< z34fe?rB!XOay@6WV)feO?F(`G7G`42_-~8)r|&8B{Xosv93(aR={3EtO8HsQCi%wA ze~+l$+wo7Y!ZUhJtG}CgeL8olAUd^A2Cj)dk9#HUGVmd+?e+SK_EvtHG4vbRk6>bm zfL57$^CXMoA8U$Z)y(AvOIMCPIOjL$ZYlUhxkkO)<`pPXYSdv_hckOw-=}cAHZMa*GWO+wvt)?D;S}; z?)n!^&3pp-3zNe8_G`vDJPe#+-u@jMd~8rCDLGbHX{W*u6ssn|u#kYRvvH|?*E4T= zAr0{mR%sxTYM1h)Epx|t%>*iMYJEtksA%l~JO?H}KD}HRcN1&TtibicCn1dM2Xv>` zXGR?fwO||k#cSI47QUC)crg7(az6vVeL-%5Pz5qxP^`6iZPWu@zfGKAxZ+?PA1yOybO(|O@3*M3*E zH$3~`ilF&y#Z*nxQp56_O8xq;Cqu+4hEAng<1r%62c`RF3*^psM>ojV`aBGw#9Xi( zBz=HJq08ezqFj{lcrm1L0e_eXy-?ChNb5vP=dVSkd1AS&EYJTbMH=tk(I`u! zy$npbavEE`t@Cl-v9Y$~90wDfwHI=S4Cqg$f?y--D56gBZ18ssghFT z<=Oj4PsdFu-|c}F-Jy& z8)r@wWkKg2Uho^ewv!G`gu|2{JH9SZQ1LM(`1YUzE)ABZ#MS@I;JaKf@sRP-t0vap zz%P5gX>^@2rCW6HdA78Jk#yXgytFuL=X1l?9;SxMhn`4H8P4zSR$-0(XlmmX+F7kl z=3QG$vd8V+LFOy$A2<1Nb1eQvhLB+(`GQKtivxXDmhDM>7f26-rDV9wn5$MA8YX;d zUAO2cG1JDXbGx@xdQ7VyJ#S#Mt5$LwqLI({BWssmyU>Xk_ez`C9eOSrjW4?kOviGn z$U?Ix-5A+ivZ^`QgwnoUf(Vy+)6VDI_G^(x*HRa~TUMLX*5;qqMC_;w4Q^QP>(1FP zozlO0?952W;MMsF6~~BipRHF!&)SY(*SHFMiP$@lomSVT!skqvhcWCo^TD1B*F{}5 z@Tsy*_*cqxoe#a4mM->|w<4G7+l#ffjI60P)?oq&RrF8(S&T3Hwcb2$yt(w!YccIY zS9+=bFrSSyx=e?qeYgEQ_3m%NExrHRtjE}MQ{bK(>}JCa3beY|XFRPxcAt5+ufwOI zAz9n`{B_l{xefiP_qIHOX$cl3NRQ}~# zvv=(}W&M5c6EF8~LpfJ}NRb`2J->bTlfSY0wp4Wcz^S6neRBE*G9Ifx(uB=N$4FZe z8#*4!7#=;g`mOepczAzD`ruH`!8$&VwMa8ED`8;rwQ0uH2n!kirH@T!{cYoBH=s!Q z@H&&-zJi%2)y}*4seKvz`n9es4cB^UcBbpt2~$t4t=zZ2@7mS3*e@fWZ(iN6d=q{Y z9vb`;`Zd>jGg>fy@_9*^$%~tt0vmrA+)GGo8}+E%^GiP`C(%CdwV|v_(-zMPha#>N zx{te~!=fZp`cw1R%Ez~3H&oYueIELCy!Y()rRV*tm-t9>^%fP$lEO*SdfsLU$MP!_ z8q;3qw|#H@UGhQLj*&}cA+OiE7$T7^UD?-vT2;-ZWNA12u03qq) z-WBgrxP*Y~ok|FssxqTlQ*ZlY-{~OS$X>h7E=iW{n?CPYL>o=#VC#%zyFMKc1_oQ8^i2S~#$bnq?wd{~+`C%nxC; z(01Ro^BBALkE$_Wai1?nEb0 yHGq=63Z2>CD0DI1xfkw`n^r%sYN|Nt<##+x{K2jF`zF4^H5Zp-aKtAg(Ek8Oy}kzk literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_snow_footstep.5.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_tool_breaks.1.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_tool_breaks.3.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_water_footstep.2.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_wood_footstep.1.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_wood_footstep.2.ogg b/data/games/garage/mods/default/sounds/default_wood_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..124fc297c8917fd5bd8264947f536b9f74210624 GIT binary patch literal 5772 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 BpVa^W literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/player_damage.ogg b/data/games/garage/mods/default/sounds/player_damage.ogg new file mode 100644 index 0000000000000000000000000000000000000000..788808710c1923c9ae797b7534b66a97dd18dd6d GIT binary patch literal 6176 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/bubble.png b/data/games/garage/mods/default/textures/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..30170d29984c549b3a6ebc20126711ae394aa6da GIT binary patch literal 331 zcmV-R0kr;!P)$lkM$>j3Q=kuS+=#04El)dPht-YhO!KTjasnP4M&+M+!?XcDGu-NOk-1ETU^u^xq z#?R8oe2ESWad?o+@002ovPDHLkV1mMywdMc- literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/crack_anylength.png b/data/games/garage/mods/default/textures/crack_anylength.png new file mode 100644 index 0000000000000000000000000000000000000000..297eced406c0238eb40c86c256205031c506f90c GIT binary patch literal 348 zcmV-i0i*tjP)k9~H|tEntkW*K_6NEa1lQsdBrWFsAHg%3#3C+43~h5bNy$g(`(bsO_HCZc z-(8D-Dl66?l&%KZ`}=78TL`pe^&H)hJ)4vl+c=$ci+Z%HuC=n?Gsb#6-)a@t(5dHg zcC#h&@C3OBw}{8%?5o-7Jyj28cvNG!vW5?`mcZx`nvpdS&vGGBEhuuBcaE_)dy=K5 zpEfCy7tiI?T7=jGrbl*5{^!->%i^4?Uf*?ecp%B&pq_-_UOZGi1P{JOJybj#il-Ui u@#0|`Egj&I_#cYLkzqI_PA}zNm?!_ zT3E?>@UdDaWGhLgSVjS8BG4sN0B}<~2iu%X=zVCw09(pQkzS|N9Te4@Y|;R4fWw`* zbv40CAMe7_72R9Ic@xM340n@+hrlA>aOZQV4K^HG@4`nA8LG5p72l+ m5F^a5;+K;F0&!hrQSlR8vCSN$n9IZf0000%EI7qvx6$$1+6EGmYDB z9=FZhHiyYJn@KZ`0f>O?sJW&S%c312(>3wht?PCg vOlMB7R*--2ZmFNE-9g5%?}7P+@=mOEQAgS4^se%EI7P159yB4nfInZ|85 zuPG_8&1Mp_V6e?%QnF#tOk=RkVTzn%I!jaOfg%{ zHB%TgQW(A&&IMT_Q4-`A{2vS${xbk+APGWX(4f$?1IU=~>Eakt!6@6;I`xQwfU{`| z&*iW8U-p_A)*Uov2sG_y3i*(|_qyS;m<_LXt!qq7HZHzjWq$uLJD=65lV6Q|<_i{< zzWfrZZgFt^<%M0-9_p-)`g-PH*Ur?v_c$9Ssr~5PdZ{+ab`zU%<0k!2iyyzdVP?gW zo&QpxaoXWM!a4Z|HvR0bSheXiTh5yUM|q|&ocnMrtfv05`keJUPtREYV%h`wn+og` T?=A6@0=e1K)z4*}Q$iB}mJ)`& literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_acacia_sapling.png b/data/games/garage/mods/default/textures/default_acacia_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..e34aec51ee1c192fdca65f65fc14aa83294d1bbd GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gdx`!Lo7}wCoHfk5NJ2vtM&EY z;Tsb_3+6O2EV6M6@p87gWUvlKI)?BsZsGl5ZLCxb}GiM9zm zGQC%RI6h3sUvbKD8l%G5l%0oMqNlPh;hZ+b@rH|YANTAi2F`+H^;E~XlYnky@O1Ta JS?83{1OOakP~iXo literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_acacia_tree.png b/data/games/garage/mods/default/textures/default_acacia_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..86ab6b15618a263884275d8fbd38f08a9f5be4b9 GIT binary patch literal 533 zcmV+w0_y#VP)c$(XcSw>FR|s$xS*N$Dk|v!>+KY71wec`mh=dU~I0rQjBjwMtu~ zbBu_$OQlju{%|xW4zYcf;FE@#7g&W*!iOo(mGDaGbs4dq1R7ASm`&i%sJdn#|qUS)=m& z>;Ww9Aa!`~DSvpbvI_Qno?uX5*bmm~PkCWJ5u1VyoK8`ddEjQGf)dHy6ZBf|r=;Y6 XPcd4-%w+s!00000NkvXXu0mjf_=Nug literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_acacia_tree_top.png b/data/games/garage/mods/default/textures/default_acacia_tree_top.png new file mode 100644 index 0000000000000000000000000000000000000000..5dbe97be85552e1a405e0ac65f436804549e40ec GIT binary patch literal 690 zcmV;j0!{siP)tsc$45QRMl{VwHOxso$4fiQN;%I-H_l2t(n>gPXJE`tJj_l$%}zbe zPdd_0IM7cz#Zp7gP(062JJL@+&rm1swQ$EpDKhab}%T`0rRYBKN zJ&Q?OzR722KM%Gn4&R0a$Rz=cSK-gD4)>lT+SwYoXL)TkJ+FL@^T}9DeOV?dN z)?P-`UrgFwM%G_U*I`N8Vn*3xN7`ai)?`lBWlGm&N7QCi+hs}JW=q;=PSa{t*=tGN zYD?y5O5STs+ig?ZZdKlHOxSN);cidia828BS>AC_*mGRma$4JSSKf0{-g8>$c2eMd zX6t-a-+yJ_g>B%5ZsCV-|VO-qWENk2_2su`rhmebVE z(%#D4(aA3aY=*L?0wW8LxB#gkKZwT=| Y03)qO5=e%j#{d8T07*qoM6N<$f*koPO8@`> literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_acacia_wood.png b/data/games/garage/mods/default/textures/default_acacia_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..f2f8337e1c53f178cb97c143e47e17a4c0c219f7 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYjZ>9K){rdHk(p>FJJmvd zx|8-yC+#^-TAMxe_xc*|@He{o`^IIU;u236#}E!#*@GK-nG6M34(#QtVYHnf&sWej zLEz!+soD!Tot%nPz6A@M2&JW?{53BKc(-+m*c-g8PBF)Tl|H2<4g^Mum5{N PzF_cl^>bP0l+XkK6IW1( literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_apple.png b/data/games/garage/mods/default/textures/default_apple.png new file mode 100644 index 0000000000000000000000000000000000000000..7549bfd2ccbaf4151475e31d9a1ac82ab02f59bf GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}cz{ocE0BI5!n>S>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`r0BiDeYGkCiCxvXhR(Qb__8|}-|K$m z5!Ftf^WUCJ{@8q64O8dzt>c8=Hy`)k{?q>4e!^ecPw02|DXD4ZnSS-2@{Qs{E=;j{ z;vrW(sXpSz<%j*Z_mt{J-_oo%4afYb>IfhXAXn*W%~AdDy~Ne8YL9{r6Br1PI|2DW zaM}Qr4xjO#3Pr0wAey_mWEuRtbnUw z`kHeXCNv`;U<#;&vLEsy&7ujlvxc&cvX-)*sD-W(JG!txVzZVg`fWf`KsW?MNCCp+ z2<*baGs-_h5Kx=!7^eSuV9$?X5&w5t`94BH7nicuzAP{lt6%{TiUUHJV4||Iv*_W3 z%?S-)G;#)waLbC%A`AC(#cx1hMA8r!U>vwza)?aemVb1f^A`gelFes5w6$b^X^>}clxWn#>CqILEw!?<@MZi)hg z#tR7%i6p841JwO%U%lznN8%h;J_HOsuv%Ec0TM~V*zsMGNFq1$o;6vCAtDQ}13-;; w;s91|3b&a^go?0S86Z|J+59@M1IBP}Z-es@t^fc407*qoM6N<$f`SMjrvLx| literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_aspen_sapling.png b/data/games/garage/mods/default/textures/default_aspen_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..f4c772c050a07b1044cb2484d04e1d0c98796034 GIT binary patch literal 275 zcmV+u0qp*XP);HihRKSY8?RCI(=meeru?tK|b4|zu?f>@1 zN?=W~Qw+)Tik*S-e+N@#@-(N-umEdxGKYAlV7WE%2IVfb_#Zw|4{89!1(856WkLg& zXb?J2_rJ55>i^U^Bx*zk<{I+kYqru+{I4M^Ou7LUI*RN%@?!r@)MWlEN$~$SR+YkO Z2msqGQ8{vqItBm$002ovPDHLkV1j#Md9MHf literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_aspen_tree.png b/data/games/garage/mods/default/textures/default_aspen_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..db2285e749767a2a58054700fcde82676f0e75e7 GIT binary patch literal 526 zcmV+p0`dKcP)et&;|f`WpEhK7fShlq%Xi;IhljEs$qjh2>{oSdAVo}Q+rrm3l^ zs;a84uCB1Ku(r0gyu7@U3S$H&OX$jQmc%F4>i z%gfBn%+1Zs&d$!y&(F}%(9zM+($dn?)6>+{)YaA1*4Eb7*VowC*xA|H+S=ON+uPjS z+}+*X-rnBd-{0Wi;N#=tJd9qfgnbZPX3-of7b|uP z1mpR$7N_Q(m}X4}%4wrWoC;1G!~$Z0goKL9iH!jxJZG+BDDuO_W53MJJ8Yj`vz_Si zZ<|!^zAj;HYwxi4He}Ie@^N#p0WYs3$5UmgL~n`j!B-0%2 zOK%e~5cXrduWX%e8c5qn6odr7q7n#xHwU=%)GIgW0kx!gHJe@U+8*0XxY(Y9zvsaH z{k`{IYi+Hq>v|kVV@z3=08mxcZntZihE94*DPxQ<3Ziz>$46#<-G9tKIp~N4qX~Xt^{FWVgL!GVuBYJZ`$W>^XFT>{0yW- zZ@%k~Z(V!nR%@jv!r{>Gc_vX2pOh+#?77gg?i*fJK)Uy&DJFZg&HE2%d&ZbL3y@U_ z6la`9yLnXNGNsfVkI=SlF{wj}w%g}@VP5v->>?WD91?s)m+OZ9gfP%wLI<$@5j5Peswl`hiJ5PrM~gwkt>MN jqTGk=b~>FRo?`n4c~5q(VObz*00000NkvXXu0mjfS;sU- literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_aspen_wood.png b/data/games/garage/mods/default/textures/default_aspen_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..f31ac30fa6af0d6c3c67d50a308a9ce19389ab74 GIT binary patch literal 222 zcmV<403rX0P)&er`KyERNfOfWP5vtE8 z+s0A$J<0zhNwNsVl2nW-kE`tpU_+9G+ zwc)nE+*^)m0VNnqg8YIR9G=}s19I#=T^vI=t|uofkl3KurvfLW{@qfkrWSy85}S Ib4q9e0RCbv761SM literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_blueberry_bush_leaves.png b/data/games/garage/mods/default/textures/default_blueberry_bush_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..d6736ca74651728ec62d3155d1d25893695086dc GIT binary patch literal 463 zcmV;=0WkiFP)~qc=yjY9OOp?{)d0mYQIr}t_u2BjRtwU~O~v-^>NrWpA%X$qO)!3J zyaAZJEQ&ntVhhO_?OSWgfyAAKpWpz%8v?_|eeNm%Alr?c5u1K@Ww3ElBIQxavshHh z_+SHwsZbKh5D=^X134J%V?)9iSJQIdoRuIHVP~vJb`t-s z0+p}oj;E~Sr#1S*ozA1yNdOi(-gy>vzhnhe&iIss2`~voou^4G80D;hz8oK9Pba6S z^PWtgVCN3o8{>O6IYn|XAk#k)|DI+7j89Rre;`hl?g4*7h3XC2jrjlo002ovPDHLk FV1lcb%uN6Q literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_blueberry_bush_sapling.png b/data/games/garage/mods/default/textures/default_blueberry_bush_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..c22a374fa0b14534bad3cf8ed7344720096db0ca GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=22#O2(o5QDJ&6MIwbc zmZ5!;k0-Nm0wowrg8YIR9G=}s19F@_T^vI=t|uob2&p(^PBYzopr04q!}M*si- literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_blueberry_overlay.png b/data/games/garage/mods/default/textures/default_blueberry_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f8ab040cb13e3c64e2c6aa9688ca5d188e7d27 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}Y=BRQYiN(WWwMx-hk$dAq;Z6Z zrKgyxRJNVYRs(+_BS&G!QYm#4el05jn+%Ecc`}7dpotnG-s{eAz_Ywy1>So9wedUV)ta;iq?i5tPId~SI$aIUp} z70X>7EZMLqtnyXKj~TPrziIxux^`mEUisD&ZBOqUeB~aIa$(CfhnYX}7Iw2`g|@wD z{r#!SjkQkr%>E_Z*V?XH9r%ztzt&ht<9f-1yLNZfJwD`3E3jy?`<*gnz29k~6@ Jvd$@?2>{sjg~I>< literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_book.png b/data/games/garage/mods/default/textures/default_book.png new file mode 100644 index 0000000000000000000000000000000000000000..bcf1e6a00f20d78ba884b85432ca9760292f04dc GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?b1=8Na!f_H3#j>&;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^QpIlo007HLL_t&-8BM`e zVuL^c1;9skVFeaHSaDkp6TAwx&6$F-f%vJVGgr6}h1|9vt$tm!%~z@ns9` zxO=E#O8~s*{Dr~EuKRPW1pF`vgLea7wtGuTOOAOoMv?2mKK*>GV+D7$aox?MgHE6Q z*P%%bBh@e3ALhU#Jf!4~(qgeid+39Cl?ebU$V~>_eXD?s2OYZyN)qd+rQ(75+y84ab*Ai002ov JPDHLkV1g0Pt}_4t literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_bookshelf_slot.png b/data/games/garage/mods/default/textures/default_bookshelf_slot.png new file mode 100644 index 0000000000000000000000000000000000000000..ea4fdba1a4325e52359cb0d0f0d51b797b3b9dd5 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E07Kd2$0~OeILkTED7=p zW^j0RBMrzg@^oRk9%L98wYsvXtD|%wAz2m{yui4RlZ;>)8I+fh`OGSo0002BNklL&AW5N-k^<$9 zlE=}r6*n_STMlZA#yl_7NOmmp;+2u-hj?XNNSgrAl9B?@jL|-Mat$`VtnD~|C*OeK7gaA<4JZ%Exdny*5cl!*3?}oV^bgmMWj`<)N@ep?boS2@4 saUmt$Hc9^-Cw=PuthJ^DF~yj{>dRcR&w_ohF@s&W98vKa zX&5$Kn2;TuJ+TkN%!LQxz?_0!41tLFMk|Zbs7$U=CJ!INqBIiV+7B6&l~SKTA2%OA zd;7bEkk=F1DjcxQHM>$<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/data/games/garage/mods/default/textures/default_bush_stem.png b/data/games/garage/mods/default/textures/default_bush_stem.png new file mode 100644 index 0000000000000000000000000000000000000000..6ad888856e202ece3113e9846fe0ffdd8b218ec5 GIT binary patch literal 245 zcmVvb302ERH8dv}aE&wik02NLE5JmtFKmZk2 z01-+6FoOUKH~_w~q68lR?E1S&0001}Nklh~hq&iTCQ;8%e+ACt$Ef%hq?k&vl$ef{uHkhS55fpRTvxb#ReTCdv;kRz8B}Z z^iYIKF&qG0iXsmkV!KYv6tT`hdy3RNcxjMehQ|_Q#h^T;5DHnPN5zg3B0SMs6XgKZ z42;2O0?&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/data/games/garage/mods/testformspec/textures/default_chest_front.png b/data/games/garage/mods/default/textures/default_chest_front.png similarity index 100% rename from data/games/garage/mods/testformspec/textures/default_chest_front.png rename to data/games/garage/mods/default/textures/default_chest_front.png diff --git a/data/games/garage/mods/testformspec/textures/default_chest_inside.png b/data/games/garage/mods/default/textures/default_chest_inside.png similarity index 100% rename from data/games/garage/mods/testformspec/textures/default_chest_inside.png rename to data/games/garage/mods/default/textures/default_chest_inside.png diff --git a/data/games/garage/mods/default/textures/default_chest_lock.png b/data/games/garage/mods/default/textures/default_chest_lock.png new file mode 100644 index 0000000000000000000000000000000000000000..b1885ea5ce966bb1a313dd11522c66d078d43b03 GIT binary patch literal 464 zcmV;>0WbcEP)3N zloCFGZs~~9FFwo3xw*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/data/games/garage/mods/default/textures/default_clay_lump.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_cloud.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_coal_block.png b/data/games/garage/mods/default/textures/default_coal_block.png new file mode 100644 index 0000000000000000000000000000000000000000..e92c53228c62a1e1de28e78c59d2e5c54cd692a3 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VtFyDSiHV7=t*yPiy``n4 zxw*NktE;A_rn|elg@uKemzSQNo}ZtetgNhpf`X{1sIai`&6{B{3IE(W-JpWcN*(AqX ze{cSM!^EE*8T^9UMVnk^JgrqO$kg2I{pv&EPXq6U!k5?M6HD|>IwpA590!PC{xWt~$(698qlQV{?E literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_coal_lump.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_coniferous_litter.png b/data/games/garage/mods/default/textures/default_coniferous_litter.png new file mode 100644 index 0000000000000000000000000000000000000000..9d9651ae1deeca9ea3f2081ad170c7ac8c154078 GIT binary patch literal 820 zcmWlYX;T_^0LK3&B~_!w=CG-0o2Io1jVmAsBFDlm3+!?%e_+{z1r|BvUQPw0#0x}C zVrqjiXzo3tCI<${mh6T6r31wRJn4WsfBOyMs(q~4zmPMZx@mW=VbjgpZA*%7))U-_% zu&V?1Ufuibs1Qfk#n!IZWBwI zc*-bHYdmF%dQ76%EcmQ3zdc6V6ErRbtm(k&M!>Kh!qOpICWPifYpJj+6DBeYvBB7j zjHwv0lp^MG#FAyHJWEtqYk|Y^9FgPPInG<=&%MxrS991dUmK@s>)=0wI zI@4Sa)KY9S9cg9QP6oEJ(N31x&WpV~xl<5!3w*c8b&JBYQnFhTo|oCZa%51Vx)tfL z!t`XeUlaOuaZu+5b>XNHKW@ZM8qr=eIcUcF&Gbn#cGilXw&G{4*kDsS+f4Si3NN;# z({}n*Cw;!1I^WqC?j~P%3m4to+ir5WU%WghT^$rId(HQ~%GL4ahx5+IzkmHO+V=rP zV9fnL$7aVq{tH-YD3nSQJ=M%{_0hvL0T$+-1opRoAra;pc@ae0;GkprK*>EOeCxucW>J*y ze!2HOK(Y!geIELPHtjxdAZyQnVJ4O$73~?Qzk~b3hH)UPet2WU-l=MeaaATID?@*f U|NJ)08Aopbl#?cY$CHQu0i=!s9smFU literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_coniferous_litter_side.png b/data/games/garage/mods/default/textures/default_coniferous_litter_side.png new file mode 100644 index 0000000000000000000000000000000000000000..9a390584b71c2b289ae851e2b46ae0254a7a6706 GIT binary patch literal 332 zcmV-S0ki&zP)W%wQI{cpTL6`8vUkA;2x>&~wU=Q=81c-M28Z1o*mwxUYb`1UBNafp$#- zA*66s72s8~(9&DzTH0bUg}})p4x6k$OK-Es`c9Dz6D_mL3c5_sdE{c)R55Dni$$Jg z6TgnoYcT!PJ;k}W$Mne|2U5-*P{VywN^Y>P(hDE6+g}}}sqjBp$B?OJW*OWHSFxP^ e)vvL}Ki~@hdW1W>fi7m?Vrd}Kr!S^fd7jSBSQIwHXU0000h`_e!-&eW1eoHHjal*-cAOn`-s&4NxazNswPK zgTu2MX+Tb-r;B5V#O1l?y!jdwcw7VHxu0sE_-CH2Xli)o%h_|j?6!71H%{F7kaWth zh^Z%LhVbbR5pPnLk0lS7fCmvHxiT@lSwoFo<21pIl%%sqt64gG_=3Ak`Xd5XrzfL(-V4EDc85o8O zqz**VC#HNNcC9fX)TgUKziqkB|(0{3=Yq3qyagJo-U3d9I{hS9prT|5NUY$f9b0~7c8=q88X*Zzm{{{6LVqD#Z>tXVq!!9=I^p+U?O|A?_K3UcZB#CCuBBhSgR uqs7&BtvfYs2AkVv{@s$w*Ye69KVaOS%$4^*`u1^K{W%8bvkYm+7#KPk7z`K~ zbQzLA{hACkhp{BcFPOpM*^M+Hr`prSF+@U=^rupUXO@geCw4BVN@2 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_coral_orange.png b/data/games/garage/mods/default/textures/default_coral_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..d7432abd8bf1d435f0fd4a7ea31a32afb692802c GIT binary patch literal 314 zcmV-A0mc4_P)B>)FFq$Wvmge4f4B`}sH@P{S1&uczsdWYFiZ(|(e zvPgC2H|%|yjJ?Mym}3pzvvw(Wa(UhS)gTi!_rmX`H`_Xwn+ZwT%NhO3I;=X;x_n*0 hrwP{Y6!_Pf)f;#4u;2Y~H6Lg_gQu&X%Q~loCICpLQtD8EUp_qCJkw?tP))g~i(?3fEbGCGyoVG-STC#=F3>y{Z>Z;>@Q>L%mEkhy ztql&d_k6WwpRQ6VwxVj^UF{}s$!ih@S8e5Qw~4Kfnf{}tXqpMnW>#-kruLatf)BnM z`3qjEQju-q=1EigV)f?FKbF@^i(*)0?I*ACFwB_R^1CGc9&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_yGcYrR2Ufz z!G}QvK@0@2vAsFx3;)o6nIM57jf>jGn8UPzPOXWU!DvQ(@K}+&JEJoq)W#m} zc|P%Mso<=X(#jTNlxb0r3%1f@>0xT-))84*?LCTCs+V0**s9mVxyxExO9M0N58QQ~ z=fHagFjIB5pJVIK_s+P@H@l#<4sWWV6Vkd|TuX-da0Om4JpIdbITr%O^$Q~X&)F01 vxKg@7nPwESVW#A7Lm;LkMDa~>6Ds}yn34*yibHG%00000NkvXXu0mjf&ZMH| literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_desert_sandstone.png b/data/games/garage/mods/default/textures/default_desert_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b22d0d3cfeea20cef33e6511c1aef971917e10 GIT binary patch literal 254 zcmVrAp%7Q&FEL|>nkd}>lfWzO+@0s(dXJgKB=CADrr}nh zbx#M9QbQ=w6usWVQxW~T1wosdrf0&)SIU;3uZ_eib=8vrb4aY&M`_~o9E%!(<8x~r z3GRl+Y%L>AyqjxY z9m2bLNls33lKl)$WYVq3N3SB^&ovp}SLL(6|Ihe8zT4F|x%mCFEy=!mH5oO_GHI>L z@M29~TV;8>*-SP(U-^5-I7UtTa3KdE2^*X)Ymhey@3$KXV05`!_+r=9S;?S6l69tw z0ayV*o(+wNKh+llK$vS9fFet#nDH=QO#HF2BpFNLr*>J2LNEq@)cn6u$M0o z+97C6v{Nj=Hx{-R;+>=U90146cTav8%XZ+Ib&gB<2nE?fGKD_T%%~ff%E%EVsa!Xe zGrsLcrd3h~sDNYWN;4*>;yAP2i80hA0-!%akx6A{OH^5r7lqDEh%##WJr06uT-ojCJq jPWbY#eK05W?HTz6B7e2jRubWh00000NkvXXu0mjf3f;zJ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_desert_sandstone_brick.png b/data/games/garage/mods/default/textures/default_desert_sandstone_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b70dd2a53bbc6553407d7a0b26634f78a2ff78 GIT binary patch literal 464 zcmV;>0WbcEP)cm+NP z@{~1?ChfVLwU@J8V$J>W-|yIukyF_i?g9{mHFn3`$u|M7=hF#5>v-bNiJh(tSfCYx zRGBIQPy#^dZYYHRt}qe-M0525kfdOe84pV*itw+ zbj|CBbN1cXOMJX1agm?cke=7SBN8x?;+7tZR6HXNka*`ye zWRL{OE-UgDyK9@f9}QkeybnMx*t9~COY{Cv=cw`SG082u%EdA0000#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/data/games/garage/mods/default/textures/default_desert_stone_block.png b/data/games/garage/mods/default/textures/default_desert_stone_block.png new file mode 100644 index 0000000000000000000000000000000000000000..e8e842bc1191546a4f9e61517780af382e1374e6 GIT binary patch literal 358 zcmV-s0h#`ZP)Vaz!iBdp}RY8wdLXB5Lky%8NSw)jsMU+}am0L!ZTSk~&N1tI!p<+y+V@soBOr&H@ zt!h%PYEiIkQ@C(fv<|_*0001~Nkl3*W1EO-JmO^P4tVk(Rhc#7vEc6v53@~K@D-KG2 zy(m+8un^wch0(M0;ZWhmipdqae0BbK%WP4Q0Ar^cq&`w8t=`!&DpWsQ<2b-?P6MM2 zZBHuIolgg}$rvYsaq^AxP_H;t7u>s%b#H9Y;0;S$|CD50mY6x6!vFvP07*qoM6N<$ Eg5lqWvj6}9 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_desert_stone_brick.png b/data/games/garage/mods/default/textures/default_desert_stone_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..8e7208dc236446f5e443698fcfbc1ce5e568a638 GIT binary patch literal 386 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMfgaDrqR}UQ}PaS119pwN6)j%V) z5M%XlQ_Tcx-9&5MBx}7CTm1|N!z>5GY)7M9XX89)lYAGG0$0;wH?tCV^D+n}7S=5}fCp3X>TkGlK7$PCbdeG7Dumg|7#rId_ zlrQNCy!Mi5_$|*Rwjz`3YlYe~+rMvk8ig4q`~G&5YGAk6-SzpHd4_?+t0>0>au$99 zR_&9X%)Bmtd}h{k`*M!5vRS&bzI!oW3J|zhv&G?=p}3!p(66GDn@XE>yVhU)7*| e-du3u4|f0N5R(Tlmn8xn&fw|l=d#Wzp$P!V|BQ10 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_diamond.png b/data/games/garage/mods/default/textures/default_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..a8dac747d9f69c8aa936e3202e14fa9c8d8dc16d GIT binary patch literal 313 zcmV-90mlA`P)a>7=?n1?dpT(<9gcHUA($iwX-~@q(Y#bDVLQVe|-~o zb(;G3z3S+;=;o2;Px#0d!JMQvg8b*k%9#0A@)MoJg44Om>yusFar`Me7|vcwD76_H+#}cSqNTcqT*#PbmAm z_I(@}JVch$L5RXYd@R#JXw#@O46~V*^*)G_4SPsk0#3GFRLM+135|ukh@iI;8MNFdez;f>+7xc>3hc2y7}^c(BO#7 z+-J_#Si#Cqw8)X<;_dqS()9Ga^YO9w?Um@|mfqx$+~bMY-gML4d&t~w!`W)T&|A06 z{{H^F>+rYj>v_)CXv)=Nz0(Spi*En`0F_BZK~xyiP0L9Zf-n$8(VtQzkOUz{`bNQa z{~NU61mq2Ba8G?at7CQi*CHzqyUZO~P&C5V7@7eODP@}SF(&-t6d*2STGy#Gg9vZP z7~(SFguXB=ADUiCk`oy044R1YoCpwMv;xS3pFpWMPgaOOitF_T1gDfkJ9r=f&hhEY q0wlJ2V(73-N0_eMIE~hx=j;zHKnb2?Ir;B3<$92XD4Eg^V zPKE7>Y0SR1njyGjYiRZ1@*D=g>DI;jk_*%sTtwZXr>mdKI;Vst0MMykD*ylh literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_dry_dirt.png b/data/games/garage/mods/default/textures/default_dry_dirt.png new file mode 100644 index 0000000000000000000000000000000000000000..8ee53984faba09e7c92974d2b0f6fe5b0aaf4dfc GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;V>zbyJwGE+bn?u*NgspE4 zU*8tFu|0BAN7Uxd=q+6_+j`=5^(5@+P1xI)cwlPUk*OKSre_7lXT}4ycX+xuhDb=V z9&AiJV!*>}_)GPd%CeW`|1-H?L>eoe_`P8wulMYm$NFA1HqH8eXiivG_c5L`-`r(y za8Lir!m{5Y;B9N<#Kgu8bF!Xn)|_N2ubW}zduaNs-^LtMm}VH|wy@sWXHYUB{41}+ zfjz5w=eI85EpNH&x}xzwU{+T;i;`khr1u89&)zopr E0KnvGbpQYW literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_dry_grass.png b/data/games/garage/mods/default/textures/default_dry_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..11def9c68403455c3dd372f04789bc12c8d69277 GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?bUD9Z_qRC=ai_Q8r`;DE> z+j`x$_j~S{;&)(H(BavkCl*DWU6FWYOHPxIUsybX?$<)YVhIY%vr)SSm&0uI-nqkqod%88lw(S*3)kz8` z8FE(6YHeLTql}?EL}NpLPK&k#l8dI_Mh_4n$`YkYi6py*ixt6 z{+&-}DaAfk;mh;y+n}O6Bd$5M`{e9p9=>%9Y3+=sH|f`H2b##>>FVdQ&MBb@02c{Q AZ2$lO literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_dry_grass_3.png b/data/games/garage/mods/default/textures/default_dry_grass_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c37a8eb90cbb9e5505aab97475c816507e0d5554 GIT binary patch literal 230 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`>LPVYLPeqtFOw{1aty}r>mdKI;Vst04cC* AivR!s literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_dry_grass_5.png b/data/games/garage/mods/default/textures/default_dry_grass_5.png new file mode 100644 index 0000000000000000000000000000000000000000..10a0931660bfc7f506071ffc1c8344636eb2730b GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;Vs{;eWfrVj*7KI&M8h(6v z=hj4BSQm47L-f^6u{XBF-QE^^cSrn#U2zY0CqCVm_-ucY!5F#cuzz5bi91cM>NhBK^wmw6AHDu~UJEEDv( z;CGQ-zQ{pjiQ%3E&V#&Df5c8uiW4iEv0N@64Gq z-`!fAZO+dZ)BJI}KYuTd+LC|WAI^{GTl4$P-u!uY(EjaucYe9t?ij8Vex8my0W!$H zUhOoPx5SWM>d4KNA6v2=h&`NcblpJIi4A5LQ2`2UwJ8KZQ9~{TVuR{YRDju*+rn^7GMQqz7hp*~t@jfzNoyJdHIf?awLYLWZ zh4TI}#A~pSj>qae7&#lKwVGC}A)!EliIGqguNDPri2ICe1sb2PHvjO0?3CkG(Eal|A@G2@7P!lR3fr7W`nF=qGT%9;k-F)78&qol`;+00J~E^Z)<= literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_emergent_jungle_sapling.png b/data/games/garage/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;yOtsE94pvQRN%?kf zDUZi5*)42U$KG5NUOaE|WY&hWd1)N?W_usfIC(oL!1L!<(*tK_Jx}Qfp8ZFdQMW&_ be&W9z4Yl6^-C_@bE@AL=^>bP0l+XkKp)6Uv literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_fence_aspen_wood.png b/data/games/garage/mods/default/textures/default_fence_aspen_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..fec9755066739c67cd7e7ac3f3a82a339f6ca2dd GIT binary patch literal 232 zcmVP))cX9|L>Inoi&a!M-`D%v zu;jg?cS6D$Ip&F9=giSz$SE^+{ty={v`J-swxjaX>(@DqSKm{2p7ZL-dyb6Sp5NVH Z*q5BqV9b+Hhyc2T!PC{xWt~$(698cOPqY94 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_fence_overlay.png b/data/games/garage/mods/default/textures/default_fence_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..718184cc5203529ba4dc9c0f5b2a71e5111d9dd7 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?b1=1`m%#1*af#LuE|4d9E z=Knu`fb4%j^an`(`CnJJE2;7iP=co<$S+u(-Q8VXMp{xrQc^Og+t3Fn9`5Pl7{YNq z*@Bss<5=RcdB*7tEQb}3*`}Xk;8a+A^ytyfjqDm%#l&Xuq^)6G8Oc0_$*6%PUK52GJnbmh5u(;J0`5x-EjKK&!o1# dDX*h{G4I|avT0EivpCQp44$rjF6*2UngDZeUZDU0 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_fence_rail_acacia_wood.png b/data/games/garage/mods/default/textures/default_fence_rail_acacia_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..7081cdb05427849ae260f5d020396a214c9d28d1 GIT binary patch literal 275 zcmV+u0qp*XP)2W?nfXwYnAPg6$#W;Wk1T#7s?f|5Qx)bggkf6XAN!4S&#y1pKlE8*g zwGl8=mOOF~_pXud=;6NymjjYNQbO_Il_(1mcO^s*>;%W>)dZ#yr;f`6iSuSSA%%sB zu*-qoL$xI@Nfue4VkSS5Qn_T11Xu9JMU@GuQ12nwGcC^ltt?<;P))O%EBgCTFDS3ve)<$a1S8bTH3CRkYjiT5wfiyWG?4>(4&3V9|?)@lDa0+Q_8;KltsRL{;+3&!pD1D4V@#`+B0@!4dMCjSFZ4|o=%@sdsns0Lf$;>Vh iacn-kBj80-f3^Rkc`v`b$Yd`70000*?Yc!Xe9g(2(npg9yuon}?2NwJTiQd(7PR z5_i^1D~@k*N6tkF-U-t&TK>iM#hrbpx3{>Ic}R9l-Lk@YLDv4sDm{w1Im#1j{UkTo zirX_cC%sA%aJ%0>NsB>jlFN%rUAaAFuW!eEoV;%SJYD@<);T3K0RXa;E`$I8 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_fence_rail_pine_wood.png b/data/games/garage/mods/default/textures/default_fence_rail_pine_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..b2f74a377170a773e3cacdb8e76ddb7e8d77bb63 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMVJ-;a7;^L%>OOvjw%z3z@ z{L#+JySrNM?&-L{uk-2Asn1T%dU0}|%jJAWp!#}G7sn6|S=NJwT!$P)ST5W=bx18D z>ZE|mrt3e13iuUnMcrE0Gaom%g%rK#)fX1mUYF z%FLGTlqp-uoTGp9{ecx4wLMNBU+b-8x{)%;<;BfSxgxuH&x+b-&dM)lJb6Y>urSAN gkMaZ8;QFoq7gy@<-*X~GALtYYPgg&ebxsLQ00%8&_5c6? literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_fence_rail_wood.png b/data/games/garage/mods/default/textures/default_fence_rail_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..e41143cbb979ed57c16ccbab28158ed3adce27fa GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnY4YF4bcUDdI)~ZV|XiPS4 z&9rIHw(ZQeom=U;u+C#yqt|Bj4kMuAT2B|p5Dr<^gN9s(97I?y+&pwFt6kyZ-ecyj zm$XsGG3$pf4R_Rg9%~76M>nFLv zR@|PsIq6lBfZP54Nm>kIlU!b0>dNgYdwo0RmdKI;Vst0NEi{(EtDd literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_fence_wood.png b/data/games/garage/mods/default/textures/default_fence_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..7d161dcea3a2ddacd2925bbda611dd34f58ed029 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYZOyb<*60=PtXh{~5M-~s zu+F0~*?4ZHYiG7?vbR=yw(ZwzhqeM0*Lb=(hH%KT9yH`S}PkwQv{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/data/games/garage/mods/default/textures/default_fern_2.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_fern_3.png b/data/games/garage/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+0000sko>_H9;s;3q z5s{Xr+?EcftVi}DZ`uqDWm=pZiGuaX+q)D*tY|>zMILDT0cJ(?-w#zp*M`j1VR!ixY ziOfPO?iUy)=qemlxa}zA$>);deBrPE7RCz#?a2{5K&xVng&8__6wN*U0=H%HSk!<~3s%-b&QrWs)JU7hAUu!g@?9}9BhL<0;f|54)PfBFqe!!$)IpLv! zvqRe<9TrKsi^~r(C^j&pS$ha_{Qv)7{*BNCMTNS6?P@c4FL4z4UP;N_;FxgP@qns` zld?3!H?}h`8wDySxUDzp`0QxX9Nojywb^!W#esE9k_?+f--s@Fc7h{vhpRzZ!UUEn z4oq>JTneWo*wZ??gBw@-dWAS=u-xQ0tZ+0yDl%?TBTGV$o&gIlL#D&=3^t?hW8$sQK3_6}A7nDbTwNp00i_>zopr00KT`ApigX literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_furnace_bottom.png b/data/games/garage/mods/default/textures/default_furnace_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..92279ba30e7cb517c12fa6f12b0dda9724358abb GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VYgSrHX<=SvX>o2=dUAYh zK~7dtUQT>Wl&7n+vx9AHRD`3QO-5>RT5@7tRfV^QtBs|(gYBgyK<(2#T^vIs!eh_x zEIi=A!|WjN=cKjg-|*K*8jrtB>z+I_IY4k?fUU*tyIZ3}^Xsb@WWVeyKHw4ET4z@L zaLJu5{(`yJJ%b*_y>8g!wR_zwgIC%UlXw_NZv-X5fxUl>1bvVxe)^#O)J{>wHK4O~q#z8_aHYzS+Oi@6Y@H3}SMuThpy< Rbb(G}@O1TaS?83{1OS1l%5FnPqeUowLA}xY{Iz4%3eJq=10;G7>q1zML<{0t ztg`rZ0HgxTyOAit5)BK50SdJgo{O=b>Ehla^ae>6lH*8OL7pJkk5n(By;w3LdIdy> zXa~MsK%fPr5k!lS2D7K&uS2K?D>VpKV5J=KGJGxrDM7jrekm5D&`V*XVWe?`Ml*%5 z1ZD~PB={-@lk@Ql|A;_e&o)3F@}K9$t7ML-Y0bsCiqk>?I&Hw-a literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_furnace_front.png b/data/games/garage/mods/default/textures/default_furnace_front.png new file mode 100644 index 0000000000000000000000000000000000000000..f445d83dc04aed2973c2b057820bbd95d79b94c5 GIT binary patch literal 305 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(@7rSxp|9X>lhZ8(n8wJ$8 zXYRhZf+JNZ?4_C06z1d&LZ6=>_OY5V@w(DM`GtGLCe7>Vom~1QMfi4zrJ_o4Tt!Ur zDa{EJ3XLv5I@l|{_}e|gTe~DWM4f(a~>p literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_furnace_front_active.png b/data/games/garage/mods/default/textures/default_furnace_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..68c03f57cf451bec873e70b26de4df02cabc3c0c GIT binary patch literal 1020 zcmV~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>k0006LNkl|J6h`m8|1$qJd$t*~C*v9rHHwv>2!as{Q^<&&Nwk%; zHnu*sqo~i|>CV@Da6qE7=on`qX^y@GBOKaoVKw(nCdj~+PXdXCLn0JDIS4mun8PgO>V%2Z=Rnh2(j7J?P;_9$X4~_(W5%9~yAEIgs`r!{*9j%l51JS+#ZvxBeg&uR!TDi{CJ7(Jo^srZ(jou-;0w&0z zM`IvO2h&#!8`6pMI8Gtii&AC_`05GtIKsJhrHn3lAf7{ye35NY#F;Lbst7#_wI)WU zPjl;$Dkst7XST>NjIsONdmz5?jNW$_#(eMLu@uo6f6Tt<&|`wTWcqRZHk1G2C1+_>^MB02#80000Y1sgN>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<(2#T^vIs!eh_x zEIi=A!|WjN=cKjg-|*K*8jrtB>z+I_IY4k?fUU*tyIZ3}^Xsb@WWVeyKHw4ET4z@L zaLJu5{(`yJJ%b*_y>8g!wR_zwgIC%UlXw_NZv-X5fxUl>1bvVxe)^#O)J{>wHK4O~q#z8_aHYzS+Oi@6Y@H3}SMuThpy< Rbb(G}@O1TaS?83{1OSVckkc7|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$LDi0wwEcf3h_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/data/games/garage/mods/default/textures/default_gold_ingot.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_gold_lump.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_grass.png b/data/games/garage/mods/default/textures/default_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..5778caa1dbabdb9d4cd1ff46e63c8bb810aa9a0c GIT binary patch literal 461 zcmV;;0W$uHP)WfweX7(HefJ!u&|Y8XCf7(QtiK5H31a2h{q z7(Z|rKx-L5Y#2ap7(i|sKyevBa~nZz89{FuL2wvBaT`H&96@y(LU0;FaT!8$8$xs% zLUtTObR0u<8$);;M0FiRb{s@^8$@^-MRy%VcpOG}9!7Z`M|mGedLT%9A4q&2NqHYh zdLBu9AWC~5N_-wleIY!VW{Lm+0NP1JK~xwS1;K$rf-n>X(1%Tt7ZMSSCS@AJCB!m^v07t8OkM8o6ZB#;Xr~0ooemj#Y^nW(8I7j0 zAYOwL1vBc=Yr3ZV9enAQDuE7dPstA#)0>>*G{~2)n2?jwnkR{Tud-*^ZD|F%!QQ~E zcEouk#c>hI0jF9vX*&nsP_k?9ZG7oEDe(_^=X6yXQLIllQr4r1|>?IFK5^=_`@Y00000NkvXXu0mjf D>FlW_ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_grass_1.png b/data/games/garage/mods/default/textures/default_grass_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d16b307e2c93aa414428d10cec23799da0d997b9 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar`&KKmPx>XI7n|bapXY zkCee29*?;>#{#xq`C0$hDVt5eEiL)*i>!le4Hh4Hj}>$-$YM6I&Rr!tgKtI4iJx0$ zCPo~25T5@-KE=bOQLTe*bK;ihSy~jiipHS@HcGCpvGF;8;Oxexo@?SWP@c)I$z JtaD0e0sy(bJNf_s literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_grass_2.png b/data/games/garage/mods/default/textures/default_grass_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6a1dac2c12d6c5333b66b11330cf9782009c681a GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar_~TfBgS%l@k&D= zGg~|3SMIeNAFWz??tkG)#pFF*8#|S|8*f;sZn*f7_gI1HOyS&vITp-IP8fxJwBNKO zey`$;Z<)r-ml>yWFyFZp^1u1W!LA_n*^Mm!n^_!lBzTV$>~o)LcY{el{z#w31(uEf anHlc)Otf_O-sko>_H<(%Hpq zJo3!1#G`~;S5LG0e_V}E%}D*$A=S&vZv8#JTyo}IquW32<6IS3PqZESabnsb(dB+- zzvb^I@T9SaO8;>;<4|e$Q9iv;!-y;Nz$!+U*{&LY-OUu1c*rL)oY*#HipU0~(*dpq z(r(QrjT!UJHviAdT=n14q=WyEfnAK?1(O|00=&U2#xhT=W~9o6{`#-XWpYrDiDCb- W%;2u@2?jt1GkCiCxvX5S1on^kIbL2(fvOzIS|G$09he64d`N6CDW$bp%?&j1+wO# z4off_E}1#e7A~1O*$m81nT_g__#VCg=oZ2ygQ^Yw!`OcHhG5#QL;=MB7$4bi29GNJ z|1ew4Qe^)lyTCM40q!M`W*8qN53&$!0Eh#`U>c+d#I{V71=BD-hz5zl_!0HWAo@Qz z8exJU0iy&N42>`v?N lALLvR4GJrmMvxrL8vuaDG~DJmj1>R?002ovPDHLkV1nx#ZG`{; literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_grass_5.png b/data/games/garage/mods/default/textures/default_grass_5.png new file mode 100644 index 0000000000000000000000000000000000000000..df457605d9d117824e4449db3ab3cd7679a9cb19 GIT binary patch literal 350 zcmV-k0iphhP)&%%myBiQuaE}G)vH34soj%A{cM8*kA9#x-Q`GV2w&j3*HS^eZc;(wptV43TWC3?Bv5Sr$lxnV^%DowGzbnxl2i z#NqTIGY~B*4#DWBLHrKrx+!Rkiv$2-D1d*P*gVO4Yh->T1bG4|$Pf0vL(1odptq`; z1}uz9UIn&JS`p3_1-Ow(06ET!gS1ZCivkQ=X@6U;@|lpq wOv)ZOQNWv`^hxdn3BMcrl}yfqFXMvLFVQ~BzgDy|fdBvi07*qoM6N<$f+87`xBvhE literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_grass_side.png b/data/games/garage/mods/default/textures/default_grass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..77aa65578fb28c0ed81aed673a3247b9c92f3d7c GIT binary patch literal 461 zcmV;;0W$uHP)w=jP^A<0qZM3 zZ=nV6TBv|SEetad^#KaF0SuN&GMy)+Us+|Bj==Rfjp)^w#i~=xSh;>r~0DS-$#VNozuAc?DRm!G^ z1_1_yF%Ygbzl=c+tYGR0OpZ+hpqpv1R;5>-OjJ-r#fRAVe2qnM+5FU+1_UruTkriv z(e89a;LcOgghQjgcD2|t(a13~iDv4g6F|HVeCPSq*U7C9U|2XqMm)VRFTz2Mt=P=E zA%ruQ=>x*h2(6s0Zkwp;ocpFY>qt;8t=aC)pKHP9tMXUDH#Y-Qc_Y=Q!`Uj(?B32EiEfOJv}2MD>E}QBMU@l zfk19{c6LrqPA&)(6%-T{7Z#O(Kxs)yd3kvy5Y$vv)qp@lEeO=t);8DG)zyPQb6rDI z0|+$NH`X^cHa0aiH#I{*TXS=JOG`^@YinCuTSr?v5Oj2Obar-jfk1C}S9e!ee^+;J zS9f1G2=sJ!PweUG>Fn+6>7CHq+uPIE)7RJ6-{0Rip|5|!qzMxy^i1lR2n3U+Oqw)l z;-qPlCr_R-Wy;j4Q>RUvHe=e1nbT%Zn>h;zW&_dO+4JVjn?Ha4;>AlBEm>sV$*BSi z$3LDfjv*3~tOq-tnhYcu9_(-SF;=y{mU_!qpv+vlCHgwQ$ilTsSDH?J{nvltyQ709 z-^cJpTz97>d^b39x6D&=hMjDt6DPmXF2`lR>*h~-#Z!O7&4caK#ELNEpjNe+rj2ou zrFEMF3T>|E1^whq+L-V!;LQq;^;3lf5B2RjpdzuzrA%q_AE9LxHdgwd9W%@WmCiXg z=|-yVTb`e}vs7#T!Sv=SrS6NGb*%4&2+F*$y*_J8sCaSA{2jIJQw!UBbOWbfs8w74 zSm;TH#i_4aywCZ5&VG7u{>C@m8jk1U4jnH0$bDqiH!tDaH>yLb_HxKSIC@_xVy<#) f;Q1$7)Bc~~vwAq;{p5wfaA5Fs^>bP0l+XkK%*!0@ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_ice.png b/data/games/garage/mods/default/textures/default_ice.png new file mode 100644 index 0000000000000000000000000000000000000000..09b53f2817072ce119a3c225fb53157122d24e0c GIT binary patch literal 222 zcmV<403rX0P)JS7((nG(@&3X& zq6`240Aoo+K~xwS1;GIVf-npOut-mtN+fhY;a6~ z+(C2jY;p%vaL&tPA{v}?;sB620YD}S4T=sJ06?RDKsJpvg_a$SHD8b&iZub*0X2*3 Y52b1YGuk@s8UO$Q07*qoM6N<$f~|vJj{pDw literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_invisible_node_overlay.png b/data/games/garage/mods/default/textures/default_invisible_node_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..7fc880618ee63fb23fd5a59ee97f6e7b07e8f682 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>o&dR|Ns9#&VD}!D8f_{ zh?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/data/games/garage/mods/default/textures/default_item_smoke.png b/data/games/garage/mods/default/textures/default_item_smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..ae95c160e7a8b3ba427927bab9866aee5a57e03e GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^93afW3?x5a^xFxfG6Q@BdV6~(PMkPt(xfR`V;`JPaF)A2`G))OOG)?utBHuD-LC10<0Dy)6A qp(X#^3*{51lh?A@Z>^a1n*Z_|wvr&fV21w;|Nk>|)^RogMan&0978G?d5;^4H7f|PTrm8|WU%o0##`x(zirCj z3V-~U-g)=`j3$FsjB@TTq-68vZ`*Rq@m*rgcnPEmJY5_^Di}piZ!Bza5MViQk@M%9ke9h>;(u1} zWYPG+@#9Z%rNQltKQ51T{3Sk%F8$y5a9(;I>!$VVd?&hxNZU#?R KKbLh*2~7YN?NQqR literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_junglesapling.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_jungletree.png b/data/games/garage/mods/default/textures/default_jungletree.png new file mode 100644 index 0000000000000000000000000000000000000000..671b24dccd4548debf45cc935eaae6bbc7fa4ed5 GIT binary patch literal 1114 zcmV-g1f~0lP)3Ktg%8Ws#07Yi5} z3l8XXNA9uFTL3LYQ|ARr4O9}yxT4kjQAAR-JQBMu@Z5ilYR zCnXCcCJZSh3M3~CEhG;pB^WCw6D}tUFDDK!Cl4kn4JauTF((o;ClDwr6DcbYGAR%x zE(KzgDK8N-EfO&<7b-CjC^8K(FcL2@5->6lH!u=2F%>Z~ z5;ZasEH(`>H4rs38agr*GByu9GZ8g46*n~zHZ>bIHxNEF7d zTuLEVOd&{6DNj%tSWP5jOCn8DE>}-2SWqHsOCMxSBU4i(RZ%xrQz~OnCu341ZBQOr zRxVstEMQh6Yf~j@R4HgyC1F@NR9-1yS~Fi;D`{CMa9Ag7SuJT=FJxRTYFjUJSt?>) zHGEhpdRZoLTrq22F=AmbbX_ZHU^QuBFK=HlbzUlAWHNePDsW&kXkt2SVLD-EIdEew zYGycRW=3jgDQ#vyZf7)eWjt+YKW}I{a%eDZXheEwGIeW2hG;H+YB+mqL3eCNeQP~^ zY&36hRE=slfp0i`aXgA}HFg;0x!MwEnBjfY>3iBpYlagqamu;n$VWgH? zsg+oqnP#PzV6d84tejf3tZ%iheyy~Ay0(bTyMhsCnu-7b0UJp~K~xyi0T2Q2{s2^V zsk=%94KE-(XMWe&*<;RSHi#B7YYX{9A$Zgz{|#U06VqL z=ottHq*#DpZoTh|QUFKc`rv;73zC;HbZf`*drJUMuI|Nh4;s9)G>2NrrCcxoS(x0L zHW4V=-#VFJ*n?_40A9iBYy}W~wz(sopWcv^Rsdnr=WhT-tDSHwipbT&ZA1Ww@!hHd zrqjMoB!h0Az`=&>aK} gA~`r>dbif%uv+$gkC?P3^Z)<=07*qoM6N<$fNV4PPz|T`vt`FAZNX4P`M8V>1ssKo@B?5o|XQQ$QX_M;>rkCu~_Qa9}fiV>yIq zJ%(;Pd3HO6azlf2M1*xhhIdDYdPTaJlS znTbu1jAhiGVAh~w)1qhCqh;H$bKJ3Y-L!Mvw|n8Yciy;pB@`h%#7>LkMPiv?a`I%(v z-0^FFI2e6hV=r*Q^zi9mNswyt#_tXG9kB4lJB3g@mCKj^t~eXS%WtZxDDrNz)hdtA zbb!xIO32EkTD`hc+8V1s45d&uy54Lm1!ZOXhXn(C5#ZtBg7UfZzm$y-2PKy zVmcCwg%aI!Y=PtBb|)64;+e(n5%x@Q18;7xb9a0H@O;Smfd+;=(<6(Lz(|KRZ(4KkTt}iNy@A$kO)_7c#Sz+_WVgXC#M3&<62&OGN*o~4; zxLhpt-^BERwP|g(!^F6?=SAf=?OlFb?BDb=g0ug{+AA&id8TSg-B&A3$11fh8KCtH Mp00i_>zopr0LjHe0{{R3 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_kelp.png b/data/games/garage/mods/default/textures/default_kelp.png new file mode 100644 index 0000000000000000000000000000000000000000..4b95b84cd2594f5ddf2f2d79e32cfc4e7c65a38b GIT binary patch literal 296 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*dXqlx0mt0*MpdZTl>D3Ok%X~<9Nl+aPHZk7p08b#2XhnRIlHD q`Y2G)$uY0@w7qi)0HsvMnuU-YZfWgz%&t;ucLK6VG6K?1L literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_ladder_steel.png b/data/games/garage/mods/default/textures/default_ladder_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..870412621f87c06faef812ce7f4e8ba9339ae1a7 GIT binary patch literal 297 zcmV+^0oMMBP)ER9{{+_^Q^@vigYj( z^!(W%z`qory#e@ZT>(HhNWqFlQOL3^n+C%$XpRm|)2L2C3bs}p$C72)fj>2R0Gw`c zMZvxtpho~dePBh_^*uoN8Zd)r5Pk#jg)t5GI+zAQANayNqHxzphYe7cBAdVyzCL%$ v+qMmBU_}7%`(6Xf=>>go$I7MwKgZiIuVH-1{pgan00000NkvXXu0mjf8+d)L literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_ladder_wood.png b/data/games/garage/mods/default/textures/default_ladder_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..6e18e547aedc5a4495253a94127544ebb9961f03 GIT binary patch literal 458 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf`2e2~S0G&(E!3B7QV}UPufnf5 zLMq)=pum+k!<}Pxjn~vtx5-8J-I@9&{z|n8GSzWn6_Elt-h2tRT`@l%3)^EBR0l6^3s}(TGo#99MydCV3Xh5T*1Z|VWkG5U$%>hNk{Rw2`9b0-P67pf zyqTWdX)at#8)BB!M$WDXn^9ulnPt~mU^=DHq&vr`El0mGR<}M{vnfNpB2l#}UOqoW zzAQqf%m?T^iGonUY%hVbV7??f-dHQHqA<36f7U#2)?{a9kw<$^0=>jo666=m;PC85 z8j!Qn)5S4FLX!0$bJ7tYcf%Fi-&JPmw{QQyzlG&A-+?XcOK+tI$WLc$p6r!ue$XgK zwDSA&_4BtM@{@hU>u`ZFeLcfjxid{$Ol;<_pLEK`Lw(2Ued`yeNaxO9{OTdwtlEYh z?6YDUvZT`@tuta;AHU4}vse4^(uwt3ujTKTzx&r1%(>;(5lc96$fd zX)oiJ@vFE!<>j;uJn`;&sJNiVAwk1K0(~k*3eT(#aC=s?g{M?5S**UQdd;4o#(N9a wTeLUs%L%*VE1g%&m%G>P%0k}Pdlye<=k;PyX%>3866gX3Pgg&ebxsLQ0J$hoF#rGn literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_lava.png b/data/games/garage/mods/default/textures/default_lava.png new file mode 100644 index 0000000000000000000000000000000000000000..1d7039ffa6b62532f833f4a569de18c8877de7b4 GIT binary patch literal 1015 zcmWlYdo&dW0LFh3?np*GOa}0aZb+3(dByN-s?(dw?Dq;`TqTmNIhK*4OSWehVE_>FRcomVu_xX zMeB^bK{rRb!^gz~c7hbNlU?8oeh>&j5CWkP2H~&=WDo(75Czc?1F;YX`{4k@Ljoj1 z5+p+k9EPKi3h9smnUDp?AscewB%FfNkPCT`4+T&NXW%T9Kq;JqGB^(vZ~-cz8fxGY z)ImKoK{K>M8?-|wbU_dFYR5vZ2)QbxQAm@J79p)dt_!)LZA1)eqlh*UT_XBL+}3&< z+HLq(M5mY@F@0j%9T*nV<;aKwcOB_-qEo_vgdqtx-MHmOj}*BF173`HA(t}d%|kzi z0~rfoIGE93?uVcVW-1tYD7PXQ4dXun z$Y$mQ(@$A2lVhpOMV+trD9=(=fTjRt;bLVGs-mT{#VCuJDM49cJX?yYl-Y7rWhTlB zW-C#a*{jP}tE-rV-Ku7Tem!yBHcK+O4`hBdSf%#S^7rs8*m9a|J zP~-3R;<6VG9QNhi?~bmwjBL3U^?}fCMe?Z_R_}3q#w7nz{03XU=hx(=Z^G=GMf(1y zL&A0iXWRaGq09rbZ_V`gHMZ78IBl=ISl^S1W#X5nU;K6Z@892(l;j3ozKV6B_@#Hc z?+tZ&ITsaMe3ihVn^tfB(mOctXMptB8MAfnys=mCNqO7#8$W#hVOGcf&z7_7ZJ*zo zGJQ{e?EIp}4;ILs$=-oRh&m!KkBdwzLr&m@QEq(dQAAzs4C3= literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_lava_flowing_animated.png b/data/games/garage/mods/default/textures/default_lava_flowing_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb0ec171e9a181d9eaa9aea282b781e7302c48e GIT binary patch literal 2308 zcmXYyc{CM>7stQv*+TYgA!SLHBtwh5nWqq0MtUSBR8Pjz^HWnPDwL>6mPsQaOPFD5 znt7oTvem@cWq*_-GZ1-Q?!oQmZbEYna1+yIUWu@>|JOUYPpg13+x7_fYvFc*j+T{HlN!nS2{oa~Jg z{zNVvtV?*OiY67L0e-^rU%|eEY2YpJGvEQN_Gm5MAS@iltIepB1Mii|QUH-x26h&f zys_wx&iyEr#S0?lfm$E~um{!_99G-5uy09l?_u^dMowYW0>hh;KtL*BEd-Wh`0Yf7 zJLY#`XcxK-(O`&5MT`;!%O)If_A1k7Mwg~if6(bWMF z-Wzc9FyoDJFZ3S4(jj~$qg@A6niy5U9za*|f+7=zzp&Iq}3_)Qx30KxnL!N@-Tkda_YpHm^rO~r@@S`Xp7Fau^;ol2ClJBb6?qx6zhzIY#H#7pD&e|xC_Q* zJU0ioVGpN5t0x50hmgA+lckn3*G!wk2#pjhPM6#V#Ht-_Z75!KbKP;?N>XakUv4lM z&At8_``1RswISOn)R13P_=GmpGnv+mYm&b2`bbf&+_&U~zJIcvu7|#4 z#VSd~U(zE-_=u~|n1@v`q+^biO1CO!L_E?+HZ9uuw{h%lXYHoYtr;tS$*0m!-FYf? ztNPqoz2Om;fb!5vtMTq#H?>u+t`ckirHqe}0^{qF8LffVt`p>{#qeVi?fGp5x3>3Z zN~>_9OMi%8=rr*SsyyC)i8p30Ie5?9ajwgvNHs||e0(_ja&4D-W?1NAv8DaSEdI$=Pf=yk-CE(}od$BkksU?JykQ5krK#L2 zezmWf0$jb`sKxHH>wax7w{zSnHoRWR!^Vt!GN67UyT3a-+3Nn7xVgVgcgKJp^Y>4K zV@$*K5V=L*cxvBVChL^s%uoU&xCzv7@FO%goDUdD63;W~E)jpQ< zbY%`T`=ft}$0}j^oA(_O$FJ%{|8(V0`ak^+b;fg2KC|ujqbb)ePX_bzD>w;Fn#||* zkBN-R$Qk=Gk^aOa!ys1!{>?MKD>51>r0te|7+RZrC$YQS{q+wnBARzSwC>p-BWr3c zh}Yde@zlcdu=2hT+6>*pY{kgrc#UGtA|JpC41~76>!b8Ox~C}Z=xf2?qr3y2 z`5*K2FIpHm)6Uxlwnmv|+<9C`^Sm@q{8L|GKJ)08sk{_ky34Tu8FK6OmZ0|fm!g+s zdiVIu5_9&I$@RRi|0T&&E8NiPqq;;~)!KD>e;k?Id0CZFY7q0PoUc==e>#sI2bx%;?e4(`A&-4tqC$sRWwG$J?=0 zp2=Tq{I1AvWBP{bwcb3l$B>fiKDfaxBcSGxgWQ#eVg7NGPtQvG9~Jy#S-3oG8&P2B zsXC!4>tO%1QM0-&Vq?@%qQF6C-)?H0!YSFqx)OBOT&RdrP3E?e6)M%SMJt%cNaYM1 zHcPX=rAe3F+2WofVsgP+FM8M`W60F^wf(i)-Nvj8)h#rV%}Alel*Atz%HKZxEy3#5 z6}2?A9o{5Ov&x=`mM3TU(I=A9pZ5JysV=>ApX$))@$TSipO@PF&J%wwXZi4%Ne9V| zJ){-oArUW87O(h=oYhwQ?GFcE?0rbT6*NBoCwG{vUL`jXG81Y#+gT_{kS7~zksBAO zCePgl40MU&ZMRCpUCKC%>tcUz&W+X)C+TiVN?{IOAJ@ZFCPo)+m@%CD^(KRUr#;Z%AUC(qI^(H2N*ZP%gpkJ8c9pBoy=|M`&bW-?2 zhhl@3D`}yn;)u3(7U!zg+lb;?`w!HY!+yCHwVbj1tyC@J80XLGZ6!YzKj}U3d)#J9 zD)kgEPjs)EljgVc{c=0D1+8zRHwG7)Qtf_pqHWu1wl2AU@IR*#%f6d?!VU9Ewz_*- zA*&#$zpwB5PP(_mdg8_+c{*W#$&E{8ay9?P>yeUbF3TFH9bmIV0>ljee=On>>YCL5 iB-hydPb^o5x81l-J4$+yyjS>O07pAl+vf-UWB&_szaMr0 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_lava_source_animated.png b/data/games/garage/mods/default/textures/default_lava_source_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..326af645ee7ec2d77a0395dd351eb93019a9c011 GIT binary patch literal 2186 zcmWNSX*d*$7sg)`W2*)kS;mke%T4s3RJJ57B2q*d6{U3LhMQEbZIGpsdI~pGsHh}V zG|5sFDQZH7F4>YL%M7!k{`29S^StLdAI|%J`6cgi*|tbQQvtvt$L$WgB~wXKF>(te zeXWy*L=XhKoZYuDfqOs}&;+ysM}Z>XB2WuV$4l|D@DX?hm5;3k0^2=0DxHew8D0P2AIKsX>QmYRu{5;sAR z2i{dg13`eemM}jFaXW-Bz`G7k1g6h|DP;Xc(ZOmj;e5UQzLSF*XCblEg;+=cf+O4*Se;_KH5Z zirSpTKO9A^Tjqz>3z=(Y`^ch7;(lQKm9T30rpn3+u%QQ44I(E5F-X? z)yHQYH0t0x88s^CR6>b7LID%Why3tg(?PTSM?`hz{5#aSj}-Bw>P*t&nFu*v4FuWf zazQH@y{h=R82Pf2`y}xf|9Q>^LCJbSvoY_op|H$gesH;%7OIOM{o+30(D_o~f(W_@VZuw}}%)JO$H@IQY@p+V>PG(gH zPv@4UAJJ`eO$GUF{;i1m{QoI@Y{=A|TG6WTwo>F)bA?XrZ7E=gl1Qz4${*VVJ#86r zpa!lhAus}mTaK5tjc1Uxs>kGsnoNuC%Oy>}6-N3;!@j1MZ#uMVJdZ@?9a%#V{d2Ig zQ#-S3O!}Nq_Yn-L*&S zeM~O7Tk0|NX%@EBw&M8~tHCivOUq#Q^ok12mNS$v-}T!2-8M-`W3t&V z!?)^C*sjtia$#f>*}MGT{o|#=2E*m-iaf93T$0*iPN=h%^75QsW=3oZt!SUuRi+JJ zUFP5d;a_fHryP@WpX~TvR({w>C-@H8P1)4=g>k{3Z(_|%i9c=Mf8o6kPusp<&g;pi zR)xZQIi;-Qrq1a}DQwj~d}?cs@n?nJ@s@kL$}`T-{%?_)?y&ip;D-1qM@^N%LYp~H z@rI0N{US?BekajFe66VK)EPU|V=|2WL2(m_B6H3DDqibH4Y_+44k(NsJ4d_uTo8Oh zzgphuo4R6QF@;ihHi)RHUF)#nB##)X;X)ffws-p~>Tu0(jWdczqRSfn1AcRS!=C+o zJTQMHCi>8_0?mn`4E6~(L9?>{r?O>KgN1tn7utJwZK~X`U}pXiC+hrttMj40;!SHt zR;AtCKvZ8u+`Kh`cJ$;3O-*UZ554n#cc_cYW16hSQ>+7CrT)CN#>3V5wp+@5t8;4g zKimtnmis+DA}#YJ=t5v@_A$-2Bv!rM?(VdrA>rOB)7A>MO*YH$p%&SSWi4glt?CnS zjd`2prR+2i6frpvZQJvkGocfZSXUbHys!92RR2@vz}f)y>EBzKx`CYD_Kk0H{Z=Px z-6os%jm3MrdUP*5>PSg>7}FHD!o1JqK56zw{Eqc;G7DE5aUPs)Z(3TVR(|T!6Dc!e z=e!If`mMW6jR-yN5~<-k8D^drvnnFLUOXMS+k1yBW!Wcft?N4Je1&$8?UkAGjGd9H zEB8fZP8WNVFPrBPmE@O>ZQBjLnUpNS*A;HX3l-#p^2s(;*^0XKLyuO5zNvm^R83iNm!$qupGi}UJ-O4x zF6=`)}-(A;R0fyUueJj zV`ZhP{E2L*IBrh|rDDZ_A@!t&D^HRM1>;Y9&#x%8ONjfI)7eQJxnMc_{_j`TPR1%n zPd9%^RhG4iD1F@QO0V;%?d!h5y4)OJfph6G-2&ffQ83~pv; yJLioS);`UcZoKbu_|=5t6C;&se%0mh$T`^^pAz~QVO$CNB#_?X;!tdVi1B|sz3Z_6 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_leaves.png b/data/games/garage/mods/default/textures/default_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..55ba1e680fb0289db8271a20ed4bb5da15e963d6 GIT binary patch literal 447 zcmV;w0YLtVP);;_z7e#?O??q-i01Rh z2?DW`#Mc9iK&)9D_50rn0o#&@+|)D;7NMSslNb@MKkrs-a&uYj0-IOtB+d3y8dI^Z zfug+x0kRl@oz1&BK&WVX@^@A38qLi~5Db>RtgcTz0hAAOMgmzmfEv`qiLxa+Y8=7_ z*xXbQm6&BtfP(;#Wv=SZ;4Igi*nklzgo63pS5gEv&m{u6aOfGaVzVG>jwJ$wD@3Kn znb$$A9#{bCn7u#imQ>Z!`NOs@GYB=S*S}Q|Z+%rq036L?Gus6s1e~ZDNso7yFbZ3B zIjqLF=i`iZO?BCB!W!A7>Hu4iTs`$Q;+sqM#T;R|n-Q2gMKQ4V79)W16V-hYH>ZS! p02x7!U31IFm z#RtK+Kel$>opPrNapxa9&LluSZH^5c_j})Z6J@)S6Iz@_D#x5tQ4)%z_!YzXhA&ml ztFP literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_marram_grass_1.png b/data/games/garage/mods/default/textures/default_marram_grass_1.png new file mode 100644 index 0000000000000000000000000000000000000000..107a25902a8cda7d066621287301d40698eaa876 GIT binary patch literal 246 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+Vyzr;B5Vgyh+SCmEXz z7#KEmESS<1s;9f*|C~=NtY`eNcPw;Gs?*AHQL_&%lGoLrn-ugpEntmRQ|q;tN_?Sr ooaQZ^9h_e;Gk?zZDdD~P#dnzw^!M%i4>Xv;)78&qol`;+0Fp6RK>z>% literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_marram_grass_2.png b/data/games/garage/mods/default/textures/default_marram_grass_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d05c51db680bf4dd725fa0ae19c0a9ccf7f053 GIT binary patch literal 443 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_J0~J9)3^PN7ffG}~S9$vh9<+|!~OKv~z`k}W!b01HgYulY#k-Ke&KSb>PBGUT!wWf{Cp}+A3 aQ6Kqx|MEtvNr?Rb+2!f#=d#Wzp$PziZl4PP literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_marram_grass_3.png b/data/games/garage/mods/default/textures/default_marram_grass_3.png new file mode 100644 index 0000000000000000000000000000000000000000..2a9668c7170d146de69ce731f1a070b8d48c2568 GIT binary patch literal 320 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;+PZ!4!2}#z2>`8|d7#I!&3!P+Ia;-2*(P&#TE54btYsZ9G`ggg zDsgk|ekD>0!V{|rs4 z-|c|n&YmugAsp9}Z~XuN-@dK<^|${i6??O1EaZ)#rv8pq)2>gTe~DWM4f=n*w? literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_mese_crystal.png b/data/games/garage/mods/default/textures/default_mese_crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d71f169b53d8977d67dac112d05e2b9612e383 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VE0CTykKzA+rZZ<4R<2|? zc#vV{Oopjbfg)nZj{`}UuU{FqZDVL`1hSQ{UImhoKQ?c_4AjP0666=m;PC858jus| z>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/data/games/garage/mods/default/textures/default_mese_crystal_fragment.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_mese_post_light_side.png b/data/games/garage/mods/default/textures/default_mese_post_light_side.png new file mode 100644 index 0000000000000000000000000000000000000000..80a0999cd52f1aadc10134652c0e6b4d42dc465c GIT binary patch literal 245 zcmV8|{yL^qQ;f9(7Y62X z7$Jl}L*A#c_w`_!CLG6sWm)yk2FmI{IZ{q2A7?(GvK5ka2c0jWZ)-k~W*f-NMp0d$ za+?n%dPv9wQqSm{#Sefo224nca v6n;2E5YG94>$>nfug+^{1LAZ3Ktt~dha*7?7i}O&00000NkvXXu0mjfFWX(Um8}%s za-8yAn9J~3ES}+5`<7UZ*Uq;MWi@=HFO^IZ3rB@kkp9W1t}egUZ-Qk+8=fb3%J1ap&Fr?)SJm(3Reim1K|XNWS0C_xt@k{`_9a zF&>PMGsIC86`y%1Jy)Ch_110BaC=I^QHqNBG$$)B!|8Oo-R{oL&Yqs0-rnB6zP|qc zey`W-^Z5n_1_lQQhlYlRhlj_<$0sHx<^#3!fr|^lhWX&-gBTmBu`9IL&#?O$E{$Qco^Xd4?h}T~VYoboD`fd2ET7GA zr3`0cfsqAAIZ*JFZDGL)hHK?O2@B4!z|3$i7UuJyl!N&ksNjK_g+)&}4+|PtSj@qb z02cC~o`)wnSjwXU7HWnHmhS+tn1?0~R`c*IfE7F{0q7KuOgyY*`2m1V17s4A7CFnK zY97^q^}4{L27u2%Tnw-oViUmC5SIgdK_I0-=o9dHh^ql^fTT)v5U@s(9 z5L*EBLTm%@mH@qoXlgwas~~AYVkHu51ULfVr~q$6(gMW>EY>07Kw=XX8l5@PU1ssK=AhM?Xh1<7O_~PY1VpJm1>)=ypC#bv)Rxc)YT_a*NgO z@Y!`IZWQ!ff3rRM^#^LnsCa{V^{OfHrL?z-sd~#=-RiyAvhJjVLknMY{P)bVIW=Zu z)v@H7`DoVi=kGi^;4pqvlzQ%5&+og8yT56!N@Iq z>Q;AI&3~oL?fvb~>F8|Yd)u<_9y=U+@9GaR+e{Yj<7xNW*t<{ONY?9a-PCW1)$d4p d(WdwRlaQBdHT-SMe_#7KDl@~FKDz(7^?woUK?nc< literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_mineral_coal.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_mineral_copper.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_mineral_diamond.png b/data/games/garage/mods/default/textures/default_mineral_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..b817bd11536ad5f08dbc603211fb3c2275f28be6 GIT binary patch literal 257 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 za{N7A977}|dk?zuH5iDn9{B#cZTJ2E(@w17R83^_ba!yd6L>A*uKZt9^#a^UJg=cYsDSc)I$ztaD0e F0swfve>eaD literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_mineral_gold.png b/data/games/garage/mods/default/textures/default_mineral_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..2220addd6e354c0c2e07c0532036c2600cb7c28c GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`uAVNAAr*|t3#=?QP5f`q!M|l8 zNALgn1_w-=ZdmX#a|Yf1S;CXhqN3K;#>{mrTVPjG)i2)0jVFVXG}``WzUNga=ZIut Yh?lE>?kBln1JFPQPgg&ebxsLQ0Hfn4<^TWy literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_mineral_iron.png b/data/games/garage/mods/default/textures/default_mineral_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..5d6306284a4bff45f7a5c87c1e0b49c0bd1a9b7e GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=5o|Rkr1NM#o1_p48vi zSXYvl8yp&<#BgmIP>!)A$S;_|;n|HeAjiSe#W93Kmi3^cV1ok>%Z4e&7gF2o!&N;T znf}GA04-S6xT}9d5n~QRi1JCx-G)I8@h!-O{W6$~GkFQqd39Q??U3p9(t M)78&qol`;+056U+^Z)<= literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_mineral_mese.png b/data/games/garage/mods/default/textures/default_mineral_mese.png new file mode 100644 index 0000000000000000000000000000000000000000..56a447d0668043c64f00baafcfc5976102e40c5d GIT binary patch literal 323 zcmV-J0lfZ+P)k`x$mCsWR06|1bLY))R*RPHqg<7zV%;iio1R0Oqp55QZoJ|8xF- z|CQl?L@dKLOc&t7P?tqUGaPvGhT-q7Lk$0I9I&_m7e;oOg&jjsKsW=AFdzdHGyq=| zq8Naz5X7E7i~C|}Ipd_fQtUB<=>nuEj80^@3XHD*py;x)W0-?2W-tsu4k&XAhDqqr zh08lw!$4h&!TQAqhHuExg&duQMGR|U2H^}u^yos4&crl^^Dys{6^+Q=r6?NKT!Yx002ovPDHLkV1jc8hUNeO literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_mineral_tin.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_moss.png b/data/games/garage/mods/default/textures/default_moss.png new file mode 100644 index 0000000000000000000000000000000000000000..bb98d7feefe3d65da61021b47ba5d0376f6df434 GIT binary patch literal 481 zcmV<70UrK|P)+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%3zCe_`klq(Hag>H$T@6I zL(+W@rV*$PK``$i(oyWWW2l^+JBpX*-Sq%QAtB$)Vm`tvr`mu<0s7bMr7FOQCHDJ2 XbozM;cLb literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_moss_side.png b/data/games/garage/mods/default/textures/default_moss_side.png new file mode 100644 index 0000000000000000000000000000000000000000..f18322c6e1d54ec384afae123242d09a2fe8dad8 GIT binary patch literal 326 zcmV-M0lEH(P)}= zEn|uw>^fsK8L$LioZaP!A6wCQJ2P5o5)+8%3zp}En)xw00DGTPE!Ct=GbNc003%9 zL_t&-8O^~#5`r)c1<=H_fK;Q7b%7 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_mossycobble.png b/data/games/garage/mods/default/textures/default_mossycobble.png new file mode 100644 index 0000000000000000000000000000000000000000..1071cb4662c815f920474a0d6701332e3cbe2840 GIT binary patch literal 312 zcmV-80muG{P)6Fg%5+<0z1d%A<%lMG@TP>|+-YD{Zp`>P0000< KMNUMnLSTaMDt9yh literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_obsidian.png b/data/games/garage/mods/default/textures/default_obsidian.png new file mode 100644 index 0000000000000000000000000000000000000000..30e063fdfca3509a4dd33a6a164eb504641ea4a7 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VW6%Y`RS2NVH@Dmael2Ou; zl2K}5`mPR?b@X&`4B?PvJ;=!0;2^-ffsfTX;Dd&OBO@oYnKly_N~&$Wbff6m%*n=yUAnyiC5)=-{wXWwSpIyH vvVmhlHfNF!+sX}=oKt4;nBEK&;9+4%Sgd&|b=tRdpj8Z>u6{1-oD!M<)zLR2 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_obsidian_brick.png b/data/games/garage/mods/default/textures/default_obsidian_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..e4c8fe7f90ffda475b305c5e6703741d4c3c8995 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUWnyAtV`Jmy6%-H<5E2sN z7m=2dk`k9zk&;o8QPNRXR#sJ2l~*&=G;%aCG10N`%k1_!2-KVJ>Eal|aXq3A5+_CFE0X@J!Yc5((ns4H8OVnE5g5 z>aDFj3W*c^43f{zJnSx!b57=8iKI?a@v{d~0*?(mdjHNp%;Qka*Cfi##l@w<#K~YD WWgKbOv#$wgHG`+CpUXO@geCy^C_oDU literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_obsidian_glass.png b/data/games/garage/mods/default/textures/default_obsidian_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..d5ac83d09d4f978330381944e2ca09138254aebb GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t{_1H0eLk;Q!^h?AcwIe z$S;_|;n|HeAV<~H#W95AdNN1vEU8lu4jeeZp*}-G%0Y*vaYC*`*rAqHy@EL+3|_lA VShk1sB>^=sc)I$ztaD0e0sw#{AIty% literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_obsidian_glass_detail.png b/data/games/garage/mods/default/textures/default_obsidian_glass_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..1397ecc4e9099386ba41895a97f2a645ecb795e0 GIT binary patch literal 74 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`f}SppArg|w60D08M0%Js7#LUt W7#O*mF7yH=89ZJ6T-G@yGywq2gbpA8 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_obsidian_shard.png b/data/games/garage/mods/default/textures/default_obsidian_shard.png new file mode 100644 index 0000000000000000000000000000000000000000..a988d8ce3689cb6bbba1e3d01290def0c8c752fd GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`rk*a2Ar*|t5{wSV4}G`inVj3O zXO^M_HwVWbb$8=dwhQsbhZuHcyD@w+QO;@4R=Zu+Hj$M<_mHkvj@|!_Km!;&UHx3v IIVCg!0M2S3q5uE@ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_paper.png b/data/games/garage/mods/default/textures/default_paper.png new file mode 100644 index 0000000000000000000000000000000000000000..8f23924ed09125ed78690b1790ae8b8b48b4c4ad GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMV1=6QZow|1I+Wq_YH*em& zV#SK7Q>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/data/games/garage/mods/default/textures/default_papyrus.png b/data/games/garage/mods/default/textures/default_papyrus.png new file mode 100644 index 0000000000000000000000000000000000000000..982d589cce9d760ded9a96d0d682c6030aa5b9c1 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=3MXGU0WSDSfKh)3vgu zYPc2%2UUq?OjeI=m9q@uU$-=KMsI?V2Vd9wM2;eyZZI|cJZ!e?r~UwFvUr#Wy&)g!^yz5hS-uCeor z*&g#y`u3#Lri%R`DH>mvr=GZaJ+?RT+r}FcEZZeDs!sA~{fH&kN) literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_permafrost.png b/data/games/garage/mods/default/textures/default_permafrost.png new file mode 100644 index 0000000000000000000000000000000000000000..6f2567e7d36c668520a3f17f882b7aa1dc52a88d GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ)lpNhFw(IxGqATbb+j>e zwzYI~u<>xV^Kp0b_jC>N@dyp@4h`~8hz!X|PhriPGzF+}wx^3@2*-8C2@LuF8Fsp^ z_AZP%I*Y-ne2GiernG1V+cvGFwLuAL48|g+shQKdgBSuM*jA)&>PllMc~(6`%`J?Z zA*Wp}b(@w*B!i=>8dFNMb{a#AQpVONO0~-vB4ss}<)}1;F_gHar=(?>h%tmHy(~?0 zE6rsHNI4d!5SkUmkd~^pL$Ph!M25zu+KoHRRy8tQU#^tCMEp%?$XXNGz8(6xKxZ;| My85}Sb4q9e0EgOB=l}o! literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_pine_bush_sapling.png b/data/games/garage/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{mLJiCzwL4-t*3$%7#ZHMiX^8! SDb@m7#^CAd=d#Wzp$PzF5<#v2 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_pine_needles.png b/data/games/garage/mods/default/textures/default_pine_needles.png new file mode 100644 index 0000000000000000000000000000000000000000..e0e39908637cba3ca7d995102338ce97550d0e37 GIT binary patch literal 641 zcmV-{0)G98P)7IG?LiF|mcWBhx_5N$AUw=cbu2_$Y|^?e?joK&am5~fcmGXIoI?O-V0{t%`0u60uE zRz2`B|D0QAO{#2m?YY7j{l7xKWQqmV>0Lq}*?nqwHEDbi>J(_~4$wIsgVR{D#qt{8ySas4m7+G;Eror{tS=XFL?{z|wogQSnIIY~F zemF$uXlzoK*`$#;yNeK4Wv`F9rwrkm1G&)PLOSZKtXCtaMKL-LjZEvz2@ED*gfEuB z@nCn7NWE>MnFp$zph`2D0^}mPj*EX)n!@qq52nEDY34&GLzUMyd?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/data/games/garage/mods/default/textures/default_pine_tree.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_pine_tree_top.png b/data/games/garage/mods/default/textures/default_pine_tree_top.png new file mode 100644 index 0000000000000000000000000000000000000000..e26a835dfb2a11aa4d1312e645e8bf763cbc5f92 GIT binary patch literal 567 zcmV-70?7S|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?9#d!J87H{H9*a{0C00DL-+70EV_D$&8-@rJ-hWD7^XXzSW8*ncJX5*msu7Yljc zx59gXpRu7fidMN)Em+|LfrXh(pUQb(uE}bYBRI1&O0%3URoy_U3<1vFTg|OE&zyFk zn>~Wxl2AP-v6A#*L+KItmAs_W64(8@DU>0>MXIBx98FJ2nq*G^{GGHi{j6tr*^C-L z6a1N78io+Ut!e7j8o+k-_Bb7M2jlT5w^{=LL69T}0RN>b81zEc>7xJu002ovPDHLk FV1gGpD$xJ{ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_pine_wood.png b/data/games/garage/mods/default/textures/default_pine_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..29f9d6d265a294a0c6236a67ecfc38c0b1b8061b GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMVy}PI5#mRXOca&dTnsk0q z!n2dJE-p@bw6pU5zRssdr{3Mwa%E*sHn+MOP<^SVi(?2!wCgEFJ|;sE*Nd~Iv?`ez zv+JEA4tNVJo}Hzo)|?*Z(3HTqhN(H7^$p+2i|l63R?K(pw(c`aVhZ9E>X&9{Z&<$M z|3sBcPA)+~)>U!&3Kwr(-R3)?T_td-x13jw;`#YIlWxcD?tFZsemcjN=91}k)uAG# UC%QJi0y==f)78&qol`;+0HrEch5!Hn literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_rainforest_litter.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_rainforest_litter_side.png b/data/games/garage/mods/default/textures/default_rainforest_litter_side.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd0bb608a4659d06e4e6b0d62fdfdf1b3a866e0 GIT binary patch literal 496 zcmV>^`yd12ix`-QMn1s88Y>tXD2U*K>*`#3 z`c_>R6B8GVP5j`%QI8+aQ}jJ`2z*f<9bhp)sV%o=6=TeI&nb(N z{kE2Bn#i(@ZPSs7P@PzeOjFyo%8#CX52fhfnnCyDh!j?{oC>*)TwJjcZD_j@-?uDI zri9}*boHL-dR~9#>FKg!B2k~r3Kms?_@?K@+wJCR-vMxRk+P~#rXVBm@)J)~IakqE zL>Qa4=ei9%f4AH8E?`6eIKTKB*8mUh6f}L!vk(2|?9pNaoWFX1z2>+2=y~&JP)CS(e)F?d8Nq;0ZD_?cz z)jR!E{L84v;It&ex!8tipv9dO!3F@luFCNg&I!qfXD-e%P!ch@IDsp%ecHC z_lbm|6okTcH+t_Fw+rG8I4=Xsg@51BwIBwM()jqGHATKpHoh&dU~ zFWu2OdFJG!j@~QfX$U{`$42`UXfVP-cXVjbtk8~N9fjXMXqUo0VOWr3v3B^>ow6mN zK{}uXD}u(YvLY#4h1N+;%pFvzav{Qytx!k7o((~WT1XGv2eyrlsxoI1edCnCtZ;9M z^x!oI)2`g^9R;!!G94ACY*%cG5^JMbGUvpaa!PQSkP4UY9enYvJH%kr4RS)jJr;IL zcw177P>X^XEO-^?K_LsIz|$A1g?XF^g@+j;6T5C3nZkDnVFF`86V5DTz<;Ats_}aT z7LG|{tIBgNLIpe5;=WaW2p9|BcXAE@nh8=GKlS9|jf}+KPDE#2H;!oh56jtM-H?tu QOaK4?07*qoM6N<$f`U{g5dZ)H literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_river_water_flowing_animated.png b/data/games/garage/mods/default/textures/default_river_water_flowing_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..760d9eb78c6fa61faed5ab6c261ca4a49c693620 GIT binary patch literal 8079 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_river_water_source_animated.png b/data/games/garage/mods/default/textures/default_river_water_source_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..e7259ccc469528476cbaf428e2704ee2b9fca353 GIT binary patch literal 1766 zcmVEK|000K9Nkl$vF1#E3AvW0DL@PsX=&jE*G*zu3$;`(B47=%~<} z(<{X0s68Pa7U+0ig{vjJE)HFcZsGlmbaWF6}w8=aQ7Jee!~&c3mnDZ%OsiIi;B^I6b z96Ij1h}Shq`HLAMj1dtq1$jLiz=D=d3FJH3oKU*wQto_8$~gkupOOxXPX`Wh_F@eL zF$Ev<$gO-~Qm*cL)|5u~fja1XMo=yMz#;@V`5rE`XHzzI-$Id1?%0IDmXz<#Dc*pPa;?v>0OF`ylz~`M5K95Usa!dv zL!rs@8|Y+#+|Qr`8$pByJb{^%>Mlr1BG>W8965)aYcop2g&gu;MnesjC<8nI$4amB)B$WdXi=+Z3QW-w6Ty;cPLH_vz zo}twto4=sg)s(WG1!Z7a@=u%cn5`LDZ~zrckHQ0)eH>vn!V;crk$E5^IMt!;@t}-} z#o|&rA$cHUB60Nd=zw`3BMuzk($Lz@1CIq8JW%oB@8d5}n&t5z2kX25Hx0X;MlvN$DPj``dAj3V62MSLTSRi=t ze0dYrHqwwGb&xIf!1g;NCBaVT!=79=@6%pmt`e4O_hwFp%rQ^XyI)*tb z9&m(9FpJj*emscPaUE%YgE*{tpdk8Zhyn9}({+Grp?R=cACw0Rj|aInIDm-~ng^Tf z0}bNI)^4KlVAu7*ng>5@eV`jGXZVJjG7!|y;Q^=dbo2$m!VO5*qw*lnF<9{+&Cdaz zy5HeJrp3>SIUP1Wt$CoeHhA!|<#=S?#)Aw5vyBI@A@?;8D*P~okfQJ)54Rqd2fSa1 zygmragRScWKOXq*7rdVU9&GLx-gxgf_6tRbC5Q*B{X!XJDj?;|gY|xa*9T#FP`qN1 znP2Z0Qq9>fvR`Zw;%-o9y-a}$v9>g2d$oqvtk7py4m;e(GaWM)HxYOd` zUmhHyK~x?Tx*WvC{rX@R9-ItZZ+#$h76cCj54Q1u84!8Dz|(khzrfn4jDmTv-Y-;! zU+)*R-hJaB9(el&?@J|^vbkS4gj<3KPnrj-{X**9o;;Add-5O#74F4@Sbt9*yl98~ z{y=S-p1%)y5I1i8d7vUqrz6(;f{I9SXdaZY0^Q_+25D#NPIw;ZFnKQ?B%lSsgD1@c zc4M_Z*og-^GEn{i3pif8@IZ!zZ!ilB#*REtk9G@cKY+S#XgbzOLYb;DO+Q;DO+Q;DO+Q;DO-5|BDBH^#_4G z;QE6Cn?76$9ta)?9{eaCaD5`DaVH+E>XH2F6GQR9uRhV22b=Xs1w?sUeWEW9_8 zzE__Z$b+EsOo2RjBIg?g4}Jy@yl3F^;K6e~-xz6q5S0i20LfZYDlM+F)&Kwi07*qo IM6N<$f)=epRsaA1 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_sand.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_sandstone.png b/data/games/garage/mods/default/textures/default_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..16e3d13bef014091640abd33843e6c0ca0d1cc28 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMVJ#l2p>7&z+9PB%|yY=Xy ziHG)f@88vU?&O>^$7dee({b_4g5BGz3oCa_2CARw>Eal|aXndMrBRB2L8^IbMy8$! zPl{f7S_ZH7SFVtN2WcC0Hk4ctn))q)L)T!|jzxy54UN%9QkyC!OEEVeThgR*v~Q^= zPgdr-oO6>Hm3Vr3(i(a0Fin<>apmb&c!H&hk zk;uf9%f*+>$C=K_oYBmn)6J69&Xv^9nAXyp*3+KY)S%kbqubV`-Pfnz*{bK^uXy6T zSpWb4tVu*cR2Ufr!HIFhFbo9118^jzq>J?5Try)@B);tO=TJVgA?<4R{4w9QuQw2E zzYv?KYJ`qJ4Oc1dUik<@48hM@Q~{tlW(oJIra7BHr*_gOSYJm+RslloQ^bRknrEEp zV%*f#avG~g$K9UnU}5PqWnV|lSh}a4G3E5RUlg{B!jRCW-={c;Z8+avEt*WW3dI>h sk75m$NTIC=OU`uuW_9+6A)#ea{~;-NB|z;g8~^|S07*qoM6N<$g3J%72><{9 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_sandstone_brick.png b/data/games/garage/mods/default/textures/default_sandstone_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..6326391ba15b4316ec00cb9cc5262ea010222510 GIT binary patch literal 386 zcmV-|0e$|7P)W=}$i$S(#h1*-na;_a&&!C?%#P8_pwrEg)XtUE&zRQIo7U5w z*wmof)T7(hq}|u2-`T3<;Hl@~uW{5bbpQYWyh%hsR2Ufr!9i}rFbo91CAm^$q{p_% z8~XomB`9F0wj_$|41YT1tO?1fX4i{;SZ@Px=4|kjh*)sFIigIJV9%Rff*}RY_qI_5 zfUeS9cy1B2&LogibJgC!_!wH2Di>So%?jz($@Mrvj{ zDt0bf36-V+_QrauaKCg4tIzcJzP$e5 zBzy)KhQYpV+nU4ecC!HEIKBmDP1stfA$hy}=KN~sI1T}#C?dPkeq{^rS;Sw?YZ2LM zPApv4CA(i38|2LQblBEalG13`S*V8_g(>p*cptDyy{|&MSkowdD2wvM2tplhb RdZYjV002ovPDHLkV1iL_hYtV% literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_sign_wall_wood.png b/data/games/garage/mods/default/textures/default_sign_wall_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..eb91cf6d01b3429bd0cf172ba514e988bb8b6670 GIT binary patch literal 511 zcmVpBrnkm%4-f1d)~pG3DS$hBp}Ubp%QiduLb!|;D$Edsw#b-ZPI%!LJui-7q3Su zy_6MRTL%GZR}_wc{A^%ECqNtb84so1CTdHfr>ut>c^$XOX(oEic&T3W(~&Yno!SaP ze$sCy0ZEW|mzbr_afCk4W1P?|DP3G{xu{WCqTBe4R1&5ysTA!p0XD$%!2*+no&8MU zwf0e~w8&>v#~IHN13>=n+<-nr5THjxYS>|-tL+J1p#aGSIo<=P&I@Y@DZT-AL6^8m$&gS3#9O@mJdAQ9EsiAa(JSQ(N4|A&yt z3`rm)0Sdvo3`rnP5Yp=6E0U+5}gCRfJCaGb+tb~2C9I7;My)_KAg2 z$Vo9ESCUR$(E{YkVz8V_Ahst0P|MH~pjHiBYYEU2pe5LzmH;gQpgf#{^4?|-Gpw} zg1AqIvE%sgz8}MCe-+4;-Kh?`z*V9X?|X549ZwtKG3$6ZoeAJ!a|o9U9qMER-|Cd* zl54+(i>FMViNqR9O(0lXfK2Xg(gk%$7jjmOa&SqO|qyv&&aegP3 z!WDG!7b26rm}@huC)3UULOfq+HE_-|?l}rrh{;HeIru!BK;Ee|b>2!6$NSWvjh2yy z$1@a}?=AzmmH|V&-RQN%dC0w$YZvZc;QTQ+Xb!v#RLN_c^r#=~3pNjtjyE9{skMgU zuOrw4Y$PuOT5%tb3RsKs0TC)7DqxRF$p#gWgG5NY42pgW%)p%#QWq1leycy( P00000NkvXXu0mjf0mQ ziAIQaBzb6s0G4NGnucXZXaHBKo3vS~iKqZ+tD9=Omb*v*iK?lqhkAB&0GOMoVup8^ zY5-`ff;ot)sHgylxsqgsfd|DdZ+*bs$xWB zI;w&Icw|V5s+xr$0Emg0tEzS&7XXQNWP6qoD0l#faY%+hNQrqjq&|GH!Pyo70000< KMNUMnLSTZR*KDx> literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_silver_sandstone.png b/data/games/garage/mods/default/textures/default_silver_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..1ccecbf37db7c660a7ae91f1d55111909ef5967c GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ-M?qUfxVj!9oTy0(Dvg; zcbz!4`^53RUv<)-0Tq;cx;Tb#$g&rboILZE=;K)@cgY++?zhQdc|m@vv(MK1A&cfD)>b5SuZ)Rr^$uB|W5Jg=P2@=B z{#}_0XFgBbeo+3V(@G25yu7m$*Dn-NowwQbSKP(fSC0Dr?|3K1ES9}P7w7~APgg&e IbxsLQ0B0Il1^@s6 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_silver_sandstone_block.png b/data/games/garage/mods/default/textures/default_silver_sandstone_block.png new file mode 100644 index 0000000000000000000000000000000000000000..c8c14e416f2d206254de0fd2793f289f99691867 GIT binary patch literal 268 zcmV+n0rUQeP)c~oSTxMo|UPnqN=H*zr3)(y|TiL%u-uLrI;Is^sFm|&I23SByO#&c#1NJ1sSAU2 zNT)HJ6DB9sfz{2-BR6#@4O09*Wl9s;tW-$V@dsM7+k&v}JOLoy|Z0u3san S!xs|(0000LyS}& z!;)lJ+lkK$;+Puc?k{8G`}@+1VgFK-<+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#6008JoL_t&-83n-!Lc%Z*0Kk<-4&~A+o=EFaRxyc7WD^2uEEU`T zzsMQ5$X32kQ99({s(cDJ^Hx=LMXHI2-&qEd!cp{3q<82KvuOtW_a)|rODnNhKTQ!f zNhc>$DEm|GFI$q(83-G>E$RL$b){cIZ@4h7@J1`Ma`sbzcq8Vj_RWH|2_FImWkbi= zbxGUk-L5x;JgR+~MHkVv`Zqa)hqyj}R?382p?rld@NPU0(JCJTaneWFk0zugIdXct z>>|S?MX7RXjjcA_JM#$Xh#TX*c{zw-gGR#bSSyrL)~D}mnbLnNwksPbnE6it0000< KMNUMnLSTZSCOv)t literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_snow_side.png b/data/games/garage/mods/default/textures/default_snow_side.png new file mode 100644 index 0000000000000000000000000000000000000000..8465d80de3f24f031dba85532d64f3fd5996dce5 GIT binary patch literal 567 zcmV-70?7S|P)p zNPITMJwze2PAdK*@*O6=u#cMngxGr1x+;8t7&yMyBHs?*Mq?99nFOR>-(e^ieUuB1 z^(`h-Y)F2-HtuW#VufOJ@%yg3hz)+ojgwMHvh_$5tt8Kn4u+XrF}bq&9|OoHFL`m0 z$t05LT`arzhClTb;(vp&$NLW+YFD+i{rTP_-b_!FGc}q_NVa+WMlYw-if_` z)-5)5&w-3P2qj%q-aitr2Q`|#2P=*x%XUtJ8onrm{2wN)_+;$rtET_}002ovPDHLk FV1lk{{qg_+ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_snowball.png b/data/games/garage/mods/default/textures/default_snowball.png new file mode 100644 index 0000000000000000000000000000000000000000..13eb27af1c345b74757eb8d1359a346f25a651b3 GIT binary patch literal 255 zcmVuuW4z8@^n-*1c@jveuP9qak980A~eHyGMjDgw$M<#%x1Fho3}SPBO>M- znco5&?9FK~jAcAo33WQ#3caY^&lLn5j?)T*PoXf6PeFwR$9_ z35e<&QFeK{^I~bGQf){fK%)a8g~nIFdXq}C)hh--_uuZvXL>LJbf)-5D#qRZ8V2xz zxS-Qi@jP+n(k8#R=>>bL7&fdR6RrRN002ovPDHLk FV1gj=Yv=#~ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_steel_block.png b/data/games/garage/mods/default/textures/default_steel_block.png new file mode 100644 index 0000000000000000000000000000000000000000..5e421f026e37a1b6629f837d1862621f8abf87c3 GIT binary patch literal 350 zcmV-k0iphhP)CdN%F4pR!lI(0nVFf>)YQPi zz`nk|mzS5;($UPy&dklt&dbT3o}QJJm6MZ`yS%!%xVW#cug}lU(9+E?z=xIq006d0 zL_t&-83n)=3|xuOABX$`z0bQhUdac3FLtR z$Us5*B_Ij21AgF{umAu;#4#J{LcB2`LU-EsfeE3DMEGw-SFQLmNeIjwC~I`XASSsr zI#bgS@`2$UU~kmiscFT78Ve{k%@q1pVZ?Ojn|p{M_g+xtIzx=AZ{2&}3?B|zb$^## wvu<0##69M`?Vr7?#yC;UtXi>$&0+Iv|IVTbVIPcR~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/data/games/garage/mods/default/textures/default_stick.png b/data/games/garage/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-TKjRPSQbPg^#DSttMi literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_stone_block.png b/data/games/garage/mods/default/textures/default_stone_block.png new file mode 100644 index 0000000000000000000000000000000000000000..2d098783decbf2d6362e67115c96ff396515bb37 GIT binary patch literal 340 zcmV-a0jvIrP)q-9D2jGSbG{CQV9TV$Hj&g@?Hc9Olg>lk5;Jk3^&?w|>237ny z8UkGS51}j|$Uu2M(H>BdK0s4q25L*58Pt98tl%@)UMUI6mnCFSoec0}#X3~Fnv-iV zC_h%Lkn$9!At+Cq^(A5dfq``c33H5D29`tt8^#QD71@*+ZN==5W(Bf6Sk=A4>dFW7 mk`5{ZcnCBH_;0NTQM3b^G9pX=JS98;0000<&4# z^qYq8rmt42XIkhvrL^uDRaBiLW09jWkCn-^{mF=2rwZ(F+*-?h=4|%93DK_nc!t(o zk5XF5SFw!u=gWFJr7nHgCb8CjWGAds7#ot=}D zlM4bx1qB7gg+(PGP+C$_US3`a1T`SgPzwU}wYAN4b#?Xi&2CcL`2{mLJiCzwQX9T)xqG*^H6l(Sv&rWf}D9 zSKm17KasiAl6~b2@W^7V{w;tK!qFsSJ+@!uZc z&frkbwm^c}WcI4==|`68*a>`k$NRyiC$~ZSg#)Lf(58irK({b>y85}Sb4q9e04;8m AfdBvi literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_stones_side.png b/data/games/garage/mods/default/textures/default_stones_side.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae823a7962ddaf2e8fe4a9038ea34bc3d06a8ba GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}NPtg>E0B(jjZKJ)Pe@2eN=iye zN(O?Il$6xe)J!1C%*@Kl$_0UoEDB&Fu#oph#PzQsjtDnm{r-UW|g&stF literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_tin_block.png b/data/games/garage/mods/default/textures/default_tin_block.png new file mode 100644 index 0000000000000000000000000000000000000000..a834d2722fb2b09fed1b40932b27c7aa21bb9612 GIT binary patch literal 268 zcmV+n0rUQeP)pB1c0Fg;VK~xwS1;L2{!axuMv9b5LHw5}`7KwB3xO0tl$5>-ddc(7kJ^(Zq*qcxR zu$b)FumOPvcLM-KAU6k80K^-aivjToAdu|CB&Y%^Y^hm6P>N^ERURxQAcdrm4=V(O zWJhHlI*6B&O6APS;q#Paf1R1x{3zS`ooPFBGI(WY{xWT8aJu{S?A2rSnEeMPAp|X` S#%VbK0000MoHc#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/data/games/garage/mods/default/textures/default_tin_lump.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_bronzeaxe.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_bronzeshovel.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_bronzesword.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_diamondaxe.png b/data/games/garage/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{2qA#Bv`n)c3`}`^5S-G1TvW`l6eRZ2{{v|=gqw;}S(__1*u8h@x@6|d04QB9k L^>bP0l+XkK1Sd{Y literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_tool_diamondshovel.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_diamondsword.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_meseaxe.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_mesesword.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_steelaxe.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_steelpick.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_steelsword.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_stonepick.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_stoneshovel.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_stonesword.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tool_woodshovel.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_torch_animated.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_torch_on_ceiling_animated.png b/data/games/garage/mods/default/textures/default_torch_on_ceiling_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..5465217f8a1fd995375a5814f5301a9374a49c86 GIT binary patch literal 886 zcmV-+1Bv{JP)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;BbI%bgm?oVA(wU#QjQE0ShHcKCL>q!_)v=D>)*h5;a|g){gzw=H-=>d z`DZfuz%Z8T`jK3!QxOagbR+1!m&XT#%om|TGU?GEaHmntT$#i^UPb3A5TDbFDS0}o z@tw=#BhsYgH%Q46S_`Bs>F7Na%x4pLmdeLC`Ow%PWw(pwN4i0aV7f{wAA)?)bJ%OI zB_H}3x<9HV_E911NVZ&dE6xum)fBzU$?Atx_gDb$u|^x-qdU!;JU^((ibV6&MEh0|YN*4M!yKxaswc4UB$W^P z-#W&SY+GpGhI?ud6#n1;ZRIEVs66;0A8I1dEEN_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/data/games/garage/mods/default/textures/default_torch_on_floor_animated.png b/data/games/garage/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/data/games/garage/mods/default/textures/default_tree.png b/data/games/garage/mods/default/textures/default_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..fe89963ca8197fc607816a9ef484fc74ed276f93 GIT binary patch literal 305 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_water_source_animated.png b/data/games/garage/mods/default/textures/default_water_source_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..c4fed814735af5dae2fe7c432d294741d38e49b2 GIT binary patch literal 1586 zcmdVZ`&Z0)7zgmNu}JL@2feMyL2hT$Qeo{_O-=NgIcX|$zsJc-|u(6mzgPxLWi2#-Prjz_BqcvpXYf!&ySy{C^>0ipg;Tt z0zqIxyfoGK4iyOc2?qK3s(pJuR{5Iu$%~f8A)mo61_gE$I8Z>MfJK2DG6!TNWE5mH zWGrMH6b>jzC}=30P_R&N zQ25*hplyNH0WAqF1uYG&6IupZ7FrHk9$FW4cIX_? zkEA0|^5K0}X={1_lNe z1`Y-u1~&?66gpAJppZo&he95OE*L2oX&9X_vM_Qm@-X_)1Cs+L5+)~13`{Ic985e+ zE|?uKlQ2^-(=a<>W?*Jv=3wSw_D$WeIAEb*VPN54alzsf4=k;)Qm{H;J}ev2m`Xcguzqadka^&WIRy#G0COZFgN3 z5!D;Ed)NN7W%*HQ*Q?*R)^@*)Oq`{Qs$y$$2TZK=&_-de)iCV0v~f&o$Xtyg=)&IO zvwqL*_a9Z9U6#v#m%QG4_d-Sg2z6dvK>FB@%jHosp3f1^^gsGz#iIOl<;3h{>F~?r z(ljpr?%?N_Rui4qb~L5xYopPyY96k4=EOiF7k$2uQAZz%o2 zD87{){rc+0me|2F1HSoMK6=V-qu4m3xJBKwRXX)t)p~J^H*cih>Sb})l8ELBi3=h` zsl|_$4JL+`1?Mf9?rETH$zQcMTobm|d5<3(8`REaWgeFniBAU$S0pyZR!^1uwft7B z#5`|*tu4~sd1nX_F!^0ZE4`4Oup=ZzI4gYg%LdQy!|(2~bRCvH8!>lMc-tkLIjZ!K zGQqRaE_&7@O1*CJh8KS{C%ilGVR9f*z4oYnM0f4ttW05f&D4|PDM@SMCxuUVTQjia zkf3DLDRWn}-d^uHnYCnIJ5!<(4rkr{*w}mCYU_=Vn6%rKC0)^@X7%m21-T_2i74i} zt-ef=F}o&Hcz^p0`vyaMo1#fm(jY2riTuet&k(Yvuen}y>HGsVm&YBLDSGsN*xPvf zK<@=h{q3&(D^K)Az8cnXs%GG0TTNxHt>tZBd&+~i)~>GFh1KO(K1wNW$X#pyRjp2H z=y>_`wsub_-_V^_W+{7}bUrUDQwwid*ux~Snn3H;n|*`7vc%N(-$Pf LB}vc5tTX%vG)Ouz literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/default_wood.png b/data/games/garage/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=XChJLpb zB#uAy?>hQ#Cbz(Irmz}D{zkqv1|nf9dI1Z)WEj{a7CvI~NXfIF!d=2)?OY^o_noD) z<%-7p&y&l4U%a1x%F_Ixlz6e<(YvnM3zoY^pKrZ5`ngm`Jag9NC4Y;g*RI~D{o$2`%%5jTCI`+RKA2zc z*82Zd^P&3h$pw^y4{saiH#WboI{$!1z?%I(m)tUU%3Vr|2_HH>RChNw?=I|a{(be} z!Mi(-LWzTDpq!_UjgLGax564~1<;;?{kw2kaj=}ZjyxOCbp4Zm`1@_4%@60s>u>LU zulNx1VDhV??tL%+?z4Hn`qP@rMPIkY=uXS;ewsA-U!C;RDX+i1D4qLE`s=4HNB_?F z+bkc_zI>zA%jK-|X0P+z_-a>L!}ZB}QD-X}j_c_BVU}9^BIn6evs_T_@pScbS?83{ F1OOs(kO}|* literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/textures/gui_furnace_arrow_bg.png b/data/games/garage/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}bOEY1>t% z&wZ1kZhiBlU)iH0zj*pxELG)7#S2+z%_zIIkXrU99dzaFhx*Nkm+>L z3bF>|G$gkm*$NUx^#+oIacfOT)AclGW;kF039T)vOF6MV_O{MGAQlNc|B|(0{ z3=Yq3qyagRo-U3d9I~tjIhh&*7+4QzMmyOrY(G)<-+C4!L&1$rS&h%CZf!rlu~D!8 z`p=@XJDiK_|JoH#;+y^OXRZIq4ac^n%$qbtYE_YUP*%c4^`&epeg!dZh+$y(z`i|% V 0) then + minetest.sound_play( + "default_cool_lava", + {pos = pos, max_hear_distance = 16, gain = 0.07}, + true + ) + end + -- Remove the torch node + return false +end + +minetest.register_node("default:torch", { + description = S("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} + }}, + use_texture_alpha = "clip", + 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, + on_rotate = false +}) + +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} + }}, + use_texture_alpha = "clip", + 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, + on_rotate = false +}) + +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} + }}, + use_texture_alpha = "clip", + 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, + on_rotate = false +}) + +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 +}) + +minetest.register_craft({ + output = "default:torch 4", + recipe = { + {"default:coal_lump"}, + {"group:stick"}, + } +}) + +minetest.register_craft({ + type = "fuel", + recipe = "default:torch", + burntime = 4, +}) diff --git a/data/games/garage/mods/default/trees.lua b/data/games/garage/mods/default/trees.lua new file mode 100644 index 0000000..9536369 --- /dev/null +++ b/data/games/garage/mods/default/trees.lua @@ -0,0 +1,605 @@ +-- default/trees.lua + +-- support for MT game translation. +local S = default.get_translator + +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 + if minetest.get_item_group(node_under.name, "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 + +function default.on_grow_failed(pos) + minetest.get_node_timer(pos):start(300) +end + + +-- 'is snow nearby' function + +local function is_snow_nearby(pos) + return minetest.find_node_near(pos, 1, {"group:snowy"}) +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 + + +-- Large cactus + +function default.grow_large_cactus(pos) + local path = minetest.get_modpath("default") .. + "/schematics/large_cactus.mts" + minetest.place_schematic({x = pos.x - 2, y = pos.y - 1, z = pos.z - 2}, + path, "random", 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, + S("@1 will intersect protection on growth.", + itemstack:get_definition().description)) + return itemstack + end + + if placer then + default.log_player_action(placer, "places node", sapling_name, "at", pos) + end + + local take_item = not minetest.is_creative_enabled(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 + +-- Grow sapling + +default.sapling_growth_defs = {} + +function default.register_sapling_growth(name, def) + default.sapling_growth_defs[name] = { + can_grow = def.can_grow or default.can_grow, + on_grow_failed = def.on_grow_failed or default.on_grow_failed, + grow = assert(def.grow) + } +end + +function default.grow_sapling(pos) + local node = minetest.get_node(pos) + local sapling_def = default.sapling_growth_defs[node.name] + + if not sapling_def then + minetest.log("warning", "default.grow_sapling called on undefined sapling " .. node.name) + return + end + + if not sapling_def.can_grow(pos) then + sapling_def.on_grow_failed(pos) + return + end + + minetest.log("action", "Growing sapling " .. node.name .. " at " .. minetest.pos_to_string(pos)) + sapling_def.grow(pos) +end + +local function register_sapling_growth(nodename, grow) + default.register_sapling_growth("default:" .. nodename, {grow = grow}) +end + +if minetest.get_mapgen_setting("mg_name") == "v6" then + register_sapling_growth("sapling", function(pos) + default.grow_tree(pos, random(1, 4) == 1) + end) + register_sapling_growth("junglesapling", default.grow_jungle_tree) + register_sapling_growth("pine_sapling", function(pos) + local snow = is_snow_nearby(pos) + default.grow_pine_tree(pos, snow) + end) +else + register_sapling_growth("sapling", default.grow_new_apple_tree) + register_sapling_growth("junglesapling", default.grow_new_jungle_tree) + register_sapling_growth("pine_sapling", function(pos) + local snow = is_snow_nearby(pos) + if snow then + default.grow_new_snowy_pine_tree(pos) + else + default.grow_new_pine_tree(pos) + end + end) +end + +register_sapling_growth("acacia_sapling", default.grow_new_acacia_tree) +register_sapling_growth("aspen_sapling", default.grow_new_aspen_tree) +register_sapling_growth("bush_sapling", default.grow_bush) +register_sapling_growth("blueberry_bush_sapling", default.grow_blueberry_bush) +register_sapling_growth("acacia_bush_sapling", default.grow_acacia_bush) +register_sapling_growth("pine_bush_sapling", default.grow_pine_bush) +register_sapling_growth("emergent_jungle_sapling", default.grow_new_emergent_jungle_tree) + +-- Backwards compatibility for saplings that used to use ABMs; does not need to include newer saplings. +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 +}) diff --git a/data/games/garage/mods/dignodes/init.lua b/data/games/garage/mods/dignodes/init.lua deleted file mode 100644 index 312207e..0000000 --- a/data/games/garage/mods/dignodes/init.lua +++ /dev/null @@ -1,39 +0,0 @@ -local groups = { - "cracky", "dig_immediate" -} - --- Register dig nodes with 1 digging group, a rating between 1-3 and a level between 0-2 -for g=1, #groups do - local gr = groups[g] - for r=1, 3 do - for l=0, 2 do - if not (gr=="dig_immediate" and (l>0 or r==1)) then - local d - if l > 0 then - d = string.format("Dig Test Node: %s=%d, level=%d", gr, r, l) - else - d = string.format("Dig Test Node: %s=%d", gr, r) - end - local tile = "dignodes_"..gr..".png^dignodes_rating"..r..".png" - if l==1 then - tile = tile .. "^[colorize:#FFFF00:127" - elseif l==2 then - tile = tile .. "^[colorize:#FF0000:127" - end - core.register_node("dignodes:"..gr.."_"..r.."_"..l, { - description = d, - tiles = { tile }, - groups = { [gr] = r, level = l }, - }) - end - end - end -end - --- Node without any digging groups -core.register_node("dignodes:none", { - description = "Dig Test Node: groupless".."\n".. - "Can't be dug by normal digging tools".."\n".. - "(use the Remover tool to remove)", - tiles = {"dignodes_none.png"}, -}) diff --git a/data/games/garage/mods/dignodes/mod.conf b/data/games/garage/mods/dignodes/mod.conf deleted file mode 100644 index 52a80d6..0000000 --- a/data/games/garage/mods/dignodes/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = dignodes -description = Nodes with different digging groups diff --git a/data/games/garage/mods/dignodes/textures/dignodes_choppy.png b/data/games/garage/mods/dignodes/textures/dignodes_choppy.png deleted file mode 100644 index a73fc2424140e0f429b274ac72f7f20dfa0e2679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYU0GAJvbOfp)~y$}Z0YFe z$j{HexOHnnLPD&qijxxOikg}*;naAb;!sZ)$B+uf{?+H-_Ooy2~ z^2AooymRMcczj*LcQX&olv<{isJt-dt?5!e&krrHOnmX$!?^6Y!qo}Sns|?KCpB+$ p%$dM@yoBY??1e0;22OJs8MJSTiT2c9ybH96!PC{xWt~$(695yGNCp4^ diff --git a/data/games/garage/mods/dignodes/textures/dignodes_crumbly.png b/data/games/garage/mods/dignodes/textures/dignodes_crumbly.png deleted file mode 100644 index 23f2f7c71997d29bdc50006a6161e2ad72770b24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|#hxyXAr*|hliV2_3$9y!AC4Vz5>8yM*x-;Mz`@J3*zti0#~ilC3koJmEo_YU%xdp3=hr;d UT_6>-4ro1tr>mdKI;Vst0NN`!F8}}l diff --git a/data/games/garage/mods/dignodes/textures/dignodes_dig_immediate.png b/data/games/garage/mods/dignodes/textures/dignodes_dig_immediate.png deleted file mode 100644 index a532ad90b20e7b7eb69c87721229852c5d5c3c4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|g`O^sAr*{kCpmH*P~c&yUHD_c zSNpe-#ou_py7u1CwQUh{lz5R?KC7cmSmMbWCXQb(mCUyK=`Bj-n(yYl^5}{$L2`~q zggO)_m^vlQBopV($|DsyIK;3sOgOJ^=RaVP&+-FI)sV}UvbN}TM$WeFg{r3|) z53rT`IKH%Y>|3PVqsw&DRQ|Gb;`)y69m$Bq+#}VJFug`b_-NxYQ>gTe~DWM4foq|u| diff --git a/data/games/garage/mods/dignodes/textures/dignodes_rating1.png b/data/games/garage/mods/dignodes/textures/dignodes_rating1.png deleted file mode 100644 index d2fee3a23269731a2c9e56a86e04df3c1b386e23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`s-7;6Ar*|t61x&adYb+N!9thM q^&1$cFjz@9TwuA*b2x-EfMNDurIQCQ3tR$fVDNPHb6Mw<&;$T}$sKe6 diff --git a/data/games/garage/mods/dignodes/textures/dignodes_rating2.png b/data/games/garage/mods/dignodes/textures/dignodes_rating2.png deleted file mode 100644 index 15329b93fa9b94075774044d3ec7af828362d072..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%APKcAr*|t60;ISdYb+NL1SVU n@1h&5CEF$4{
    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 JtvWFX`X7uryYB!1 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/doors/sounds/doors_steel_door_close.ogg b/data/games/garage/mods/doors/sounds/doors_steel_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aea7be670b0763259c269521e035966fa1a8d4e6 GIT binary patch literal 8574 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 H?j`ykI$Eli literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/doors/sounds/doors_steel_door_open.ogg b/data/games/garage/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/data/games/garage/mods/doors/textures/doors_door_obsidian_glass.png b/data/games/garage/mods/doors/textures/doors_door_obsidian_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..fab25b34779cd0600e3b32aa437c1674d3499032 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^YCx>O!3HGjQn)q)shOTGjv*0;lLZ6>e)RL6UM+dZ zP|x&-!O~xn2Uun@9*?d|RF@+~K?_Uq3&IEneG!5&4o&cg|vH7S-kCgFW< zszGJ)B}ZA;oLbm<*iHEVh9ZeIS&qjJ{77#|Tp+bZVwu=%nO$``WdbD0009jNklF-`<^+~4_pPKhHuo#^-b3CQTYAF+|1TGXVr?^sRDb}S+g=})IqBGc`5 z6Ohq)KVlcl3@J7(0W!LGJ4P*PQaihpu-1&UAx4*!5V;L8&1iAP zM2sXX2|yMxtA~J=(h{>a#Vgk56)|diV!w`y+>Y`(!4vcLQa&9Q*^XgU;%LaDrOb6K zTCzy54=WObeU4b9e|Pwa%@Heh%+6R_Vw#7x#O#b^kBcT^6#HLdx!qbMMj%f5I(wlK zh?Bo)bHt(x*bvjtdL`ZUdac2`#r=M-{gJ)h$C6Y2)Ivw? zBC(&JKfgdh67wXn1v(|k*%ce*E)v^pHYr#q@^ZPV;eTUUP*n4P+~gbOq$agTqfwp5 z%Bf>G5yY4JFVnILynlXvR$pIVbrNKBk#CfbTGXU=mYD6BP2^=;klh9uwH+Be z#~No$#5BZyUPKH#fCL@V*CC^my_7?>iXGF8C@_~;yDUdc_9jw1HKWBD^Th1-w@EFr zXenj4A7_sjPpr5rEis=Y+WsPDhhIzSkC*6U-|84f5{p=r%yz3ZW4>$tBSnmwMPjyN z(bCys?+kww=ZUqRF}s|;fN(e*5}CnZkbsOX=kKqqw`R;97oHI9*5N4`h?wp^5wkuv z#uK#1MV1%|MNI$60Q7)hp58`bB@r?2qgZbfG4#b6bqXNM_7}O~M1kRRry~FW002ovPDHLkV1fhLr27B> literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/doors/textures/doors_door_wood.png b/data/games/garage/mods/doors/textures/doors_door_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..c073faf1ec85c9f3a25713148d65274b1830152f GIT binary patch literal 1013 zcmV000BLNkluqMV$PNuiJ zZrydNx;v-)3rYC&dLey%^EiEfx7+}8;B$W|%UB(+kBsC?cD(-X@??6^9UJ;~j<44d=msGov8-5;N z_{2AiEg7R{q0jxmk`i00A3cPS{o z_3jT=rbbSs0<#<|1rVhYUpi&dw${5o^v%wH^l#@Xxj0^Fv3$wRDC7x zkq$Vb-7{vc#HFZOudK?P|A74BLunq4C@{vQz{J~#{P+&5QbaDDSX+aYPVQCJ_-`7l zbVUAAlWkl{x`Zv5x0g3xfQ~rESo8KWm#zhC_DU*UM-7g#gS-olcmV#}H4EldZEZ3o zn_5#hm%UpV z=etdyBYDPtU3%7*YDfH8Ak z&Zkxsz!yH1%HTb=SO=z~M;U1BgChv$6c}S4n1b;3@S(u)-O4cudtUfJ+ zTtjBNX~XhWzVIDZrA>>i!U#DvRSG=En6uRw0UtK~;d_k5pZzyadbDsjx7`f zR|`NG zXA=8edi(cF?b^V|dH0sf6zkwQCQpNYL^!UA%Kl$*bM4kxGmVMwuHC#IwN|%4PW;{Z X!)y^J-W{|6I)=g1)z4*}Q$iB}q)=Z+ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/doors/textures/doors_item_glass.png b/data/games/garage/mods/doors/textures/doors_item_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..d883f6e6bef9e2b12a70fb8d73f24eab38ca5327 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!S%6Q7E0Er`YuDw=m#<#Edh_PZ z+qZAuxpU|4-Mjbi-+%Dn!NZ3SA3uKl!Tnhyh>umhE{Kbg&qo5mbw`+ YF#KE1=D+lRGssv5Pgg&ebxsLQ0RO2aPyhe` literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/doors/textures/doors_item_steel.png b/data/games/garage/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/data/games/garage/mods/doors/textures/doors_item_wood.png b/data/games/garage/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!MjnYuvzzy?_c!)@%J`Rh2ufJzxW MUHx3vIVCg!048P~6951J literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/doors/textures/doors_trapdoor_steel.png b/data/games/garage/mods/doors/textures/doors_trapdoor_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..4ba507d61f4008580f5e9ec2fee3b276b36256d7 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|+qZ8&ckbN1d-wjt z`Yr&9GnNGT1v5B2yO9RuSbMrShHzX@{=v_}vp#HX)X5JfCMJ^}a^7e0RC)As|4(zt zd26Fgg`I48XLE%dVw=<|oRFKqysoXSjfsILO+{5}-;qN=V;DSL{an^LB{Ts5zsE8* literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/doors/textures/doors_trapdoor_steel_side.png b/data/games/garage/mods/doors/textures/doors_trapdoor_steel_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e29c59e014db2e8b1aee99b652af4138e85a3f76 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u0VSG_U-4+ofD}#CJy9? tc)B=-a9mH0U}fQ1=y1S+vtc$9gX>}TpAU<#&jQLbc)I$ztaD0e0stUl8SVf8 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/dungeon_loot/README.txt b/data/games/garage/mods/dungeon_loot/README.txt new file mode 100644 index 0000000..c500d25 --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/dungeon_loot/init.lua b/data/games/garage/mods/dungeon_loot/init.lua new file mode 100644 index 0000000..9d8ac52 --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/dungeon_loot/license.txt b/data/games/garage/mods/dungeon_loot/license.txt new file mode 100644 index 0000000..0af30a0 --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/dungeon_loot/loot.lua b/data/games/garage/mods/dungeon_loot/loot.lua new file mode 100644 index 0000000..a5a4097 --- /dev/null +++ b/data/games/garage/mods/dungeon_loot/loot.lua @@ -0,0 +1,60 @@ +-- Loot from the `default` mod is registered here, +-- with the rest being registered in the respective mods + +dungeon_loot.registered_loot = { + -- various items + {name = "default:stick", chance = 0.6, count = {3, 6}}, + {name = "default:flint", chance = 0.4, count = {1, 3}}, + + -- farming / consumable + {name = "default:apple", chance = 0.4, count = {1, 4}}, + {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:snow", chance = 0.8, count = {8, 64}, y = {-64, 32768}, + types = {"ice"}}, + {name = "default:dirt", chance = 0.6, count = {2, 16}, y = {-64, 32768}, + types = {"normal", "sandstone", "desert"}}, + {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/data/games/garage/mods/dungeon_loot/mapgen.lua b/data/games/garage/mods/dungeon_loot/mapgen.lua new file mode 100644 index 0000000..3b597f2 --- /dev/null +++ b/data/games/garage/mods/dungeon_loot/mapgen.lua @@ -0,0 +1,173 @@ +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, is_temple) + local is_wall = function(node) + return node.name ~= "air" and node.name ~= "ignore" + 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 + 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 + end + -- abort even if it wasn't a wall cause something is in the way + break + end + end + end + + local biome = minetest.get_biome_data(cpos) + biome = biome and minetest.get_biome_name(biome.biome) or "" + local type = "normal" + if is_temple or biome:find("desert") == 1 then + type = "desert" + elseif biome:find("sandstone_desert") == 1 then + type = "sandstone" + elseif biome:find("icesheet") == 1 then + type = "ice" + end + + return { + walls = ret, + size = {x=mindist.x*2, z=mindist.z*2}, + type = type, + } +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 + local sample_n = math.min(#item_list, dungeon_loot.STACKS_PER_CHEST_MAX) + item_list = random_sample(rand, item_list, sample_n) + + -- 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 not itemdef then + minetest.log("warning", "Registered loot item " .. loot.name .. " does not exist") + elseif 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 {} + local n_dungeons = #poslist + -- Add MGv6 desert temples to the list too + 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], i > n_dungeons) + -- 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/data/games/garage/mods/dungeon_loot/mod.conf b/data/games/garage/mods/dungeon_loot/mod.conf new file mode 100644 index 0000000..79d8089 --- /dev/null +++ b/data/games/garage/mods/dungeon_loot/mod.conf @@ -0,0 +1,3 @@ +name = dungeon_loot +description = Minetest Game mod: dungeon_loot +depends = default diff --git a/data/games/garage/mods/dye/README.txt b/data/games/garage/mods/dye/README.txt new file mode 100644 index 0000000..4b922fa --- /dev/null +++ b/data/games/garage/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 Game developers and contributors (MIT) + +Authors of media (textures) +--------------------------- +Perttu Ahola (celeron55) (CC BY-SA 3.0) diff --git a/data/games/garage/mods/dye/init.lua b/data/games/garage/mods/dye/init.lua new file mode 100644 index 0000000..f0affe8 --- /dev/null +++ b/data/games/garage/mods/dye/init.lua @@ -0,0 +1,127 @@ +-- dye/init.lua + +dye = {} + +-- Load support for MT game translation. +local S = minetest.get_translator("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 = S(description .. " Dye"), + groups = groups + }) + + minetest.register_craft({ + output = "dye:" .. name .. " 4", + recipe = { + {"group:flower,color_" .. name} + }, + }) +end + +-- Manually add coal -> black dye + +minetest.register_craft({ + output = "dye:black 4", + recipe = { + {"group:coal"} + }, +}) + +-- Manually add blueberries->violet dye + +minetest.register_craft({ + 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 + +-- Dummy calls to S() to allow translation scripts to detect the strings. +-- To update this run: +-- for _,e in ipairs(dye.dyes) do print(("S(%q)"):format(e[2].." Dye")) end + +--[[ +S("White Dye") +S("Grey Dye") +S("Dark Grey Dye") +S("Black Dye") +S("Violet Dye") +S("Blue Dye") +S("Cyan Dye") +S("Dark Green Dye") +S("Green Dye") +S("Yellow Dye") +S("Brown Dye") +S("Orange Dye") +S("Red Dye") +S("Magenta Dye") +S("Pink Dye") +--]] diff --git a/data/games/garage/mods/dye/license.txt b/data/games/garage/mods/dye/license.txt new file mode 100644 index 0000000..340820c --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/dye/locale/dye.de.tr b/data/games/garage/mods/dye/locale/dye.de.tr new file mode 100644 index 0000000..f73fb57 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.de.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Weißer Farbstoff +Grey Dye=Grauer Farbstoff +Dark Grey Dye=Dunkelgrauer Farbstoff +Black Dye=Schwarzer Farbstoff +Violet Dye=Violetter Farbstoff +Blue Dye=Blauer Farbstoff +Cyan Dye=Türkiser Farbstoff +Dark Green Dye=Dunkelgrüner Farbstoff +Green Dye=Grüner Farbstoff +Yellow Dye=Gelber Farbstoff +Brown Dye=Brauner Farbstoff +Orange Dye=Orange Farbstoff +Red Dye=Roter Farbstoff +Magenta Dye=Magenta Farbstoff +Pink Dye=Rosa Farbstoff diff --git a/data/games/garage/mods/dye/locale/dye.eo.tr b/data/games/garage/mods/dye/locale/dye.eo.tr new file mode 100644 index 0000000..ee37abb --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.eo.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Blanka tinkturo +Grey Dye=Griza tinkturo +Dark Grey Dye=Malhela griza tinkturo +Black Dye=Nigra tinkturo +Violet Dye=Violkolora tinkturo +Blue Dye=Blua tinkturo +Cyan Dye=Bluverda tinkturo +Dark Green Dye=Malhela verda tinkturo +Green Dye=Verda tinkturo +Yellow Dye=Flava tinkturo +Brown Dye=Bruna tinkturo +Orange Dye=Oranĝkolora tinkturo +Red Dye=Ruĝa tinkturo +Magenta Dye=Fiksina tinkturo +Pink Dye=Rozkolora tinkturo diff --git a/data/games/garage/mods/dye/locale/dye.es.tr b/data/games/garage/mods/dye/locale/dye.es.tr new file mode 100644 index 0000000..bd04ef4 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.es.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Tinte blanco +Grey Dye=Tinte gris +Dark Grey Dye=Tinte gris oscuro +Black Dye=Tinte negro +Violet Dye=Tinte violeta +Blue Dye=Tinte azul +Cyan Dye=Tinte cián +Dark Green Dye=Tinte verde oscuro +Green Dye=Tinte verde +Yellow Dye=Tinte amarillo +Brown Dye=Tinte marrón +Orange Dye=Tinte naranja +Red Dye=Tinte rojo +Magenta Dye=Tinte magenta +Pink Dye=Tinte rosa diff --git a/data/games/garage/mods/dye/locale/dye.fr.tr b/data/games/garage/mods/dye/locale/dye.fr.tr new file mode 100644 index 0000000..390fa07 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.fr.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Colorant blanc +Grey Dye=Colorant gris +Dark Grey Dye=Colorant gris foncé +Black Dye=Colorant noir +Violet Dye=Colorant violet +Blue Dye=Colorant bleu +Cyan Dye=Colorant cyan +Dark Green Dye=Colorant vert foncé +Green Dye=Colorant vert +Yellow Dye=Colorant jaune +Brown Dye=Colorant marron +Orange Dye=Colorant orange +Red Dye=Colorant rouge +Magenta Dye=Colorant magenta +Pink Dye=Colorant rose diff --git a/data/games/garage/mods/dye/locale/dye.id.tr b/data/games/garage/mods/dye/locale/dye.id.tr new file mode 100644 index 0000000..d587107 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.id.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Pewarna Putih +Grey Dye=Pewarna Abu +Dark Grey Dye=Pewarna Abu Tua +Black Dye=Pewarna Hitam +Violet Dye=Pewarna Ungu +Blue Dye=Pewarna Biru +Cyan Dye=Pewarna Sian +Dark Green Dye=Pewarna Hijau Tua +Green Dye=Pewarna Hijau +Yellow Dye=Pewarna Kuning +Brown Dye=Pewarna Cokelat +Orange Dye=Pewarna Oranye +Red Dye=Pewarna Merah +Magenta Dye=Pewarna Magenta +Pink Dye=Pewarna Merah Muda diff --git a/data/games/garage/mods/dye/locale/dye.it.tr b/data/games/garage/mods/dye/locale/dye.it.tr new file mode 100644 index 0000000..9deb385 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.it.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Tintura bianca +Grey Dye=Tintura grigia +Dark Grey Dye=Tintura grigia scura +Black Dye=Tintura nera +Violet Dye=Tintura viola +Blue Dye=Tintura blu +Cyan Dye=Tintura ciano +Dark Green Dye=Tintura verde scura +Green Dye=Tintura verde +Yellow Dye=Tintura gialla +Brown Dye=Tintura marrone +Orange Dye=Tintura arancione +Red Dye=Tintura rossa +Magenta Dye=Tintura magenta +Pink Dye=Tintura rosa diff --git a/data/games/garage/mods/dye/locale/dye.ja.tr b/data/games/garage/mods/dye/locale/dye.ja.tr new file mode 100644 index 0000000..d7ae306 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.ja.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=白色の染料 +Grey Dye=灰色の染料 +Dark Grey Dye=濃灰色の染料 +Black Dye=黒色の染料 +Violet Dye=紫色の染料 +Blue Dye=青色の染料 +Cyan Dye=青緑色の染料 +Dark Green Dye=濃緑色の染料 +Green Dye=緑色の染料 +Yellow Dye=黄色の染料 +Brown Dye=茶色の染料 +Orange Dye=橙色の染料 +Red Dye=赤色の染料 +Magenta Dye=赤紫色の染料 +Pink Dye=桃色の染料 diff --git a/data/games/garage/mods/dye/locale/dye.jbo.tr b/data/games/garage/mods/dye/locale/dye.jbo.tr new file mode 100644 index 0000000..39ec7ab --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.jbo.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=lo blabi xinmo +Grey Dye=lo grusi xinmo +Dark Grey Dye=lo xekri grusi xinmo +Black Dye=lo xekri xinmo +Violet Dye=lo zirpu xinmo +Blue Dye=lo blanu xinmo +Cyan Dye=lo cicna xinmo +Dark Green Dye=lo xekri crino xinmo +Green Dye=lo crino xinmo +Yellow Dye=lo pelxu xinmo +Brown Dye=lo bunre xinmo +Orange Dye=lo narju xinmo +Red Dye=lo xunre xinmo +Magenta Dye=lo nukni xinmo +Pink Dye=lo xunblabi xinmo diff --git a/data/games/garage/mods/dye/locale/dye.lv.tr b/data/games/garage/mods/dye/locale/dye.lv.tr new file mode 100644 index 0000000..048a087 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.lv.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Baltā krāsa +Grey Dye=Pelēkā krāsa +Dark Grey Dye=Tumšpelēkā krāsa +Black Dye=Melnā krāsa +Violet Dye=Violetā krāsa +Blue Dye=Zilā krāsa +Cyan Dye=Ciāna krāsa +Dark Green Dye=Tumšzaļā krāsa +Green Dye=Zaļā krāsa +Yellow Dye=Dzeltenā krāsa +Brown Dye=Brūnā krāsa +Orange Dye=Oranžā krāsa +Red Dye=Sarkanā krāsa +Magenta Dye=Fuksīna krāsa +Pink Dye=Rozā krāsa diff --git a/data/games/garage/mods/dye/locale/dye.ms.tr b/data/games/garage/mods/dye/locale/dye.ms.tr new file mode 100644 index 0000000..a4256c7 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.ms.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Pewarna Putih +Grey Dye=Pewarna Kelabu +Dark Grey Dye=Pewarna Kelabu Tua +Black Dye=Pewarna Hitam +Violet Dye=Pewarna Ungu +Blue Dye=Pewarna Biru +Cyan Dye=Pewarna Biru Kehijauan +Dark Green Dye=Pewarna Hijau Tua +Green Dye=Pewarna Hijau +Yellow Dye=Pewarna Kuning +Brown Dye=Pewarna Perang +Orange Dye=Pewarna Jingga +Red Dye=Pewarna Merah +Magenta Dye=Pewarna Magenta +Pink Dye=Pewarna Merah Jambu diff --git a/data/games/garage/mods/dye/locale/dye.pl.tr b/data/games/garage/mods/dye/locale/dye.pl.tr new file mode 100644 index 0000000..a4bfa64 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.pl.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Biały barwnik +Grey Dye=Szary barwnik +Dark Grey Dye=Ciemnoszary barwnik +Black Dye=Czarny barwnik +Violet Dye=Fioletowy barwnik +Blue Dye=Niebieski barwnik +Cyan Dye=Cyjanowy barwnik +Dark Green Dye=Ciemnozielony barwnik +Green Dye=Zielony barwnik +Yellow Dye=Żółty barwnik +Brown Dye=Brązowy barwnik +Orange Dye=Pomarańczowy barwnik +Red Dye=Czerwony barwnik +Magenta Dye=Karmazynowy barwnik +Pink Dye=Różowy barwnik diff --git a/data/games/garage/mods/dye/locale/dye.pt_BR.tr b/data/games/garage/mods/dye/locale/dye.pt_BR.tr new file mode 100644 index 0000000..29e98da --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.pt_BR.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Tinta Branca +Grey Dye=Tinta Cinza +Dark Grey Dye=Tinta Cinza-escuro +Black Dye=Tinta Preta +Violet Dye=Tinta Violeta +Blue Dye=Tinta Azul +Cyan Dye=Tinta Ciano +Dark Green Dye=Tinta Verde-escuro +Green Dye=Tinta Verde +Yellow Dye=Tinta Amarela +Brown Dye=Tinta Marrom +Orange Dye=Tinta Laranja +Red Dye=Tinta Vermelha +Magenta Dye=Tinta Magenta +Pink Dye=Tinta Rosa diff --git a/data/games/garage/mods/dye/locale/dye.ru.tr b/data/games/garage/mods/dye/locale/dye.ru.tr new file mode 100644 index 0000000..eff51f9 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.ru.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Белый краситель +Grey Dye=Серый краситель +Dark Grey Dye=Тёмно-серый краситель +Black Dye=Черный краситель +Violet Dye=Фиолетовый краситель +Blue Dye=Синий краситель +Cyan Dye=Бирюзовый краситель +Dark Green Dye=Тёмно-зелёный краситель +Green Dye=Зелёный краситель +Yellow Dye=Жёлтый краситель +Brown Dye=Коричневый краситель +Orange Dye=Оранжевый краситель +Red Dye=Красный краситель +Magenta Dye=Сиреневый краситель +Pink Dye=Розовый краситель diff --git a/data/games/garage/mods/dye/locale/dye.sk.tr b/data/games/garage/mods/dye/locale/dye.sk.tr new file mode 100644 index 0000000..625804c --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.sk.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Biele farbivo +Grey Dye=Šedé farbivo +Dark Grey Dye=Tmavo šedé farbivo +Black Dye=Čierne farbivo +Violet Dye=Fialové farbivo +Blue Dye=Modré farbivo +Cyan Dye=Tyrkysové farbivo +Dark Green Dye=Tmavozelené farbivo +Green Dye=Zelené farbivo +Yellow Dye=Žlté farbivo +Brown Dye=Hnedé farbivo +Orange Dye=Oranžové farbivo +Red Dye=Červené farbivo +Magenta Dye=Purpurové farbivo +Pink Dye=Ružové farbivo diff --git a/data/games/garage/mods/dye/locale/dye.sv.tr b/data/games/garage/mods/dye/locale/dye.sv.tr new file mode 100644 index 0000000..ecde443 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.sv.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Vit färg +Grey Dye=Grå färg +Dark Grey Dye=Mörkgrå färg +Black Dye=Svart färg +Violet Dye=Violett färg +Blue Dye=Blå färg +Cyan Dye=Cyan färg +Dark Green Dye=Mörkgrön färg +Green Dye=Grön färg +Yellow Dye=Gul färg +Brown Dye=Brun färg +Orange Dye=Orange färg +Red Dye=Röd färg +Magenta Dye=Magenta färg +Pink Dye=Rosa färg diff --git a/data/games/garage/mods/dye/locale/dye.uk.tr b/data/games/garage/mods/dye/locale/dye.uk.tr new file mode 100644 index 0000000..7bf0f45 --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.uk.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=Білий барвник +Grey Dye=Сірий барвник +Dark Grey Dye=Темно-сірий барвник +Black Dye=Чорний барвник +Violet Dye=Фіолетовий барвник +Blue Dye=Синій барвник +Cyan Dye=Синьо-зелений барвник +Dark Green Dye=Темно-зелений барвник +Green Dye=Зелений барвник +Yellow Dye=Жовтий барвник +Brown Dye=Коричневий барвник +Orange Dye=Помаранчевий барвник +Red Dye=Червоний барвник +Magenta Dye=Пурпурний барвник +Pink Dye=Рожевий барвник diff --git a/data/games/garage/mods/dye/locale/dye.zh_CN.tr b/data/games/garage/mods/dye/locale/dye.zh_CN.tr new file mode 100644 index 0000000..11bf9cb --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.zh_CN.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=白色染料 +Grey Dye=灰色染料 +Dark Grey Dye=暗灰染料 +Black Dye=黑色染料 +Violet Dye=紫色染料 +Blue Dye=蓝色染料 +Cyan Dye=青色染料 +Dark Green Dye=暗绿染料 +Green Dye=绿色染料 +Yellow Dye=黄色染料 +Brown Dye=棕色染料 +Orange Dye=橙色染料 +Red Dye=红色染料 +Magenta Dye=品红染料 +Pink Dye=粉红染料 diff --git a/data/games/garage/mods/dye/locale/dye.zh_TW.tr b/data/games/garage/mods/dye/locale/dye.zh_TW.tr new file mode 100644 index 0000000..b84d07e --- /dev/null +++ b/data/games/garage/mods/dye/locale/dye.zh_TW.tr @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye=白色染料 +Grey Dye=灰色染料 +Dark Grey Dye=暗灰染料 +Black Dye=黑色染料 +Violet Dye=紫色染料 +Blue Dye=藍色染料 +Cyan Dye=青色染料 +Dark Green Dye=暗綠染料 +Green Dye=綠色染料 +Yellow Dye=黃色染料 +Brown Dye=棕色染料 +Orange Dye=橙色染料 +Red Dye=紅色染料 +Magenta Dye=品紅染料 +Pink Dye=粉紅染料 diff --git a/data/games/garage/mods/dye/locale/template.txt b/data/games/garage/mods/dye/locale/template.txt new file mode 100644 index 0000000..c20bab5 --- /dev/null +++ b/data/games/garage/mods/dye/locale/template.txt @@ -0,0 +1,16 @@ +# textdomain: dye +White Dye= +Grey Dye= +Dark Grey Dye= +Black Dye= +Violet Dye= +Blue Dye= +Cyan Dye= +Dark Green Dye= +Green Dye= +Yellow Dye= +Brown Dye= +Orange Dye= +Red Dye= +Magenta Dye= +Pink Dye= diff --git a/data/games/garage/mods/dye/mod.conf b/data/games/garage/mods/dye/mod.conf new file mode 100644 index 0000000..32bb816 --- /dev/null +++ b/data/games/garage/mods/dye/mod.conf @@ -0,0 +1,2 @@ +name = dye +description = Minetest Game mod: dye diff --git a/data/games/garage/mods/dye/textures/dye_black.png b/data/games/garage/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/data/games/garage/mods/dye/textures/dye_brown.png b/data/games/garage/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/data/games/garage/mods/dye/textures/dye_cyan.png b/data/games/garage/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/data/games/garage/mods/dye/textures/dye_dark_green.png b/data/games/garage/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/data/games/garage/mods/dye/textures/dye_green.png b/data/games/garage/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/data/games/garage/mods/dye/textures/dye_magenta.png b/data/games/garage/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/data/games/garage/mods/dye/textures/dye_pink.png b/data/games/garage/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/data/games/garage/mods/dye/textures/dye_violet.png b/data/games/garage/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/data/games/garage/mods/env_sounds/README.txt b/data/games/garage/mods/env_sounds/README.txt new file mode 100644 index 0000000..3b3d275 --- /dev/null +++ b/data/games/garage/mods/env_sounds/README.txt @@ -0,0 +1,17 @@ +Minetest Game mod: env_sounds +============================= +See license.txt for license information. + +Authors of source code +---------------------- +paramat (MIT) + +Authors of media (sounds) +------------------------- +Yuval (CC0 1.0) +https://freesound.org/people/Yuval/sounds/197023/ + env_sounds_water.*.ogg + +Halion (CC0 1.0) +https://freesound.org/people/Halion/sounds/17785/ + env_sounds_lava.*.ogg diff --git a/data/games/garage/mods/env_sounds/init.lua b/data/games/garage/mods/env_sounds/init.lua new file mode 100644 index 0000000..31cc483 --- /dev/null +++ b/data/games/garage/mods/env_sounds/init.lua @@ -0,0 +1,112 @@ +-- Parameters + +-- Node search radius around player +local radius = 8 + +local allsounds = { + ["env_sounds_water"] = { + trigger = {"default:water_flowing", "default:river_water_flowing"}, + base_volume = 0.04, + max_volume = 0.4, + per_node = 0.004, + }, + ["env_sounds_lava"] = { + trigger = {"default:lava_source", "default:lava_flowing"}, + base_volume = 0, + max_volume = 0.6, + per_node = { + ["default:lava_source"] = 0.008, + ["default:lava_flowing"] = 0.002, + }, + }, +} + +if minetest.settings:get_bool("river_source_sounds") then + table.insert(allsounds["env_sounds_water"].trigger, + "default:river_water_source") +end + + +-- Cache the union of all trigger nodes + +local cache_triggers = {} + +for sound, def in pairs(allsounds) do + for _, name in ipairs(def.trigger) do + table.insert(cache_triggers, name) + end +end + + +-- Update sound for player + +local function update_sound(player) + local player_name = player:get_player_name() + local ppos = player:get_pos() + ppos = vector.add(ppos, player:get_properties().eye_height) + local areamin = vector.subtract(ppos, radius) + local areamax = vector.add(ppos, radius) + + local pos = minetest.find_nodes_in_area(areamin, areamax, cache_triggers, true) + if next(pos) == nil then -- If table empty + return + end + for sound, def in pairs(allsounds) do + -- Find average position + local posav = {0, 0, 0} + local count = 0 + for _, name in ipairs(def.trigger) do + if pos[name] then + for _, p in ipairs(pos[name]) do + posav[1] = posav[1] + p.x + posav[2] = posav[2] + p.y + posav[3] = posav[3] + p.z + end + count = count + #pos[name] + end + end + + if count > 0 then + posav = vector.new(posav[1] / count, posav[2] / count, + posav[3] / count) + + -- Calculate gain + local gain = def.base_volume + if type(def.per_node) == 'table' then + for name, multiplier in pairs(def.per_node) do + if pos[name] then + gain = gain + #pos[name] * multiplier + end + end + else + gain = gain + count * def.per_node + end + gain = math.min(gain, def.max_volume) + + minetest.sound_play(sound, { + pos = posav, + to_player = player_name, + gain = gain, + }, true) + end + end +end + + +-- Update sound when player joins + +minetest.register_on_joinplayer(function(player) + update_sound(player) +end) + + +-- Cyclic sound update + +local function cyclic_update() + for _, player in pairs(minetest.get_connected_players()) do + update_sound(player) + end + minetest.after(3.5, cyclic_update) +end + +minetest.after(0, cyclic_update) diff --git a/data/games/garage/mods/env_sounds/license.txt b/data/games/garage/mods/env_sounds/license.txt new file mode 100644 index 0000000..ff8867d --- /dev/null +++ b/data/games/garage/mods/env_sounds/license.txt @@ -0,0 +1,57 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2019 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 + + +Licenses of media (sounds) +-------------------------- + +CC0 1.0 Universal (CC0 1.0) Public Domain Dedication +Yuval + +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/data/games/garage/mods/env_sounds/mod.conf b/data/games/garage/mods/env_sounds/mod.conf new file mode 100644 index 0000000..ad6feb3 --- /dev/null +++ b/data/games/garage/mods/env_sounds/mod.conf @@ -0,0 +1,3 @@ +name = env_sounds +description = Minetest Game mod: env_sounds +depends = default diff --git a/data/games/garage/mods/env_sounds/sounds/env_sounds_lava.1.ogg b/data/games/garage/mods/env_sounds/sounds/env_sounds_lava.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3eafce2dc670cdec6540ecc7a670bc44a6137bd0 GIT binary patch literal 32359 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 WSwoRgUToalnR!o9;a?4(S$4evi-D4^b3*1iv} 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%0A4=sX4d1GNF;SO3^LQ_ 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 Clj-RI literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/env_sounds/sounds/env_sounds_water.2.ogg b/data/games/garage/mods/env_sounds/sounds/env_sounds_water.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b3ff114fe9723d317c825fbb10699ee31372d518 GIT binary patch literal 84658 zcmagF1z4QD);2o0yA*dD+_iYI!3TGD_o9UY#ogWAy*S04;uI}Vq-ZH#>=V5%C9y5=XtI9N*T2eF~+of`F}lQF#j-OhS0TboUK`vU9BkWZA>-)vZs)v z;AH3EVdr4ypnLSewktAYdHzRa&QXeB1A!e0%K0w7~524)^|<(6^d9&vjM2{P{Q#*!7Lt`so-JqWME z4giR8kPNwyj6t*kW|?>8(Q*@Bc2iu2sNz*4|K}&@FJ2%Wq0F&NwGBk%iZ}VImOuzw zf&xTI)PE#F3WOK@pve51c{wG3p1GG_ftxk|B|<%mzP%zn>+cBKPZRD!#u7N5F_fS2 zHPdZc4mGpnpOiOt7D7$M93+qMARB#{&;(M>W-b$<;+r<4uFluY{qlBPNGc*Zi@v2@ z{U3h+f<=X4_VgElZAguX)hxSqBm+q5-aPwk3h6cPf5S%%GHxa-1j9KWDg0yMO>rqp zDU-Fd==3`^UdMrvLy#F#n?X-_c(v|AXS<#7M?*hNel* z3FgXNJ&Ply%B`q|XE2NBF^_Md#%nOoV==E`vFK^>t<^%W&0nYWUk3A!*=#L){Fmjt znh2FZ?5=Dg?0+mLpCNXKKbBf9kwzzx&O6mABC{eR_h&^R^8d0N>&UY7$g=RrgYZ~} zh*X=1%*ysc`|;Z2j{j@;AIp((rGW&9Mr%> zzXt#S=!-{{|2vPUf>{>9Jd0o!4RzuFv&BHDi`44__q2Q%QkQwWZs<%^|2>o3)p+v7)s zOna~ZRRAE6W0Yf%z;#+~EdSj!2U1S*r~rLQ(wrQSC6#~+NLz|+wwqlvCpT7{Odubb zQ;cmEQ3I(2K!AKu3ckkUL5bl40H&y5WMF7AcpA7L4<6^(BLRa1%Cgm_1rSL?#yQ|~ zf-!+5Bx=*Z5t5Ke@xAQeui^{<07V}ZBxz>(6x)0j_H)M#;-;kNjuuCalyvDj*{ zh997n>aoS8r~`Rjf>1q{Q~iyW91PO`#Yz$PFDqV+S3JduODwbKki^__MlYN@YqN;*wupc!@KyQtZc3mbl4KQ-EoJfo<1mGKtlVgJ z5;n*hm^=qYC@4_@*%c%&f$bVf7feqnit#}n4Aa2=F@UWCC#q{ z2&;qqVsr^mNinWGh(&V}0_37OaoLJuY&E%x76_}7VtjcJM=P$LBgYa6q((8eo*Zx( zSIvQCIFovq0>WzSRrp^Sd+Es#RvE#GAW%(8B6u=8>6KM*EJzO6ng~*WvM68%VCtg$ZBEejHZJGcn7iKVG78+15a2&5d4*(7}pGws)PVCE+x2T z5Zw~Ep-V6lnoWx{07FzjjKEM#kQ{9Z#OXvPf%tRwUz4>-APxFw9x+BWMdkQJ;jYff zh!vs$qOS;oXtc%y0)>*HNnP8T<`pr-n$RUqd0Ge*ENceSb(sKw6G($j{>~$`fOrIe z7(o$4u7DM$>7>9R2{&YBBnd%h9L^3#mq5gWGy}3$O$tCFObG}9;_np%L!y%8xmN-h z^pgUT2P|=aB_xB90RTp4h(}bfYVP(iAs;elLIb>C=S+|QLP4@LaF`-F5eyLr=~9I& zDnxffny-Xp-4hB3H0*giF(I%T)|CX+3~AfdQkE>4R`V=FK-{vQX$OK3?55fQfOR+o zKs^kx6fZpi5+k?y-%bQlK-3t`@d?*7lH(v-5)n9*4)JkH30_?f$Rhjde?&tFkk?@d zLEwPoHOh92{f}evpA^#nPbVrMeioJ{WVIe9AV&PhE0@Op`)X$YFDE_ypV$BL+5h9c z|DRHNb~O;l{dWWq>qSNYydV&3%J2h;P?%r)h=~qy^aj!)Erurz`2;*H4uK3$fh0(P zffj-iAP@o{h(#ysf->B|U`E=K)YqwFK^MdV;f+9BvIMq;ND)LVX5ASnc741ZI!kQCBC4%}ZbhG0Wnxnv0EfAW&C zAu|5Dcgf&aL_$>aO85)azbPcjS9Sd@O!-gUS6>hUQJB|RnEH^WXq?KPd%GV-#d;J3 z2t)+{Tvlw4flH$lL)jsz@*(lAn5L{);79?P1`AojA%ewZjuKoou-##{X|$?xjv0t! zpgLI-#E|fD&b7M5a}u)oq(B6)V^VSji9z8Kj6wv3zybmJ^?hGC^kHFtU~?j)B9DZ) z&Dp>JFhfRB6T-Dov2iMc3QYw8+WN+$2!W_EG0jmZhn#(I2J0RaAr!Eb;X_ck@qxiO zj_-HSls|t#5|k=I|GQWI4gin=0EuW6R8*M)vFLFa@t6r%iP%Xv$q@Jg0QFFT7=S<; zxbX0B%h;lUT^O2o<{`y{KVWJ9l3yc4#DBIbuz%D4+Di-mLw?;$zlvGWf6;hHJ3dWI z%gV+|M?+1|&CX6w4`gL$XJT8J`?|x<$w5QU#?H>p%EHRdz{$qW#>PGeq@|;$d(CF0 zp=V*`0y40%vT+OeN8mrLg%oo=x9Y&5!dEOWb!;B`SbiGpNN*kNiQSn?xx(-XRaZ$K zb%iTPN)5^;zuHi>@-kQksD~P$j#1K*z)`5he$U^wEYOaeU8c^Wmwbx9J90G&IN-p& zJxKx=lP6@qhKaoUhxmuFQIit^Cv7#tY1=1xvjWpP9 zx_kJT3YfSa)xWCM!!+$}37>BR?%PH5zj=n`o`36Y${nb91R@E5NexvOV3T5M@hHJQ z{(48DtQ;X?h>mV8)9ZISp~L_P_%ruo*TSTAmfXH(=+crfB99Nxdv7L4t{!b(A{+q!XL?ajSrB-#om3PH|kP;%uTx7rhY zl{(B&VRHrMA8%kt)tv)TYSA3#jaG-v4uiU9me|e`@jraqsV`hJr$os%!2W1wM&N`J z4g0~QIQHY>b=YKet;ktaTl3W0cZg6~@b73*BCKrGo(fsA!V-Sy6iqQAo0BNVZBw2b`d1ThP=icbuo=k@XI1;9{8Wb6+eVa=U@i z2m0SU1!@q(x2)Xo%xzDfr_BpBu+EBD@~x65eSOqv?bQ~Vn49_D7rpp(o+FvEn}kM0 zA^o-{h)&iU3JAM- z9L03*j!ykStnF=Y+_Hi(mPI8CZ?r7Q4$@0apY?@a%J{&>#{gzRF9KzY_^g>f6>p07 z!h~SbXlFi8dWl=DVJZ6z4FkIvV5|3M=*UtpjG#IT(q~O6F}uL-2tic5zBSwcb~!J==4l< zo2wDZ-JM$R(`zt0zPYoK!oZRm={fXFx{LqFqBL=K-rMr62k zpX~_=cvJeWozF|2C@zkX(#RjXU*^x{jy&Ds&ZFFY_@Zwv)je^M^eLkPP25Dfeo_jS zZHq$7hM|}uaD&Tr81HSZfKRuq{RMVcgStl@;qzLNp#3*c?xZL&F$(i|VOg8Bm>AhU z=H~TEdS8oI9~%{a-{ETaoGXZl+}^g$b)U^u*1p5Th{i){pK2%%?2!?C?CI{NkA5`K z%JC!$i?chLUCh=ruS>LFEId>0^#~-*#_OKEWav1hX{*cs)ttR=HR-ZTb$cUe^nRg1 zW$KvlSuc2z+!uU&id?&JBn!w)A!&?RI79_uNXPYT_>{FZeH4eM(APkkz>|{+x_Y># zHu_+b_3MXVGsnzYO4Hn)utIssMlZ^CC(tUA!~XnT0B@yxn{INv5UbIu@#=Fb_=eG5AS{*#MZVW8EPojL3>m zVm##4BM*)%+e+$TtIr+vE*5S__nf5-i{9o#V%XCtvbP*DYRAN87#8}R#`Yp=D#t7$ zZ<|FO?q&$l^bY&!1|1YGN=>m`;X|tU`c?GoIdzV_Ld>=b1GgJSBaK5Q=(Oye4@0bf-Q!u7;>rB^u-nbfjlo{&t=lF9=XeRjJPmB@9ai;@j?bKhoVA zV^VXCgH-M(sfBz5OHOg6Pv+8<)?C#matPQyySVPf{ zTX~(?9N)RZ^1@NX$x)_?;mMW)-L^+#YxEm}JOMRF|^n{+X z$-MRNW!X|4%sSe#63|<-vpYWaVbOP5`^1s(Q%_Ghn|{EV5vNl@yNex{|KQ;YC0e1J zn@&!EbOCwgmcjXWid#`=d~D^u=+nqNy;=#>_tDdww-s&yVy)aoEvlT%9eHa5!jpoH4@#74t^&2WF)p}1n zfv1{ZMdIps97vmT@__&IH)UafJzgDXCLRl+d}mk(eniqhq)R|H+uW*HEe}2yE|mBA z%1k=GD-O1p^m;J3FfDc-eT9#j#e9EDJFj>v;~sneYBxJ+=)SNkw;$-F6!LAo$*PkO z7T`xXp+a2wCr%<`tw&lgF8ABYZD-ra5ubKr^r~a01+pMc#Wvmmf0>B(^ z!fYnq^-sF>Ls2l7(SGULL^I8@Qe<|()utyAu6yrkrQY%QxGhm;bx(lxZ-5_ZREAYF zBYN4XB;vThq4>i)!%qGh>aSis9jIke#C$l)^TP=4EuJ=IXJ^%EZvfeZUKZ3Th4t30 z^5gejZ8d*%#?>v?ACuTVysy7%VB$G7zrz3Kj8zkJ+O7)=P@t^SI~~pLdkXJ)D>rdz z6fcZ6h(Iu-(rkzowd< zUHfXrP-o50*2{vo(M?AhmsE|4A3Z&w6)3$XC=zE_4~tIZiAb|&>H-u@Ngn-rn)6>A z=bZ0!ntXF|b$2xwX>*XaDkTAM`h-RqF}i!WXkJIb5ebh^T+}K0Rkp~8!oR}1FYf9H zYktiU@Y?f0nd8-2#^E+?Cl>r>)J_H84knf&|8&^?g-lP5NxgCwJH8O;cz&GNxzsgD*4sDs0=73oTz50 zhzQr7?!r-lYnNxno-IGUo|ON=)kgV~>5py^a=U*(KrRt=!l`Vt8+F1a;8LXS0S)zi^n`eH+lV^5wnMG}mLRJkEWLsAJogDRbYG&IZ-y!mw5-bXj?H ziJGq{&}@rV?QAb$nv{Zbs{V0s0)b~AjB#Hd#-I1 z?}8|j>?6H$>y4S>b-n1SGJgey)7~`PFZmoWw+6}5c?xZ;Nd0mCxrBd!?vHB4cri|B zeV*XendK#6TgLi1vw!ppG|blUpFE-nX(5BI^Ujjz4wRP6d>&`Wbb~Yj490JY1WS)8 z&IyrVw98Ja`FPKviDG3X!7hCHN?R~PMV=81df@g{QCL5qn{;NORGZ-%(=* zA0VY7J~qx&$cgC}eZKa~T4Lj}P{v+Nx)PP`kNxpv0V{1pdps}pnSqP~ z`G^I^FCi@oa*lbRg*{E3#W24MnR9lYKQ2Hs=Bd4OX2Y4RL;?mtGhS3Q+5u43%#K`4 zFbwA*#cEA~wr2@ba!x(zm*x499g$#w*`L(!FnHD{zX8c;Ub^uL3E{g77{)ZtA8e#; zvy+xbNkX^57OPgo*KtU~l`zd{6EyLalemnEThvtBmp^}I*?5*+AQEtR4QFoo6O1@S zRDEQRg-XVoDBb{Ih+k&nB@dj-Jm@P7>^uD_q2;rF_jc54S03Ok+p1vC{It8|pa@9D zi-PrC>yoCN{PTwarE2m~Gy&%Fs{K2@aMt&y<2k>m6D#$75j8So!d_DrC`g~6)btln zB+srj`lRvhr|G^mne(&SQ4Q2R8R?4**X~$1bt{Vky;@Jp_9FYN{u_id;c>mbv zW&B=CgJa#^?)Basrzlg7CQEwUjy4q8hL;)&oi;#*jz*g>b6^NKHJ$=-!5hLYpRgGg z-~ZWk^cMZRnsMQA7^L0BS8z7~T})bM4&zud7Et6ArqClRM`!M(lhP6k)0yoZh5yv| zB%h|$k}NNzqT!M5gYX$Ogs_gGq+A6h?KqghYTD7RcB6M_2V-iIjV0^zf?S9Yhm)3i z&KUEwtY$dUH4+3~GI1YcO$DozxxYuxTpAIuwkPK($J{i8I);wWh~~j>s45-i=QUfk zeCKDu`PXTL-+xXcU?52*&;FCw69#tH^#giZItCyuBPaLr!u;27j12Vj40PP=91Qdf zKn6N?PWFw(xv%p;AU(Z0VVxj`e%qTB5mbx&XF2Ii`(A#eT4qZNYCSx)CB|ymlZm@=k+>B|?Gj z>+iF4Koa|TPh%}Yv6SsW-C>_KIjH+fdS)9)@aM+W_k3oI_>JgKW&lwtNh4a@EICGk z3h>nGz&p1m<3QjOpijHDP-`fcI(s!{{jC4XqU6hU@vT(Ze3o0M*YR1#flnV&xyW=3 z5yQ9j`PJ#po86N>((Pa3>lZE4ek1S-BgH%*fznO<=D1_ZAz&+^1$CEg52x8mMU$5o zY#q7%){89sMZOG5WvfT}m48{N@l#s*PJ~A>cOARsgpVx;QxScp&V@lCs3G&MSV*~G zc{FR6z?-w@H=%vm))3T(q-e6H()2XvYIs~M_^LcLU>}B29?p{24OL%BAu1Mgo%lm3 zKwQ@KK(`NT6~bR}TzD>nPa?{8dv{rWAvN>F7A5YLW5WsAWSSKy8)jr0#+>ErIjM8n9}hKS;v2OR@b70(zC5nF_LiImT}@^3m_8LTBX{StPk;+& z?H#-D`4qeo`XyS0XPL9ShVc^{qoZh}{?LwRuT`vi^Y-MZ6$m zq4&KKYyB_=+8GZw`fMl2EqZDa_I$*^1vq~Ot`nk9=#%HzvLVsw zzkKO_6$Ry%eiAe9)B#Djr$n9Kkh@4iCu7y|V?=JLNlDk~1jz?@T>ms~x^_Vjo%h{- z(@=}dM<*d+Q_4p77SN1UM@S?=AG}F_ih@IId2;yAOx>YH8bdEREl?rGtDYXh+CJxt{DlVC5>fwaxSXEbOU+7Ds~!)f+h+^T9V z%X#QZqN(R!oQX=0D2VNn%p;DAT!p|4T^g*N<8P8hEU#-PZMXrtDeLAFvb=m$jq!>? zs~CA5{WNFzd6ff~DrOqMg3wq6ld5x3MYrbJ8&jUMt_{l*!`$p3-_~I;M+^NjpHQ36 z<)4z+_#kb41OK;CT|%|W*`k4GA=&*qmi2uKUXD;6{S>eRwv_>eFTZ#4rcaTM={KcV zgwm(HHyjeH6%jbTkf_mbE67Q~e|o=vO7o7TXM`tHvHde6jEUX!buW&O|3@?%CsGp* z{c&DWN~!KgDU-&2m#_icY>RknLbJ>jrZFnpkDWcnkoytp5tHz?SvJ`^*qC&Nsq5jk z?*;Oz{O5w+`5MzX@em-Z;EV;h(5}8$fU3r4-K!nDeyqvePkd*4#ZE%jGt17ww?Nbt z1N&hadrp@JWv!F?!bF#Hb?M31G`WphFb8<034-1Iq5%_ykqZAlmG6b+%;KZu&>jfS z6}21_S1&H1Oim}k$sQV0lC9PGqbYxUOk?A>%~?fu@s&pFreDY5@0W4;@PrObK8L_x z?3Ubb3Sn_f?O^~q-i1NEvs?=^F3-wQZ6|SEDN3_dF0;CGl^V~}?K-a9_Tc4S7aGR{ zY^JPhPa_6iZKVXL0^Q=kO&-X7?z*a$;MPoY~pJw}PDy<8YNz zb-Ig!x-pzFm80YKX7@mPm&`&6IzseMHP>DH_bo_NlI(J4>^yj*JDD6SAF&j+xyLWy zXm#~xq8=sOADfiPCG=$jByBJY)K6Jv(ZN65EU&^#Ha*9de&e!=IZ?qscDkUtcW8 z$H9gZkyF!HWD#H83pkV1t^?qklcbTkleyZSCs_kGs5RIF60F0EtXim~kXwaTm%8T8 z^qpek(UhL3_ck4u8%L$&v#*gkJDLTbkY`~k@YIp6T#wy}G1JQE>T07;8S|G^rM?u{ zWrWKDyb+yKROR2kIX{|Uf@aNl{-xg2R-$)E31dEGorT1#isETs9_dzG&C(|G|2sGY|~<&8~&K}F@1fPB9V2exhbWh zC25H=W2z^WjLG*b6Yu0XD_P};4iHl)40AE2BKim5JM?vaYkOV{JVZ~8XHXZ-!V#8K z3u&=f0_)8(m#q`hOL;#N1G7F)mziw>Ce*ZE6>iB~OB~ir+Lf|HxByJkNhzfJKrGWj3=Y@|B0n-Vpqm3m&ucZdk>Rm;Lvc4z{!9Mgt(Z@5-d zzfP_D7Nbp2^J4l)T4o_>xx9bMu#i%cXPu@eu_)$sLUu63#$CKHo`%mxo5=Ua z?x&_x9q4hwS!$>`@0ofsFnm9~Sur4W$6#mVtD)CY>|{z5PDG00!;WLoQG)~V^k#G4 zEK`_*#-a$zG5HW~YrtGmTNQcZCxdR9Ll|HlEG#|PI0LFGUiI9iK%QhQFQK?E4N#Q7 zm;#YaN}iYa3)MQFdCqE1OhTSIT)yR!`!5xqZtu_}(N3!_JmM)qJbKv&t4}Jxr3Zh0 zeK<9*Hib4czr$|h+EGzV1nb?x&k}Z11(#68a9;At)O~@=)%aA22!`@PKMBk@rfcLp zYqQ^Dwx-I>kmnD0AD~0@F9|b7$cUpBz>}Z$YpHk)O^vZb3Warz-o^`aps&w2MwRQR z4tf$vzW&05MGt9k0Tn6j@qFnaojai@d|I0Opv?AC!dKE~9^1J1og!Q^oEH*raz)Nm zQ4f^R0pT>`htIFu)g#L6c*hMMU_3x2Fkm_i8i=D^*aDl`?=o!7#oWHnl z!f;*=r7iuZZQlnsgv}yK_&BK5uR^|1;?wzeetynYU-#RdrOyzkPlF z%*UyaHLsR-kYLF|Tv9L4!)yn5Z*+!S3^iM4_nh{)-DOtc=s}3}94@qLy~q;lc67g{ zM`>p+liL_tFlD_M>ZX7~o85){GK=pXympfLj*WmxKgF%OMQwqMaAMQbYO(xfkcI&} ziG?ptnNKugqz%@Hmv-;#2#2*BpQtg{bV_mdf_Ynx8GqJl!_nX5 z7+Pe%{Ml43qz*JV!O4q*Qrge(?ZK-fy>CEw_G48wRmlb*Xw$cKZnymr#7;!Hzg z^(?26z9O>6++K{#Ca78CR(k1CzqIEWU8;d?>&Jlm&~7;5H~VPzNupynF;sz%{Yq+s?w&B2nD~3JZi{kUOLYQ00 zx~a?XNh`OW`O_%aGEFtLM)1zN-1jYP!q|?zUikxa#*&%VhlE)Mu1M^WI(?w;CZP+pil^ z7yi;Im!X`gIbwd?Y^K8D4)CNu{rVi^$XM!{YeSVH?JZh#gU$!bhZ4-%hSEcZY>ue3 z{1ZG3_K=sa4Vjjt%C(TVx+5Qp*v8rOTMo|Q*$0Jma_br50vNh=iNx1U4;nOf&9&j05#Puo zm4#R$zuoM3x?AJD-sn7dd5n&HQARuLjqB1Ng|k^TMIxN5_UJAk)zu~+nOMY;hZ;Z7 z5>8TTL?g(#LP@&wx$Hn7IgfD7is80&K$$3lN}6^{BG9dfp6}5{f4fDcKoz|$n|GdP zbG(H=Ar5|9aPB5PmQHGIvv6cHui8iBngY)k7mqUqd)YSG3ac@xi*3e^>lV2rzc@Fm zR@cEXuI*8ZqR?rB0=;~%%cK3R=s9XSxg)QJ3mzZhrWKw`Q+dQ!If;yfiO5dO_^O^%qJP|K>C z`n54?ybLF*XPBzq_pLMHD>P3=sOsyFp<=USn}Y*Ivm1rn!$(HNe71x%`_HNta!Zot zA6rC@W!P~I{H4_Lse1DPVK*h)0!um*((;ZO$; zThVBABruX)48oEYHh+bQ@QhH`69NoE=5xzSQStQK`P=m7~LM8(#`Br>49iH~P*my|W})T#dZ##FTg}+gr|s)1rq17T|t`?^XQNMJ{2j=!f20EEl}jAVsU`t%r=6EVkYrIwV(k(SZ$+~U2y?L zw9a?;s8)VF$PeReZhiyVr&KuS{d6mHLeKAmH%vfkVtb(OX4Z5(FI&ZitDHLgW?!qB zO@y>hpQgDw^O?iC2lch;8O{J*XmwxgQ8<`bZq zRwVz7V+%8gG=XDN22cqwgn>s$%j0rMO$R*$QlOyUI{M2@u>R>;dPc;1-Jx#hrZ951 zrkaUDsl-~~w})Eb@vWV{xHL(PGw>30oGS_VI(!=9Y#0BSR^&httvrY~!S4x9H}0P}Kw+>d z&SMc0f6H_eNOwKjeJ1jyC2I2heQ}^5*C~6B*G?b@6l94GiT7`X!xHv!{r~{r140Ib zdzYtGdUae1F%y0>Z$C=j`>34LR)tHmvuvUG3zgBj zTSQ30(4hL9och2P5q|n8qkXW;$7+`F;_q=e(ixaD9*WM22+N^$c7+pT*xYY zm%Uqj6G(<~E^gW2)`ZkY5UU|!S3`n>{@s=-a^I;pY^Y=SGxEr9opaJvck$t$B{rA7 z8|sBEYA~cS*z=vHvFV9}o7x}vyEQ>N>3)VNA{KV_;%m%c%PBc24S(uq(U_B-R{70w z@KL8$-uB`)M_GR+o|0Z$g;_bE(=%(vLyKWR^r9VQhiW;}J>p9~L&O^l45F35_hOyJ zTE21XJ*O*f${kT{Z?wX)WGpp$fNc z^*}W#Ku_p;vG|yzKLrBa`*+_TVpCUI_>w)F6z z1)MiviMU#sPOCRI9A#@1R(Q)$c3^sZ57S7d#8**6;vT++k-T--R!t?HjN&v;LP%ok z4~7B72AuL2^c%){ei-G)Yf7?*CyC^$I6^1WG{`9N8GEV;O zj6ECxvPch74s4nsFj7vx1V49gwB*AWXRCX!vauwW0&Zj$hekfe-z(1(%wNwckIYOZ zmBb8C=T6v~&kRE8F%nxW;kz>YlH1?6G*1tdTw&t>kw$-f$f8fb3`-I%4vv3Xd^BPT1UyQbK-b z-tz`MR2H7b34*464y~L}nyKr_LF1dbq|F#6UYj=L9tIM#n0GTbVEwgWmKjs9Eo{|#f3cb^9pK4d&+Z8we14sa#f2l z5=TFd*lGO_x@$MF$MS}U%zCWXRm!Mpenr@@W7=A`q^NFZvCYk&dZVB4;RfRgshz<( z=L>S9P^CKbMPbb+M%~?4PRv2^+R~4|MTL$w-`l~ul5(uUD@e$rPH?EfN0#;CU@AcO zPOHMZx0hRsEpTi7;z@5xJpjlauO|0EzY~;lq`*auAQI6^pa?;f!7B3aEN)Id$e?+b zcwrpVn+eJrCpKgOa5M7kQIe%@Cu9EZt^F`Gu}n%?MSE^fH6l5}B~Qw|CJ;?O?9 zLwU-L)!5@JSgM0f@L|qs^F*IG@Va!f6;JC1gj)clN0T;(H zhO6uRhlp@*fQ^n=&ENhDr=9<1Zn2Ya%{?DRW)r<-Xd|Gm{#_4|ir|%$eDQ_J=ZddQ zfAC;A2P?wdnbp^AyM+vWJsru<7EF&+$xk2eG&@LZcgy&HXanBydh`YKbqXL`8n)hG z7GFN@_;7%|aJYoRE0Qwg?uQ;me=ZbxGGs(>u4A>2pE3>uxFz81h*6nxK1?wM!jtU! zvFJ*c7uQU$>@4ia`&}4rhq!Vb*;uvt-y))?gm zaZ%@AlyGUY(70s>wm}wbsuFg{`OkA}tFG1yYQ7knXXco-~XZ4M|iiUg0gw zHVR~GG+1qHbtYDW1wJ9u&pY5)lcR>G(sxL?iB^rZdF(kb`_sbn?ElzkWSloL(j&{Y z>2u+_s`P+<(c@k|GAYaGx1M?jEQadl3UY|j?0AV9km=PFmdT4M`6)o#Sk{C@zNy+n zVmrC6lPn+~?7coZUszghu3etDX4SJ{rAI~MZKZK=)Yc`X&G%J8Xi@rJQCXhO$2Hk7 z`YeJg;w(`#vF(IrAajF>cVg@Nq%ry4L?fpH8bu}Cymo6Xt@o|kc!N1dvYrytCFq`bA-u{k90(wmwbfrbsD`YNxFyn?AG_12)*e*EDZu7~h}}E;aN>wZ#bW00x0|n93%TW%&&LZi&+`b3ags z-;NFEv4tzu*_7|=%Y0!Q9=$)uDxft6+BUHx7tBV$hGC>UN$7@hf--(Ndx#bPi58)_e9EAQ&lLXs3Hr~00tY@(!A0OfCfK^=4 zOA!g5th53Ribp~fLnK@#^EGA~4!#cn{3vquWNssnf!$hiCwK}2*41ltI($j~ya zwp}ml^48TE)IH*E=AJBU37Z4AMEON)liKxwF)#?j$!=A)4d0*L76~g4ot4f*iNbb7 z_{=26W9#V6FFC{;jgiMOqe46>;_ie=iE}zG^zU*5!3i%|g2W=`28$OK`MR9`p%`ZN>hz0jfQ{RCzd<+FBiJe1x;uKG)UZ6q zS!8(|99VSu&%)BuDhgY4(UEO)(#U6@i8x_qGX94D*PVvD|J-SS{AnL>N2^652n2F+ zbFV`V8EEP0IXF0WRu@**zkR2Nys&d^Lyi~d85mf(+3D%%xH!1z7#Qe)v}|0QKt_6Y zE?DfSh=fX$;`uAjx@8Fj=reOim>IN!g+w+b03;5YEmvUZ{nqaj0Em3pA{h ztWf#rVuvNxc{g41!gtj^enjdk-sQu!B*bcJ0qKA)B*=A~ZUOLQ;~HNP)JV@dvAg!( zy}AacUsTNRZ_Oi*4_&`2#1s^lKCIyk^k<}zAP%y4y+3u%Y>d#{ID-}pY0w^x3+I9| zn<_OJbNBqrL@CmQL(LSmRf6xhhJ(btmyC5pDY#ftWFNCQelYg znw!`4HYgzI%B`I5-zUj_zsucjGE`O!;X}o0|44nM4u9BmY1Z4TNtj?&E113>JG%PS z)a}N(%BePyD4v?nHK5}Al=qYy#$~O${AdDg6@j)caC_ZI_2+?Z3E3~3iktSDZPoo_ zgc7|R?-0E`%RAT`?!AqD!8Uyo>LXR>zEjc6M3~iijmUKkrh48xN@BnjninyP$DGJJ zRa;G%Ip>G@U9-G*Ps6n%8j87Po?iCuAt_;Yjh|qDz|{#3EA_}%XY@d^^5aPH zmaO~C^$zMDHLrWYlP;o2Y`_n=2^?y8p*Ra#l%iF5!7m@wiL6K`juBt(MnUf*n6gQ< zYYz3-S{h&<(Y#G6<0ZV*^?!qGK)grUs!D`_zIBI|ZgHT@LGd4=9 znJaBN&PZc%GrzlhcQ0#Diz)c|KlElvVCQz~Zs<{-Jb4miQ6a+@RnW8Et?r3hE`;P& zDm{p2A*idyHm%ZK;T(fjfKXkOUOY3zzvlDKtEvH?m9}sb`1sd{01H* zIyL(6S8y_Fbe^KkuGn#Z(0W0C}xqSwa*aKbSm^Pt)hIaHxxbj+Bs_P%nPQS`?DDtPUd67$c{%}q#Yj5Hf7 zG4{pnw38VE6Vz(TI(Ouc=u=wkg|D(t2Phj_Qkf#b%?p^-nJ0##)pi`bXOmn9}1dSTFgk zP3|ToEuE784^d|s+g7w~Ylk@vGcz+YHO$Nm4Rah$8*anQ%*@mt}F(_5qrW=5_HyH7R4 z{uUs)FQ~4c?>ZPyY+TEyKDp>Ihi=zxFP+3dBJ$(L)g;*NhXogi#nqORJ%8sQK11|| zCDX{OAuQT`i_|TV!_r*@0@VW;|nb>HGRsrjIl&^%XTcw;n$|J1_dUcMcAsaS@rt+!I6#(A0{94ldlY! zbd+qi4b!rYb==>}E3_yWW6PjoPw_;u--45E07!qn<;((Hx(ttPYPIQ*P7RgR)VBM^B4u^&%qjLEq`t0py*_}xNgZJGQqijwhn)bl;{gU6pRpUiTj`;udVeP07@0zIm|(uTB(3dn0ITgck?XA`cHwPszrDSvdECoA{UGNAYQn+%RbPxWxBcU7DZ25a4EP$AWU^kVp#Wy3vp4 ztTTM+l;mXbi8c)$Z=hwO2fsFa1uuE++}aEHX$wMRxb}ctBg-N$r*?+Ta_zmh-14?8&j`8o>Fx?*(*8;4N$7) zt|r7%*4TT7*UU3D*`GW&J}jxw7;;E{YBODWZbR)sD@&o}JvBz;Uo*-gCjk*8`@OtE zx|@mK?w4Q#V=BHw+}rVoGSqqNDbG znmCeZjdrqdWCR3!;O1?M>S0!>=yYE`3gsY&T^K7sgmNzsJlRc*Elx3$sckDIJ(6cf z({YaC3wy(g>D%434K4yN%;Fv!kHpYHrS}ltwiQnuT7>pxB^j&lGnjFd zMY1=2(P&2n&FYzMt)L;xGWI}9Ji|dHKLgcH%b6#`x?au+mEJ;60FNmub)I*5sy5Cj^l-<`X+Jv)xOg|*zDNb(;m(|5bC;j65M6af% zTW1`G5*^`~D5m+gU*>{?YxSM$P!}d3+75xLd-Ko}GTpVSDLo|VWxtDV>D3S?x8xW4 z2bUmjEy$X2D)sQPrS4Bq;UE*cDJpo<3i-w12^+giNOdEs9JdLQ^|F1&v6q}9Dq5O* zwpug0)SD{`?u`Qob%{qO<31+4K+J1cKc3o9&JEs9uY%qw$%q%)=p8C&p$@3)>J$yc zB!0aUeNRJHsbw^&uzYhWP8d9!yB~zSRk8_L=$*_591xp~XJ#-Uc}$)SrtmofEtvT& z8q!AAKz=4g$S|aBaP6&Jn??`^C_n{CbOtiaOf55Lo^^q717y9lmtYw^Vb1sOaEhHC zl{=mU7!c7gb$~&4`#&&D0k84mx_gsu4F zOJYHQ3j{ipLu40=yhwtJs7_Ml-9+w_ypF9~ch~z}ALeeP?2{8C()$%`in)^~aa)K9 z6p;8d-X;y%NJ}cD`gE6LX@H$EsWt0laRIA){qQD8s`lXrL@)DQC?~3j+Dz>xApirc zsv}z*ZLpB}ciCuMfy+N~YJz;?lFAloh9P}4k#4~>QBF~hE~^a3OD}An*Y--Sv~@Vx z*LppmpZa9Zrb;Cj*1=H%$@b?*jl$|mJz0ll5Dd2?;4C0=Hi|6jF=l#i zMWI)A`I|cdL_g%fP-Okyz#cYIq9wxopHQct87%tIKW@(3K^RWcV9e=C-}QYvv@8>8j*Q6PmeX3An7N7Hh++ z*`RN#Y#r8XuP$g?22jC*IP={?$f7aW5;@)90&8UVkGTG(Fg8-JU6Qg;-Ji(vj_E^P zz<_4M8`{I=B{|Kg^4^s5zC^WCT9O#t`7RUxTT5^jhffo<(FYvh1LwmbWW0Wc)ahZv zlGpVp25BqY;IB-2fj|`&PKKR%hs^~-X9&tHiAfc~R(*TR#7K zO+EHpjC{Lm-e@yLA$~&#$`UeAveW1`1-p#LI4Sl-?-N(?E#R=Ck$!BCMP{Rl^g_71?N zJ1!|(dh%_w-L7O!S!zVUR(MOD)QI|1N(7G{y`bxI)>aJ7#S^9KH-C=UgE!Dvi{|2T zEFR0*y5U>v$<>(Wxuxnr3IsO1#Nznt6;eCOK(SuN{TW7ivT1yz85c^&hi63Ht+Wh;_}(h zpL2G~$L~r8hdpb1(duWrSuwCgh#>b?gholEmL7=WgZp{IvFCa_7ONkm$9Epq{P7mj z7RDoDkZ%YIKkhASP-c!0`lyoz^b)if-k0k#hl5Nw-**SXB!JV^Ngc3Wix^PSg; zQv9ieU9R}j*PY)MFM1r#g|&w44JRazo(t<*s^T`LJ$dHbz5=)iqJDBA+F|vcMzIAy zl1@(zA#;cDEIIe$E##$7@SgtmN{(u!2LE`<)=30xgaav#Aj#l_`jKR2&4%%EmD`4+ z*s`JWZ%d1`Ohiw8R5TBL?p`?j!JV3bd`alb=dl%2VmZZ$q%PalE?==bIS3WIeUB*a zxBs*p8NU1itVa{F>@Ie;MenZAYjKQY$N7960G^EHe!}M~S~H<46oC3h+kgO_Q{yU`ejy`TF(! z819Bwpk|uqZvr%cia>Zqmc3gVen%8$=6gtnmrh7AZN)l`bH%x9jS2pAmI!WHSm@uN zg1Y+q?<`OgatZ;WVmJy8fewz;`PrPd+?1}~#?F)cdCdedEZ%{x{V%-=OjQb#y;Z(U zu}qqd`LG+}NJ7^?*gT=Fyy$-fH!j#HKj>#gY`bf4XK;EJq^(@<-m+V9C!~A~ed~#i zDl$w19H7*h8YuLTk2Z?PlF;^1H#>FxLd55XNiS$P+ifM=bj6QFZlJS*XTLzHLujQk zRF}Ayh8QYH+BkT`=a<2A_&fVcXkpKILyjPqD5^KIT96nLngUc`##L;AR@|e@h7o%$ ze0M>|ZQLBflI(CIx<;My0(nVAX$koz3?xwTy2d2vP$%sdxMbPvXcrIZ_uL)eVUQoVJcsD6e&hjwkF*RA{n|CMAmAXKCosI!vOq{pT z>*)U4GL?7WRAuF_>f(RMRS5qR85sT>k@z2~0TwJW>_gVt)YP0@+_d!c40LQ< zoNQo+1wAJR2NMqn&h$<3`vR}n0vJwU$*6k%^!F35pv8WHE=V6C3xxht`D=8>lj)0y z=cgz#04$RjpinyhRLiW9It#G?ZS82uJ9#dSO#5a-$k$|k`d>I^T6~;CKt(xFEcDdh zbPXs1Hn4&2SuJ+x1>{z*lXzBoCYdq=a~i0X>OiX^Z^KTjIU`Ysb4;t+mqd~GjCos^ zGyoTd0v~B6XoP3$9?NBXc|BV#fw^Wf#JW&~9uu~%SHWwYPxWmK+>{_d`f0Xdur#-! z1}V+)Qq@GmEQFhKNfU4^ezIjNBkG%RI3wu`flN_H7q&;sY1w<~LiG9U3FIL4Z>Mx6 zC~1d!ePGFAmMvq<_0C|1gl17lIgY-m#i&@VX2ohuPkRMZ#PdZDv-x~RC+UlDQ7(QZ zCDEMmlO)xR?MTt6@c2qMb`}#{jTWgXZ$8sLdxq2IzMK<$}OKIRms_InuwQmNML4i z{NdC$xiksR&H=J10cj8xe(Lm5=aKIJrv3SCdFP&}qxAVG9WAg$GK^ckgo7CXjS*n} zy}QoJfw{0p^(0@1D2O9~j$O{sP+47+*Uk4>0{Z&02&!#lfw5eA!cwNa5S%EN2%sQ?QGNr(;XIuFWm zB5Epi6LF~2DnoN;X&&`&;UC1zm;Pr4)ZOl=6EoU$ z-@A+H4WCbnDH~8_-QId;f1rOg@Ns^;OB&B$HF?y`MkYu0-N! zFpG6`%O;`y=q^cLC&ua`X3o9-g&1+sHK0B{UJX{4=C6qW$Rbfj^+?W@q{I{iMZKa_ znl}PxgR-->j*jp0EOGEDx+Yqv4y?Yf&~$Q=yu}LV?qx_5fa-y;L(%WtM{isbOwg z9yeuxwr9cg-<@WB76$p}>ANh)I?YaM2r7;!+3&^I3<=U71|{G1QroURMJo$y4u64?Cj+Kg3c5 z_PKxA50)`9Mm{OajR&=T3&_kl;4yyq*JH+$+_9rsI>qaWEamyFiSP29=EEceF`Rnc z^R>ht?PYy_If)AaG{wgs?ywPX4R2ywZbTNKG&9ISYxG$W=i84`h()J)ymo|!p4zZ76 z6X0o~-c*(y1t$2(&KpzvR${fn7pkQq|Nhf+4=*}(=6epvQi!3TCAFF4V6~du+eugH z{t|)4^^wc?ulBnon$GxY?(_N;?Oo>P0s{|f?e$I+QwWBYI!?1g9Gs3`uvhWG1*X%M zbS*ypb1XZKd@XPgz6DN=ir#dv#k>V2MF2bJ);Jntuvp|CA^&hV5p`6GI`-eI3vNVQ z^6_@uIiXrmQTihl)Gr+$)pWPQGNnI1-R-bU*du&I3i(Yey&Wzn34Ff2WLp+BCWyF< z2Rq`9%kF~#Y7;0S_*HFKcjaL8x4cPA)dX%r(UW1PVG$!0Iz1o5X4F+1og>%<6yPig zm4ZF9Tc)I@o4bGz5Rm*!;cK&p%JXL-KjtvES&E0_xf>dvoizLRM8_A!qtPb>cu()M&3mH%Y&{G z91o6Rnz1@9xO_rYX>V4KF56ETy$PeQDRufFeX@@!IT<5D zfA}`VR=&csJQfZjEt+f?6B(fxKkm0kHi+%+eUVO6?WDGCS)_ zbB->_QjtytQm1zyG`%prksXkmSU8yfjxY>f(uAbsfB$>Il$8^)4?W7_KdCl8`>OkM zf&@8@MF9euK_PiF>0k_PYDGsp`A$s#NJ;SZ8nR%_A#@9_*2tqH*=?LP189` zax5Dul{8X`jrJsmnDPvqT6o8MkdB3{?h)BwmrqvZ=ik!!ezWvgJ?0k?`Q}*KM{r#( z4C)BQQzLS_U=ZvtV8XRy&ef6PUvsSYp$Zo#U) zILZlx-Ec?1e=>LPvbUCg{HPF{tE#UC=@G*`NP*@TNI8AZE7fu*9Z`M%eq`r-D93Pi z4tL*5s*Rq94*^%s$;AzHfd<&Iz4~Gr_20?TS{ohc<}_CtU4vN*zM3#tg1QRWLFCkW z4_Bh!&`bIiW(byaSO0Jo+GoC`xfX0Wn zp*;eU`jI+6wgQF_0Z@KN0Ll_b@?BZ|ojA)=Zn(-ml`^;Dg}{$UQY$N3&r4qo3xI_K zGJ~3Hk=u}c;lUie>+PVgNj0Z39 zAzY{;CKJA7AYhD&usL8KvpZ5uxWpLxu0dz!2hRu|BahBLEpu zp#dfP81A4a8mpyIp<>B0bvASXw2&phS1a1Ug?`I>MR@2C$z9DL2!#Btto0y5x(PKv2(| ziAp_xMdMLyDBSgkPPgaB`Qye4j>F(QM%;b*u>hDDz_juJR?y1#Lel9tk9$oVnP$YS z8_cxV9$=!&u?~bCx^*PGYmF*spTAu~G-X`C-J=8Lt?@jD;L{nuNB#=zyt6GRk_hvj z{kTouxwQLk4`ZeyJcN;rZo()WH7hvrlUY&J3sAH-@{!9I9(kkw>0YNQ-N{J?8~LjYJ{2c0_@Nb^hgh#=e6 zmysICZwt*%$Ee6e%9-Gbx6a$vZ5JSESsG%G%b))@LmrMx8VQ|H+L<-ZBll(L8=%g~ zotK*WRK?NL31r>$uR26FtGN2^FI;&=hi*{Njk8CpPyzrM10-Hj;!<91%N#ETRU0@o zHgS3C!GYgKoo&EB-pm;-qmcYjV7KqRn%n#PKCJeM{d@uH0Bi{o(?uZ2L_t&JsBJxn z&VGVR4BCp(O=u0o*+rE5dh+3`?g3~D?*S?iT zACIVW(d{DXss}-D;Md7_PNv(LIe5+3u6!JEW~e*UYT(p(l9>Tt;Y?5sUjy2#uLqm} z+2lcd-z2#gF~03=WZUl~7X3rlRsL$Ys7Zvc=BqXo@D|`NHs|(*Hya9E$0vo0dwRmd z1z@u!w&hMu=0YN{PyEbcsL_@mZiu{g6H$WYF@XZFQ@StluFB-gv~vxw$9EYvRc2mM zq6WfG?|rSrz1Z^r;(EQ4vqPmr*}v+7B8UgX3iQ)+R9SF8GTj2i;%h&4{@AUmY^Js4 zbWJ@z!@Iu_+j1TMo#Y*2(xj^AkhZ_HX2xCAx?k+;C+C2l;M zOwi$EnYIDf%li@5&f5mLJ8cj<?hyNw|2Q|tkFn(x0)>(pq$AWq=dnNv!0quWdfOv9K$ z-}xvg!AoPgXVGD**-p-$de%5oG!wEvb^fQ3&Te2Qu>L(a=V?)T4?Ci9+F72Yno_&} zmon=z(S^;1?ak68ZO(J=SquBM|0OpA-~a(soD<6cRUCLtSM>2ZPzASS;pHpkW+s?| zIO_zw`Nyov(zO{G=mL2Hmnc2X%({pg{yio%Qr}h7q za`mbtAEp>_)EHdH)EE#6Jc}1u(F;vg9Vff*zK<$TS4?WY!;Of5VM>LPQ5R$b@oytb zK1{NBgS@-KX|N<-`#!Ul{Q3kQt}T`53MA#LRl%@K4DXQviCac}lLl2##TL`ks8mVz z8JT&{%T~!z#@wgph4xUkOCA}ZUY~OmHG+5~2V|Zo7q&TjmMIH+OtPp?;jHQNpGrwN zQ^04tyt`^aV_;ggo*r4Ca?{;4mZbVz6nCgH-1B`1c?oC7qb0}m2 zg%mgmoJ7L;Clnd})&OmaJKL~~+;P!xpw+Y|+qv#>@=%-D4e`Ex{7)+a2T%3@s+BeWB+y-N~%?ThPT^iA+UqJ&FPG{sb`);+0+14f)`uH=IC# z?-llhSKrEdW$ybsM3G!4DCBEZ{sfkzf`tFs2WC6&Zz%8=*2ox>A#1k@_r&214nEMT}*R-8d>>Fu}lrdo2=zrItkI^E$yE5B)wNji9sO z0y)=+(zrY7O4?xMYpfQ5JK3?a*fkJT(^do^p=6TnYC{`|csk!V=N_`R~o;*Z-+PoF&Ds$rQQ5^L! zJS*?wFhtpyCV1syGDM|bnuNxZ?&fo4YBYEFvMD%+Et)%x?{$7)+gDkWG=dG^^D0AM zC@6nLaQb6^j$oYXp9v*c*-%hKdu4+d40IV!zFZDBM>!e$r8X=r0_V}y9oyWxjB0p=*Ew(G-Uk}{MfqDD&a058QtF>!So2G>M|HrkpdUsQxp#Yr4}+eIjugfm^YpT5}@@vou3Hlx*6Irj>DA7F}% z%di*MM0~^GvnT_pBQ&o`(PlLozAZ41643n-wpWrAFJUsGoQr@C5dv1{{8Mo+fNewMoP#-VAVHCGcSj?#Rj>woxkc`G!I zJ1UX#1eM4$#wA!0-40rx)W@QmOjD0)nVz4%{uP{mp-Hn^70TUosF!T!E-ZT41CA<>k!_!*hF0mCqZ)dg5JC zjSz*+O8wYpJ%b~at(~v(!;$wUJOx}K(46rWd@xS6Zf+fM3-8zH8Bb5^z-z2(aC{F- zS*ZJkoTVjdgzu_98_-$I=Ru;^@w=m_O#{rB8zVN0PWk$Ore^YhVK z4{+1?Y5^#)F}5!{KA(*QtoP#Fx&Z(%7@jO-vCAu_`!=1J@{pj*fhSpVil?VZ)spJ; zVw)f$QrA?_Fy46DG_@s=90ZQ_x=YTu5o+MHoQIgYoQ528dM-O`OIi5S8YII@B)i;F zKRar#mxmeVyUYUPp6(A4ML$Fy|c$_;IuJy*?P-0 zT@kstuA`56obpNZu(tKNm|&UGKf{pWE`7h;Uwvw#>Wv%oPy;a0bkAwn`4iFDUNFj* zIs5tM#?YUqtz-_Jdl0XnPC2(_)gOzxT2*KITr?79pY8l-ab#q*wh}xzC?ec(M@2;%)EgJQ+vjhrUBU?|i{l%gRix7$YW&T*PUgo9(WIU7t)?g0q?Pu5E$Y)lw z!`NQabGwS*=M6;YKxE^a&_Yoo0a`@}rA?hRWO9G=Y6TZ|^rtCaHlVU>+g@m=+gz`p z0H7J7)Knx>6vZZ%+Lq}?MYjCeQ8AqzRWJJ){w1FR#Rr=rYGC4LR6tTKUef|dKs`uk zC!lGZ`PndTgYwoI{5Pyb+&gues-gYlj|S2bjI_;{d2bQzcIC@pA5KD;YoWT2b$=cz z4iM%m*Uy4E^PV0VoNI@qZc8?GPdr;e2d&DCAVipezHkQ)f@y8|rax%i^i?*H`Z$}# z5QCyaaNp(0hL|c!O{$i4;YwC95ciI5H4&s=HqQm@zmK zP-O=>Nxg4Ng$!1;c-sA{$`i$F;h_^Y&zhb!&sw8 zDp)q%ik~qzX;qR^u>9XipxKpxSuaSeeJ!X2FX+rk6BuENfg|@ z=--5AEjhhna2-|e*>DDvhMWMup8srVZAUC8=KUSW_ca+>DuQgx$kNeg7Qb5Vo2+QXz{$a^Zw^{ttQNc~fNTuklA>z9cS*f;}@x~4A{jl)l?Xvj`p$e;51 zBq%N713NmJ9M;X+63Uy9sVN(ZgJd&6(;s(FXrAm-`k+a3y!;&4u&8^?B5sAYmX<}k zK%eXPw>Jc(3I4oO8Q3q4CBiTMd~B#!?+Y6Z{XM#^3$xF2E`)lEM|Uaf4*KPp299F} zc-D@re{4C5X&XvrVEwHZ;YpMAJFF26E_m~-KVs3uA!O5zr5FD~x3#56bDh^;*`p5WiKA(Eo~=LmDA z%J2<1OYe34=EpF1=Ljc5|H9W=1qM=lPthP)z5NU#cM4VG}#oFh1C8vjD+A+s?} zDB5v8w_oL|-z^vC98(<}G=n=q4vP9=l;|#PP4qfI&g{Mp_b{njYVZ#P+mCCg8<8i3 z!q6bX_N7}b!%E)d#3Py&z$LF>6+gD|7>w08DQ`;UeBmyqLVf=DV>hWqVzQ#kZfh9B z2cN?N8lWlvKKCtg8xJ;YWfKQaNQVw0Ekz(Kd#?0jEI@>Z+GZw1I=53S&L4m!ALR&H zY&-D%5|qe?8EfS84s$MFoSJi;p&-(I=3T1tD}Y5>IxNBO@rCVGU>hVs11*o_V(!B> zPWE6W2RDi;td~JJXr_?0yp$A`p1}U}@8Vg|&o3h8Zj&*JQ>o>YvHu-;?QsK|!>#so z8b+afMdgbmYLJvNntEj;zNk`??ScehO~#-3jMU}Q-1CttO<0|nI-WTWI)V# zQuc?OaExxU0fQxhUWom>>CIM9h?zeTz_sHa^U?PNR&|3yiT5s= z(MgSbh6zWEufI#Hc>-RvVZqZRTX+eD)@dG1k-aIy8(tHy7p^S%g*#;`>az>*t{Mp< z!a4-YyV4h(2cMxbB5aa_xEtgz8cl+uV@RBt`a zyVhKe>AZ_!VC@y)Bw7DUciRY8tIHkKGndsUR^Py8GqYS~|1I#J&&e%c;@PPl&b~{k z14RfiHQfzDDBlJKJilwk-drn`FA3K2Mc?f5)IwbZ%MZoHcjVsCRn8?Vrgu@dj2EPz zkM_a{W13T5OMLG3!@I60b{dS~FCmLpbngGEVl+xYobyq+zyFkHb)uSVtatd} zr>6oWRhke6&}=G0!d@PQ3Jrft=gR|R`Qa$7q-MyJ+>f6`uUgXX!G4&J)xEb zby)_-bBuCDhJU_j4zea+XlssXrucp@0d4ZtP~+_PkU;va(!NZnJ?ti`qe@mD5fdk`-2T?4cOs?YI@I$;As@xxzUvFRkHR;B-xdl1i$8K{D2o{nILerP z>vcX{>Hpj(ZYi-MU^V80dEP~~ZbayreF}*>l5V3QLW(>DiNbyTTTRQW=zo7=v;&Vk z`U}EcfM zq4c)-QF?ySA&)eWTQWEFC_jPYlmC(<+qkf4x)(oiKtAu5!kESS3N(C#VLi5&0eFI@ z1Lfd360rgkHUX_+8;VdQE6!*lzLdkSu@k~P6t7k=TVx&cuX$)K1=qQsp zm~z2~CjQ0EhVQC*czNi;kf>w1sM%pHjE}F8Tzxm^34^oMZm|Ix3AfWu^)wptG>R4r z2hhFH#f9!AD_rLO1;1Lv-Rq3SPxeevJWA~Zi$DRLavTq%(Gh2kjUWic-#hcCnhjH6 z4`oh^4Ig?SE}I~!H`ob}?7`!?BHIW*=F|i+*EiI-c9>u#O*!&g4c>XJSlJ~-Vk0c8 z00V-HCt$*YXkl`4Y{|G+1E(sxeFK_dIdMg`S5m_A9$VCA#@1pB|VFA9;#^%mNA_i*Nfi z{Gm^lLwdO+XLxZBYoXX)wx^qeSU9P+yB#SZH)Rxa$q+PArwc_S4U(L$W{0yR3vXHK zOB?jcGArfBH=gp~40G^4KPgwu=8FY$BU{QVWrgNnSzLW!zFd)Uxhc20E3<<2*Hhh!~YF_`po?Fez2A zj=;}ejXEf03!urNP|PFm383(x?1P^uH$I@!h*zi9r=9oG%-1SmQ0PH$x7*&Jg7W78 z5y8iXI_zH%!hV@Inf6q&Yj@dfatI}D0;)$68Ac+t@dp~w&wDXlw6K6vAafHyv0T5h-waT;(6 zyvD}&{!@&EnIcW2k-LBc;G&7D7M4@SD2G`00PD4aUZ+cD(SE%K_3obMcFKy=HZ0HC zJVXWHHo*IYd!i6x<~A*byrR!Tehn471GtV$10(oc$;=0Le9ogHGqD(lT*l7jaG{|L&e?+{oR3PPFvYP7aB zFs9~40V2+iLyAr@uQI7)Uze}*${CB$iZ=TC-Ka4jK(7(9bf24&%7M&-lor%j(C_u-6-KWQf9pmjf!Kch+J* zqVeR00ul+Tv`Pzo-Dpv0LwV%%vLB(YE^fb zb1y>tQgcfX8ix^r5A(<~3Kjkef-y>Rrk4) zIiLEC7)UunC8bB^kJPv0Bg1>v)12x#ID2w>rk*lV8J|CDc#kgI2Lree29o98DK_tn z7@17g%ifKPPFD}E;j!QlMi|;SKS|9Rd4wjX2jXxUSf`UfM`XhbZHNQ!@>j}f4hjs84BQPKl0=<77Ru;BU}X$)bqoD*TBNZc8vFr{uL?x?{5r*(AGhqL}a+rD2y&Ga|yzVcf?GR-eIBw1kG^9Q1T zT@Pt1-q=SOMSU#J(KylC#KM1LuhU*H#k=qdImONYW%5NPC)!%2Q}^lDfFFAE;*S8o zu6D7uqfg`&SQQ0(V3rl&o*0Oj>oEKsFy>eV_+xer5-$)|lD8(T*QDk_JsaW9cM_~; zuQ~8snD!4NO<#q)=dLq7^|^^jRko!Wp!WB9@|ZV#xgPe`3r@naB94N=yqulKp6LW2 zbJS_IS`wflspgin2%ofvW>Efo#%aD*yqFDC7Ncj4Gn>l7;Fr>gQNO@9A&0HrE)}!0 zl}_>|`}b$Q;>Rz!(^~&yw!E;R*f`&+M)q$ zTwB~jf&j7*n2XJ>YU5I5H54iW5W1g00A4=2d!CDwH{11D|80p&!leG7m)Nx?_!$SSI7f_}IPNZ}&nS**W!jF(3Ou$4?9i=oRon;$7 zRNV0;(wE{h|1jqmPjEA-C$`&G?t>qH03l)=4h&P|t7pNcac%VkOO17=%^`D77j;`N zQ?-^gIQh}B@URjN=N<5DvH_q;>huA{2hvXgNjr(6Gz*~#)eHJx#TH|ce{^v5IKL?q zZ~i(AUIiS`gJV`UkRs4f1NGt)mHO{0LsYl^G9bfuo-nPB{j`mO`z_#nVb9x!%Pi#PKE zdvY?)YSN}M5i$64_Zh>Tu-HhaeRZ{w+xyl--Ot~`qWHJ9nnMu;m_PYmCa#V(V6YwR z_D}~q<&l!HLU>Dvs!qS1=A%eakEFNnP}jecBK2I^QEFor0d_joq5V{qfxE|UA4zj$ z70j8RQVCmU*Rgw}-9Iuhc*QQc#Fyp$A8_$~?f>)z@N8Sa3l(xb8wWQ#D;Edn_Ttv| z${|=>pl4tJ8#uU+H|gjYz^Vcr^Z(DaWZzjjpyT9bqo;YJ2Bp92VmI}*S~L7WHshIY zO5vVr_yTn2&LBF7=KXq4#YHgn!z1Tf`WD%#WPWWArkWhsGz1HZQFJWjJD2<>!d$0P zIyE5P+Y+a+b5Ysoj^CEIOX@p)xmhUu$@h50;+J$}gSIj{sP_xd|YhX zFxf9Le~6rBsRf?;4MdBva;=?$aP92^F0()9VKA8_qEz=&6+0*toHqRI$(a?e{)(OZ zY8$5!hJ}3T{p#O5Bd(P~)Lj9kSYpyZ3jy{|(S6bA==KS;hZBbz<#~AGUCLs&Au!-J zNU4~A{EY~DOLvZm(ud9U)vqo(#^7-r0o;=V0V+lF5x0~J1Vd5+sVH!c&I_3oUW_f4 zldkBbieDrQEUI5xvvty}UrppBIuQZ)?4a4)7$}X>f@LIzhVJH3=R;)zk%MLG)18k^ zAZv$FkPKE$I6=X!@k5KH1jNhm#=W>4$R7^U@H65nC|4+L(EsZ-hA9!0n_l4r z1>%6!?~LgZ=Khf^RgJ$r8+t^6^QKt$_H!}$PkB2Z-S5LZ}Q3Ou)%vAXk$V%n6=4p=U{vOs}W;%PGW@$>SkCRiSW<(Eon`LqWX0KFhB& zW1}iVLlEA4t7L|B>w5&~TdBfFj1$5n_tc|b2bv1BMQ%&+mlsB_rmvXEW+I<6zCl4y zU1@U&FHH_?RRD}ymRz9HP8qP;j{Zf?cIBhc9F}P)Lfm+0cA#B=-@PvF(Bsmw6JEC5 zl;M(3#O=`#;QXKK17p8!4v*nNq%4=WbP15{hiNwJZ>*f-WunFws$jKSl}xCBuYo$8s3<<3uMm|gX5N!-nQMA^}5HcW~jZ|(nvNTNvm`#+~s zVsmudV%c(6_z24AJE{oE`aZ6rVz9g~HY9j%h6#$0@h%UAhzYQ%TVg?kaM_V!0%x!r zyfYl>$o7o+^2X{0TIzH*^Qm<)#80hwxk=ze3WGMDQ*M?oGIwN?k)reZ+?8-OvxnnW zP^(A4ArUfX^xQRG*4)HA<~Dv)d7+8&Qw- zA29#V&FniDY^OKwemH;N$J?|f@~0YdQ6)2JJ-1N%^%cZor-p@9JCHy#;p< zd1UF(n}Lncarqr{f_1(Gv0Mjt#OtYB&qr^9*>N@o8Y54q&vtMULP-!5*>^(m6x3{Z zea`zjfRr6d3We1^%yvunS5OKj#KkIBGmg9bKp+=@iVkl)NG`87eklFT)vMkNqb+P_ z?zQYyLD@nDQq}Tx=(DZ=#nwvS6`%^%;6@GzTU6K_2D3VYY#hFC3@9W2p zKi2X2+LX20i4`a5uFEC&OY{@!E!lWI&1I0#9WuW5$ShFU<6Tlr%JgNQ_%V6FuriZ# zrV0+#W%^~$L1gj&U&tdL5nDP8TmYsg%EY@taj~5YT(Y$s6xtn(NOt?TQYcLrJqew8 z_(mSADPO^XA(>khp=f@I09Wx+78)ZCeVnv2wfkk!aq{;nQ-kwJDdCz%8_YF#`-66a z6B*q2P7)YNL4HfV2{HySD)X-EI4aFp^v@%?bF%Q{Id|YhG*{6uh-+HI;Q4FQfs`1kAD_rIMkg>^dPHVV?80mLD%5YI+cpUq%se?vlA>}kp0p~Xq5 z+y=iV8~s6ca;>}Uhm#%GXq>V4ES|lQ{zpavv@u@`Jf*Hbt8~)K08+0o>dr*lPEWmC zFZ*$M=?Ey&?KG>Pu+a;<0k&Vydk(tWy(;t}cQMZhxlIU69}1r8n>JpZWcM{2ZYrNx zKUR_S;QjuYGp#sAhny#UN$~&&p(<(qK_?QL_T2ak7C^H0;CG_X=KryCv3aUeJaGza z1j3VWYQl-r!c!FEt^UsEBx3q~Vzg4^sH^Mg4;FK>+85E#bVnmaf(D=2r#lMT`r9C< zhCI$v%F}14n^W0_)|DS0xD<};BS17H;LPFRJ|||~>QMLu%0Wcb{MGCl^`>pEkho;XZGeSI-hSMxj2UF$|yhROJTIMV{6a53>-e;fP~L>}52kXC7DPMfpfdDDJv@ zna_4$?U62NXK5INRu|sXV3GlDH20G|O%;8%oO&-=^=teVnp`HaMW| zpJ5|vD|-7@3njZ=pI^>xCpfxvi)R7MNBabRM>g$wKr zuNeCQ>v>_MX0@Ti@$@3CT^q7oqZAYSDhEt7wZWT9Fj}-<3FtgBebN)i1dM$J>HKY< zv&r?rxp2t1wN<@dN_RC5lO3cq-u~-}bKk63+jwm3K}&Js&x*)9phUhO8k)o|WcJIs zDM>7ugwKA8?_MZW<-8;irBv>xQFGnQulL-AqXP6@3t^(?hUWSS%jS^Ioz?cmhFOEx z@LTQHSt!p>r_Yc%4!jx)KfPl~se;Q)H2@SY3t`Y^+*_sjy(68|ACu|(<9P0&N@ZzM z-4*}Bqjgqdw&+?rVl`e;3IDB%0RYq`%fo~X(82FZk;OR&FYn3T`R+1KM03r`HScpT z$hUL3B3*RJ)$PisOEM04o&dxZ%Tu1WK{NsG>kF_UtZ_0rvq~EeB9P(ld&-Cl2fyDw z4`g!Y&Qv4Nb!GJOfmCHOJSK|~CZTU3BlgBXhIsoGDTa|^{O-uDM<;#Bb-b7sbVF`{ zbFSBWHfUjozlF(40NRz@^g+Nqwif{2L*$QJ^zFit*?<)woK71pbdW&nFaIn4&xV$Ht~vS%w5EA^_T zrL_gM5_+TAM;%s*GF6*}8I+8WdovXt3;=qqQkYZRAgZbxdC z$!_81`alm%Dw|&u;%5OdA^m6FK*1?*E0|S#cFHtQnsoAfEXjh{;BgE#S&uhuDD`c{!0OyW8{vwGRaz7WblPN7`t0DVvCtlOn1 zP_zd`CU*p_Igr4vj}Z}^I-k$04OOujwKjcyhe^kq31r^#`U{9{DL4UCIt!$o%(6Wt zLbC09R2T5w1#2p=F(q={nRH8w9yhFKo^;sx=%>y3X1 zFg7tNCo?cEF)=bTG~VItCoC>8HQXjJFD57@C?_Q_FfTDMGvDCh;^HGJ95Tyj`?07d z6X>{oJA?#g9Jr#JTvoWnp0@EhSY|s#o2H2-mND;&pa2XacMuO6K@KC0-USfBQ3=1l ztSzDQ9Jce5Ob1y?&1-hr2w~q6z-uHX%dj0*ZDRQ~L1ZCY#xjm1=13dw0Q-6PI z;5NkVQ-1?1&0qyQN_~{)7$LeU43ySrf@`6JE4~VYZI<-~688C8o9HPQS5K7F>)BS$ zZqAynF9RhG9saFq00bt>OV5Vn+XKn4E&!CJU}BVSH3s&rXG2e&obM^dN?+Bi8Hm;^ z*c4*Yl&$f)fMIPsBFi%a!nHT7?c*RNJkF#w&Be^|{GlPM*)3$#Ap3AS*>LkwtD7GwSzi0ETHzh#Z1Z8O3&)Y)@HFi1X z73j7NmLPihloRBexvKEH2ml-+i=Yt)8IIU&B?7>)haYP?IltsHUZ0lXLcia^(&2`Q zRXy}9t}-!F57hU8F+4&wuN_w13lS#C)b~i|$8maSZm)Si|C74;&lM1dr_>cut*>*# z7AvKLs3PhL030?8rLkPLokV&XrPc;$NjWA@@=rqYLVROjURF~}?tLPJX+Hm05N+)_ zR!3XK3R}|3kv9w^8ViXXP^*}OtPcU{*!7n7qFCFJfci0Q9M*ML=DvQi$Nol=zVXHJ zvzt^$;!KAfEEY?+Ar&)7$slBMEFhK0iz2O*A#7>U-%_De;t&~b31xw;!9t)KSOq*L zeLySLBp?a<4vvQ>nX+mpbzYXEvC3ZtudN$z>~=&GAxN|V02CU_VLL5uOc63^tpSk; z_E4Jrgyua>hBR^A6LM@JB8t1}C#~)3^0PHCWzVI*f!_5JEIP}$5$Qhy1ob^Cu{_&h zo6;kGs+YB6eHZ%nVwNr1Cd|~`)Q4-p;lItUS<*KEBsO^n__Cd0^Ajg#GtKEh+tZyb}~rEzC7}A7k=2*oEl_|-dEAN{nkex z{8D5Z%YE~}*M3hkW8YBa5Bhc7^qk?L9iUs_{r~_>9aK0h2ciyXQZwOL>)Ohh7Np5w zU)yg#X4#P}(f1v~@=J7t4oRw#sNJ!)+N66oIyVh;FkfQd{rVq3a=#)n?cu9-q=l6D zJu1*>Pc~+D&{8H_Oa^G$ce$1y@+=6((wX%(s)LOvlc5Oh#kPHx$c<0Y`vKI541824 zI-`d+5mWj-`7|>aT8k+01+rK1H7&=ha=8de#9xX8>zah|2-F=37X1mNoml$`*ve&h zO=G|A724Cm;<71;ug)MSX1awlc6|L*C+q9*pM3%Th1~RwNS>nK-b!U2qWz`XPi_ngJAcZWA+&0%aWQ*2w-N{Nvon~nURH- z_5<%d8WH!(ayl0n7>7EnbXuHM4bPzJ1;+(h&Muvoccl05YqAx#!WZ|utaOG0&>})D z{Xy{#PHA*;(|KW_l(r8RbWfU-BwV{OFyi?d){9{U)do@6EgA5q{A8D-F}`{mRu6Vtt%W&GQgxu*E;I(vr)%$gLO(NMLQv8^de3_ z`_ut-E^qL-!AOhDp_?x9>xD?XV&h ztp$}U=5uXbQ!U_xhAkRT!d`6xO~a`4c25iB!Xp(l&PggwE}xnV;-lSnmS*0Rv{3nm zCv{e){2JB^+cgiBO{k%__f4Bdh2o?Dv<+X+jTrY}S*dSCM8fC!ZL2ba`~FaaLD&Y^GcTpCgXLh_Y%sex_<77hbzkade#xrJrU8E|7-Il_?gR`vi+~5l zEXEAfinWHEIAY+6e=PGxOXTwAC)3}==^5jDK0)Zky^LijXZG2HGHHbV@Kga3#@ytb zU|KD#WI3e=C`AUB!FkF~HPH8C1@^ZQ`|qN$~d zNX%uMrAEIx2+DKIlfRd(|KEK}sZVR)B+M8)_E-2f%1}nLs?oiPIrkpu zRlT!!pm-@{DhrLG)*8hJ+w9?p{MTZ8N!uwFe7e5!y#0Ca1KK8UGZ=B-2&75@2gNdy zbj}+A9#V`?joE-wp8jq~i;R~ej7cLzy#-&k!40BlYv+Q#S|m9Ce% zZ;eXI<<_>eWy-@rZRltndhFPh#k(=??b2BrT(DS8FEEqIMN6T z80*CMLfk8v_gAumG5d#k18)68r~o7)cV}D5KtbzU!{A{f?J~QGsnCw<`1RDEYA|tt z_JSa$kB|slJ`0sy3U;e8{Nq~!>CEkp3`vKHOjooi*iIhMXLu)aAODk2UYj-S{KB<1 zi3|W#P79=QFNnBAu}9f=DCecAM^AGWv-{76v@kSMKlE)c(}av}7lg%~*GRs;U4K3d zK6fR%U8qcod6z&rE8Ep;JWbf5B4kyXWxsu?aNjErOZ6e_3h~K)dcZo)_6-a=cPP67 zlZ-QOZ4Zxhe*J)9wduL{3&fbFrcUEB5 z`5yngHL70@c7$)`nzA*kO1cv3|86kIh(kI+N`{->LY_#i^h$51x0VjUI|pgbGF(K% zS%U~&xJ^|kI>ay?Hx!tqOh^iWvGm38OxH%c%RL*+QI4IZ0y;W!ish|7KZUkRkAFaz zJZC8px*x*mIt=hid@2=zyr5d31S|?xo#aLCLeWlX@Y^VPStESIZ+BBwYl~H~78IcH z8(wzYl&oZ-(*p(gj`hgv04qREdyO(gCybUpVB;enZI535XDapf#r&t=*}kL>_Y+Za zaah(k?4oZMhiz^v!ctxUh5_T!ez$r zg%4BfFD1H5>62kPaG5wFrTalj+i`=E6#@GZwcSD-ws$=%$7#4geRfpBSvA+a<~Z~7 zqo8Dwkg5ddaV-8YL@;*iZoYNg^dZP3CJ^CH`ul)AsU4|ioK#yJospv;9I(@7fysL- zIiT&Z!9Mk;eOIb06yMf52z0>AMwOO)$}G!}w7-^;MORQQr}zM%r9lzpv;@59>n* zP-|HTin`qo%+;H4l*tWHJ<8tQ?R-*>^SzPFn+-JnRgAd+nykG{JB zcDCHakg{kmK&bd0oBQWH&6&5VkrbetRNHDzMs1n;@0Xu(o|t8(4?Z3*bNEK`QsVbW zo0>eG=v2?{*9j^W-WyfxixHrficS6Jg{@za-2ng`yq8tWch3Vs){;KXJ=CY0KiKE z000000Q^)J77G9X0GdJ(v_B{&Dkm>8GTkRAC?+v7FD54@CpR_ZCnz;AGcYkSGc_?a zGBDoQ;oc`HCn+&AGBhbLGBPtWFfuPPFDNlE;WR$WD`H%X0wnOh0^yQJ8oVl6I=jSd zOx}g?{dGeNA(04;j+Pxe0sI-SV*9~$Q5iIALqSJShD@8RZ+KHhV8*Vzh2kbS=!N6Gjw#C1D0P^2U9f|yL`@h zSf`w5`JdOk;Z3@m`=u&9$?2do;6MP9mE4p;0C`O;*2vE3e|2}Cm-7&@%|Q)V0j3oz zB$#C-r0;U(;P6t@U3uC~IeC%Me5LNJ_6JXE)2N(?sY3ji>!8_0PFv0e^5T#>!=s0$ zGfkrrt!x2og{s=URS@r%0J0nK>R_l;+fT$X`Ai=t5zS)G?FNgt9`1 z?n)P+$HJtzs_dyY^;+GFa|3nc9qc*F35FrLo*&~cpOt_+ zwx9|bgG(-W=eCB*h~CtBSGBrbi-vrzFAtl!ssT28ldo9SC_ zG_E(YyCCmotxMPyTo+bfj(_w;`W?m#5DyFV4XpO9n60FAJ)ob% z-_IK@4W}Le4#jCEHtZd*4IWf^7{PCPA$X0KhyNuPpJ;jEug>Vk6*pY^yPKqQfPDlB z3?|E~AOHfS<`9v*yls6~+t`0rNbbfVZvmc~s!lkmyM!_=F%1+Z%X7~LshZ4a&4fWP zJUxHdw#4}JX*KjdPeN7_)+#Pp9&yZq5?wPYS*5Mm)Z12xpGt+hw zrq22$vhAR%8efvfpZvC0+%*?-oEH8|9Q%Y-6H>O^G@)aqcB7N@;h!+^_eg#?l~zVG z1fbUon#g%M(IN_3kIi}cZDgAlj^*1|dcaR^{+WJgI%V98qcmMSf>WD|U;!m*+`c_8 zr$CwpYhW(^hTgJt*3DhNU_*N&nz=EjBgr1rWsCm1+vWc&pY8Z*q-?Al8Lx@FC42u(+4q& za1+b~=E|U~i=^QNY*Z?s_#O$5RekRJ$D$ZI_{S{{KJ^3|LSI{tl0`v_kS002E4#puK!X5g!1uPy5DON{8Ks|oT1Pz5N?iNhMlpHXV88v^r5lgX- z>46@lojcM=`jz7msAR-Ok}d=RG$MTz7-(1+UXh?99eewal9LV{pHIa$9GpRW2m9dI zpG{brO;x74*Y+JEV^MHjR5FV&sG1sx{l0>7Y`ilWhk3)Mzdb_9(JocS*@fR$ik9g` z_A2$$`fg9|d##R6X9(SNhsYq57>Ad9y=t##_CDm3OEuXFX)*kdKg72BfSgK0m{0=smt%dVy|d70yEYrm#`H6LJ~*sVBenfSGT$~PMM zj^{RKE=JC9X-e#4;ILf9UAsu!a+M^kk<6$4D$Aa?Y(Osez7CrACcRj_z7`xD+}j(hCbqR<9gYdP<5YY)GuEcP=&k#NkRBbQXu%gssMc6>Z5_Gd z8&u5smJ*4P&Q}-v09jsLf%7U~$?CM{&alfDDWmKcpOCi1Go7h{;T*9I-}@466Dq*E zX&&|y1AaxH0CsT>D~*A)0{(W~#4Mr{69B$raiNrc59nISVI8##vC)Ks5AUBIFIgsM zx9_Ege?NY`_=e41{%kD97*!~_UuMH!#M_n6cDCr&8g@cN&@!FgJJ;d18xweE;j$qJ zPp+Sx$&_X0ngC@{Tl*FaT~sixf)xU*c5dEb(`-9vhDyFFy;d{JcR0uOlcVx!60ri^ z`_v^R5x6aaL7Gcxdx>0B4h(d~Ul>)$LLJLt=`={vZXA{EC&T=VLbn;O{Cc;n_(Yo7 zYuQEm9w`o?go0Kl^q}%1r4;B<&09dP1)i4N)SP5d6Hp=fA3Sy4BTY~m(55ww%8#0K zns5O57)3Xn7rc$G-a6IBvp3_WcrBfk1OqbN^g0-x+~O5*4yn*fu_2mR?gxrC9ig46 zd>2TT>uOYcOS16)z?>HphDVi{POC{lF}1CcEI;Nhz?%OWD>7NR4GP+3I+v(#V)z3= zJ456l4BmkZLK^LG=s15GkI6fU}SrULoxmVgc7Zo&rkq@u`wOQuU{zLnU$ zt(WI`6cWobI}}zSUYa#ha<8S$8rh(ku0>YN{t2vDZfXpfrPNvQrmO-SB8#CNhCgKq zK(6!|7|90??;D}V*brh(SaCd!RX8?3eyc*^))CMrY1B(bu4!r0G+I({6=) z-!{ruo3q9P>QF`aGObkKo6|u*t*s&+_GA&( zZFbZpcY)w!)XiyiaqR;@Sq?92hD=d3&zHTCzKnN!csvM--nW+*?Tn-wre~_1iCwuH zr~}LyU!!bI&9M^PK13K5|Nr>;d?5(8m4S_X|CU&yoy%+y=CeexR9Y5PKK;fnsoZ7^ z)%Y%ebk-WgA(r;ZQ+9#vJ(^C@!yM|nZpxso!Ss}{XXWmqtYiRGF8#*Pidjq;#B>vY zO053}+amoar?c+VHtMXC?~ucVh$f51v+27#Ez+t8OMyGf3>-eoC@s0GfCNTGJL@wbmiqijFENrIZSofaNE{qEi5rAzvdCB&AZag@7*}phDR2 z)!Y>|M>y~4K~Susx&`L$syldOqOwD`^AVl!tLutcu?VyocasEZXB8)Sy@CpcUA^|e zRf(H6+NzrnBWQ}9J@^{>K-&?q`=3KYbO@-?Cqj5*0305Rxor^4pyyA0Yov4ja9d3q zr<5KCQ-@_Pw;u>@FZvTYvDwXL;T4r8!Ys200L&e)F`kT&Jh3^lZUD@(bj995D$V)3 z$3ycp(u{9IeKv(@8$sXc{C`W&$7wt7nn4HrElXig7NCG_Ed^wV*NnN@81ppcZ0s=% z9#Aev{qtgWM!)|@#V?K8-?vM1Y5@FU%OjqsjDbO4KJmf^?dR;WGv+-6A6J_XuBf#a z+LdZM;Ahu8j3se#z`^NSGLPN_Oil}wh7cn>B7G%E=in4W`}E#^&t6YHO}Q-;hqyGY z{C@i9R4$i~eR;=~f0qCxD$9Tk=Wz_^n=u^0?Bl(>iJSh=^P82fSbRQwXTTjYFO^bg zh?pDPEz4vs3S?o*qT3(k*i8R4NoqRx9zWw8Wk76J(}k-7(gKnq zP-`cZ&UZ3^&((Kr9ZzRxQvd*fivj=u0002|R2LQu0001II)l_N+ubK7CNVMJF*q|f zGcPge6s{EWGHw^LgrF9J2hS;~hKYQAiG62XK ze9&~ie3v&8otU?fVFmvTymKRj(t*a*oqN6;PCZ^;=T1zgJkY~gdqrKw<^!0!9vQwX z&Hi~bzkux{p99Xk-uAT;!xuy6Gv({izpgA1!L$eC{i>U5XMoRN)bVWjl15$k;JSyr ztF;t;o=C_bGLH!CYhbEOO>gK1I7nJ!eYzP@d(akg&B&=@kG>qeTc*-8JpgvL+_+(o zKe2@&WTa4g6Qw*8C`=bwf_-^o>hmH*W z@^>BBb;k?cfTpCyL`=5JPj3Qcutp=h zs*fJd9u_)(6q@_Ht{oQR=Ev^d`IWZ|j-M}8<}nwwRiM^eQz{_H0V>2u7xl>I{R?>! zVw;9O|3U#YHcPk>LsA0*T+Ho@fs{<6W$`IR?7M(P!2V}1X_X9Tzmiqn5gRNfcLaNo zt!&oz9bCe4;I%w5v?%yU@O16e(XL>Uzmq*}fD2qL{3Ty?0QW9I*xnByNCJBxbZHHu zT!Ut&Z{OHTA4Ebi-z{UGNHDZLUt>LCeWS{4y1ZDR42KWRn#3TZFHt(}M{vx!y?fVU zt<~EJO=`}_|Gq!ZkQxB&P0O&Y7;_j|rEh4G&Ido)7`Z89wNRm=Bit1H6e1e)g7=z+ zPuEwTyAI*2o3BPR@^#$gVUQzg;Q{bJGRGOEVTeEiG5`~)X*MZ@5?T`;^0n>lNnZGV zpns1V8rEmcT-|KwoyTn3Y_V$_rRuXiwxG!>*}46aa!kJ0)IkEo&Y@f@m@^L+@u#a+ z>H^6^Nci9H{!}5&(&H09?>oBj^Wc!npq-ipiLBH``gT2G8>T|1p&zZ+ zX(&*!D(}|4=FWO@ZR^A>vZxEogT~B6Ut6i;LAP@?$7sSue{V3#aLVlIvAEIn@EYEq9Q>XvL67*XUbNu6Q6BugSc1cvTKw zceJ!Q^3J^Hh}lRxzOUW#COXrM#Q#(Q9TMAp05EaCg5cP3_cB=U4(l$T%x)E%#~K90d&w~yP3rlFK&93HZ$&XoU77)?Tm;gHBO-$B=jwPLcl&JvxCwb(y^ZhAI`4N+w$32 zKha{*_RM$lwmfGWZd?#*v<8F+j`M^lyk)OVK@?-k%+XslTv86XXIq9TsVklOC(V5G z=~X)u{eEEw6^UYXKLX~JRr z_`Wk2uzmCUxv4RFtN6hABpM)HzUWO_^!7}xzE&O7CwyK~GRI6ULQIWZUEfWf_sgOp zQ`aO?+?L_ei5(ZGEj~)?Ktvo5Rd~Egy{4gTWvk7NgrM94tv|>myrL=d1&-)W;p7t1 z6Ce4X>e^K+P%aS(vTIQO1VW(jJPrB$hR4DrwaHe-YnDa@PVEg7oPNg~YSAEJJ+yda zn@}v&=a>14GfOUV7vZe{b7qRE9EpU>+4Qz#8htS!G0bz$L_z^RB6l4zume7Z+@t}@ z!55GjbNU{HevM2J6BwrzE-flaSW^JwI`99M`}cv!tUtIue|%uCNuCg`hx16COV7`q zRM4!`$SNwSSV)RQ3uY3I)PYg5z6O^pUq-F!rYVV;7%#a!4C2+*ks%&_s%b1;CC>)n zWr>L}|kc|8L`w(XiVhezC zesEdnwopX8OK%nZ4F0v;)C~lWox6`2yt)fx{2zFA-HAn-fHYjas-SGvA*O&;_1N;` z)}(OVh%7n3GX_V?Y2$l!Hr?GE%>m*{Nr^g72l4TCGljmVgUw3J_x)KdC^u8Y;C7vy zlOZHnQW6r?cw%ng23*b@P=Mu|y^eH0?o67t1t4YWqGohpN+-z!nyi>O6B=sr1=i>L zD$_s$`1>LAt!lZK;3t;eNf`hTsHN#@ImNAAgVv3H`d4`u96cRW*S_^_Ou(aK6_bfK zEb{%KAQtLNlP1=ECqW~cSTA>bI#VfL79A)=GcO0W<=l)R!_B-su&R*YACA}4T>lX@ zi=ncCaD~T_{SXVKsV$zKT^*ToYevnV_dPcKH0MtC9lNP!cH4M#ndruEDs;@f0%u-F zEwRN!rl%<-TGch@=Wb~2(0|47cLE9oQByphN>w(Om)xBHWgO7FnBc9c+Sqizey9^$ zSfwaX=s16Hr%p!y$v`7@3%JI4g>+t``FXOoXcLugTCb#L!KJlfXc*sNBo{8>7nk|$ zT(+V(x2hA++rGpSp)EZv}^t`}h8SiyM8Uk4OI z%a{?B_lXl*vjbl8!|=%Ts)GJ3$Is%Tul3zq+aZA|4^s+@5i}CZD`29>C^{+YJOGIc zF21fvGZ-@Fwn5&wA(GZ2`}OQv^Eg0fp;eRyEGl*nlf1=CK*uclvziPmx~zyL>>z{TZB-E z+H3(B$+f|(rjF1`9Ne`s*U3iar_(OzAw7&%g$G0qOA&x+rrbeDGgv1g_~e1Fma;UD z1Oncib}U}$gEH)D2Rpa09-mf0Hk`+&Gp|WAe{$~yVl28X74>Nq0sYkqxhe-LtebF zN-G(4h+WA!t(A2E92$Lytqp3=LlToi+xM`}=U*PW*=Orxp7V$mmwH$~=d?ek5d3sW zD^j&<4z8?R-9Z{07X843!6HEGTabz6JrvU9CYhT~=xwCbr)>}a9NBYA={$EDhvF$v z-3PI&JqgzU>?up3=OiwT3zWxy0O?p>x?SdutMaB(w)0uMY*W%H*j8$pR4x99HO=UI zSJWCd0Hh(Wm4VR^Dna-oK^m?WO`0oBoICBk)T9Uz@p`~1EZ$bJ3I=xaPL78SDFFl) z%PafAas@%j=_90LX~TW%Dl=(B0&j~_sUIV7as8`_8EQX+eWN9IvsJk(iF#xK1Qv@C zsf_v-6YRGD%3@dbo>2tRp+~hC?!k7ticW9mmK|Ctb&bxU#O_5R#^ z1}nnZw6;TsHSo&K0qgwqd9S&Z&61gV_oL3tLgzAUmkf9MRZVTmad5D`db$fvnyDw`L(|3;c^4MQ{L!V&AR0&j#Qm_X?n9yth zM`?e$7IJ1QhG(YVaE`#k}%X%6kV@8v+ba{~k#ixJzFsEasI^7x?wC}$q89T};FRmLxDg70tGl+VwD zbYN*TuI#^D87rwQx@-*85lflpG-?n4N}uRZym+%QXk{D2IIdQC#kSRqf@jpLE?Qbz zesd||Xf|a;l>mG++J)Sd5YjevfC&DFeSMug%Ha>XX*krR_4_<6l+%K6JN0vawzx_n zS3R#&jg-B0o|Sr9*3=&tr}B>)o=Ym(S?>Y=a`bHsdsa71E$$A6BzhXCjwe;zHX22#JDSYprGqDrh{#fd?%QUawKEZMT4Qt z-Fh^fMA)mHZY2$pq&70ZS$grQsZ6`#2r(|4y|6M3{v5dIvlT?nT*@{GO=QM-ZFT%w zCYAcOb|qK|M^UvQM%lk+_N^TCbyn~oa^yXKnO=6>eF6d`zI|Z#ku=$p3Xh}m zv?H~UKESTb4UqNNsNi4NFZfgSSUL0WoB!skN|oS-^JZFaV%n$H_yBHB)vhk+--Ukq z!6QKNv1Kim6l^|+yxW?#G$>``b{$vAw6UGe6&K5X5HsrgY ze6`MrlD{08f{mnS`SGGdI#E+bvJwAD01qb&CS?OHTAQT6YW)}DL7fgUaP2PshTJ4V zu-mzNSOLBd&Syv3Mk@h;aUze2)`GPsD1hs9epQ>7m#kPhf5?cR8|;X@8@j}SalX_7 zh9)CG5!IaG%z?_gt}Hr9d>2>p(Wb_EWKz#`7Ad%_6|M9&k$|?X)$M4fTfluMzV1;z zB>(G&P%spPi;mmM|++&!(PsLE-PPP0D4W!X9S)upG_)9_CGV>4jC$D`0xW8gXA4 zu*?ns_I2D$p=W0uP(>5(!N2<_{%K|19cdN7I93Lrk9{GW64C*G`eZKeZFEpdx*ADq$cegcALr@;ZSy5pyt zOWYULRV(a}xMdjawpG!Tn8f1sLgg&KLgKeU3zjc*bNnWdGy5`yhNKI2zHZvQQ=KJw zcfHFO&M3z1%Ue;}6v@f{rG3+cSgG&M0PC@Ls1FETPRFEchNC^R%OGcPhS+}YvdC?+T>Dkvy4F)|}CGc+hM zGB`0ZCMPK|+)ZEWG=v;bsDXP0kj_zSOPpM4unZr^iKQ~+TGzZ{!|{98_);sQHF9$O zf{zmPO|Q##a#0TvnYR`e5D%PRO(%0aw9a|vwfX29OUjyXXl^j>@cjY$NiY6X=e|zm ziJToAHp>HM=R`~}x{Fk%A)MoXdXxsnk= zbyPoOaZ)0|YWlfo*f9I<%no z)d^MD{u6tP{VcWb%|Yaz6Sx%z)Sb9&e4=U=9S_U+J&==5of|k;- z_%g`<>Fz!i!!e@;Kn7q;d$LQS=R!=l{5&^aQ_D+D?v;MQ`Ja9IIc9z9?Mx; zCg_dC?%my-eQANuFCDa|qp{Wi3RUQF=~6N##^kFeAWCmO1uMtfKC!l{Yyg|d=ry;l zj{O(Tjrn(G&-@C%E~*ardch6N%KheM9q}so!6cgQ6m%E3liVAmqsBmMGR~A zHGH#sBq{l1d&qre-lau~|BT4_pF+@1iq0ooFUNAD$~U8maUkT{(UoHj)dB|~j*=Oh z9z9vvt%{1^8f=sY`_|}*fnV4v?SydA&b1W0$}>=WD!xPYwJX-M9C&9+hNQW^%!~u) z)%UsJOM9&%9n@EklZ0;npbC*Hinj0#7q0Hn;RqCflB8)BN(e8$@vfh3Sho~s`$Go> z*W4^FF1~(N5JyUyMtM&24}#UbSx|*u0w8w^>9-&4JH#-{=`akfFGSo3o$PH?(&;%| z<;XlFkRJ`@snW7?qzCqD+=3}aGaOHwgOOm;c{bM!V)}pfs0nrT9=XR_XLp$XBHPUMY zaSqpbpyatzq`IE;JCNtM?xQlP#9qhqX_tO}2!FwNHp8J;49Df`ovXFzS$n7(46`>W z7NJ8k44Vc*V5yx(5Jr2ieFbL*IC03v+f{AoK+#IFZBlJkvrX8ehTrBlhFtdiHEAUN zK^mt{Q~;RQN)+8LL|+*2jr;S~~&6#vnvT6Icd67Xc3 zULpV;50JY(4R4JE(vOH;gv;Z4@UuEKqyzpaQ{+X`lzv=q70#9OOH3UaH2+n3ERMV^ zv^hM1LhHr%YjY)QXt#IeD{X2GJI%N>>d^>Y%i;JBW(JWLHLW_VsB2eWT)^#<>h54X zQW#n;e07xjxsPU2{!YNdzn>5XcK@RW{SD2AaimGRMS>&*rn@_bPJgOYE;4GbEqR^T z^VRk1LCs4Rq|J#&ZLfmOo`ZVQ1XwZi{+)u9_-);Lv&{JN+{0pvNqgVE-(R_6;{Luw zg@Q{bLO~}G&E`!vBLLB)Sak5vF6f%!wP{Fpmto3g+VQ=LAe`*JqCxkqU~a!v4V8)k zj80vS`M%w9w=5g8ssa3&;oyK|mtQJ!fyCOYWRQ z@^>8-mIm;*Z#|(XTGO@ptj_rLS0{V(0GwH^L#|{fV(Q6|!~}JX(h~{D{cI!}Y@8TG zcJPKI23aw20}GAPNLfaOr46)%%|1~-T9g~JOP8P^pcwnLL3JPrHAe?#FgRtU;>BRC zzOVIu^SLEng*T%+vbT&G-(-X;#)D8WxO`ik zd7;0gV^iv4V>}E$?44W{kYfrWBO*lVpC&a&6r7pxQwx`(pH)ZWsENDwYjIc>XrygE znkBo}V^C#i#!3OCux?VDS2Ho$7!Xp-D+-}&=~aDc0ZS%hP77ug6k}f~thkFynf#Zd z-oGHzcL{h+s4B{?B&0R903Ap*J9#+5?84hm%%ckypD#K3RT$atscVU%kGz7ZPCXLN zp=(*o+NmXpMc*%mhe5gFJ(TP({zz1SktVp+e3W3tt5sRX!H2Ol!se9f;+t$7Zy|{u zeI#Ywo!%v#?RnE^} z1_m9np==F8n-cuKQvP!6o{tm>p!Mq(rpx_bu7dDWD zWG9^3{TIw@BWU8CWVRN(2|?Zk)697Uydyap0dZt9G}J~dv{_S6`o~5)eku?W&Ib1G zRL}?KVd^prm?!^X=)JGa&vh8Im$u@gt&izLm$i_hxg*!a`cXZ4Y!J|U@4&dX-y_m2 zDSvr^;6ujZix9uO5}G7EbkQ2N8GX{mhDoXO5?1~~i^3UPsOV3?X6J|6|J4_#*+zNz zL}SiK@toihneB{mSKGD@F4%TJ=ad2_tMsbNOJheq3v=~Psy`$sGjUFjZbl&{ALH#& zy!!c+?hh(I4ed$OsDi`rt2_9As9#}Hz=WrFFT}g7M)HB~#8{q2(+_p(9ZaaxGn}m* z)!mg+P4>HoW1{vUH(xnrU4jdB@B2*=(pU~#{I~hGl_#<#p8>KUVVprRiey(6TE=4C zNji>ijc|MQW~xtB#6xT3BXKp%34HOl2EBSaB7mW+^!c zWMxj590Pvs*3{1rvbcvOQ{hXvJ1tv{6efsW6dMBsp9by?Sq54zL>>2K=1U?__cVHS zb6BZneP9WnPtPO{*X6n#{BXD9z5m{qW@Do%Y-9r#rWS#U6hjXrHDs#xhk0~HpG-@F zIuCm63@a>6E-p@FVf_7ji$h-{-YI_q-z4wEA$`pumG#JK&iWG<{(Po#NyJh`3H_?P zWYp38(#=)MDS-9G@jgQyUQj! zZ~4u!E926}FGM7Dug-Y6YhcFRjH4k3W-{8F51SW1_?ej+9$!eN^}{B9Er%-vDIUwm zNW^w2SfB07G7QS-fnA&L#wb{%@;pJ#T?K4$QQo@6?FT+U$m!qlaRX1P6y2SO%(Ta@ z9hW-@dyf4cJC-~A?B>@3DI!Y57~p@f%rT!YT9tJ=$hpI>z{C6=kjAf@*;Myp{5pBA zryGK8=zuHoPv(anpszVa2dp4aYi1=u4vBVp*cp~Ov|yB8*8yJsUD3n=-)zH7Qmp~w zNQOV)!2tIYfxSjaiS7hRs6|eRFKfva8;gImqz(6KiY2GM-(2z*T>8A+d z5Z;SOb=Dct6#hu4=`%Vvsh6UMJ_ew?u@9kt3~m-Pu&r3`H32DjPy1c8ua3=KnujsF zGi^7fdyxREazuUa#cl9^v}sc$*{7YkPj_~ zb~zyjaL#T>bgshw5AD{yTK^|m!-;x)BNiUU;8=0(dWn8QZ43o>emZ+07~*%sL^gVn z+|v7n4#?leYbEgvwd}OOd&eT<)Kbn^D~p0C#jS{GkZlhL?XG&ZqL8$BxC$Q7ux>@b znCZdP*}bfuR95yg&&J8>g80mo%b|OPmb^uWSB--P?4BA3wnhwzZa<@mZ`Nuh;G|2( zJ?4_7n;kZq%!A%OE;R*+9{)roufyc4f&6334*^L5q!q1yP3Scc2cQ6AaP%{<`;jqQ znf^^Xc5f(p637hZr{X)+LqunzTU0dvD7`QtAgPfm0^m)@Km`8`6Gne>wK~(p_*&Io zKhTDkjQXM%2iT_I8N%=psndhG8mNkMdtRTeX04+fXu=GCEh)%fu1o@DP0wj7z9{%1 zjsJdeO~B7%A@~H^QO=_FG1mYpE7)Nf2*%h-EQ*UBZ{K^4wkqQWkhetKY$bQOp0YyO zB@)Yx|0BIB4WXgI)J)?zv!M=Zbl-m6&dHm;$c-y3j;i9gOL{yaC1b;aC7ngTQ0_$h zULPKY2BDLB-QiLLD%tRNXg)jV^DR!2bXw-o)}RjEH0>7>UuXq?_q?itHn+xD2irOj zY`Pmi0$lxMNL3>ROy;)^-?A6B@;6Q_!_BrWA!5~Bg0}Iw@;^?pq4hZ2dRo#gY0C>9 zmwqLtxd0>lC}lsNy(PX+>usfz;uss!YYBKhTedbSQO94TYT&|P3dq)O%#qMC_pSOi zL-4U;yn+A3iaD`gEmrl@)h$*wiEdWvn6wnYbu)wItyawT;1gqc4&ngFF?0s8@MJzs zleY_qoMw2CPk1V_8fp^idhFK{@bGm?`U=&Y!)X%SifGQ*DqvSZs4=jQasaGhKbsS# z3%K|sUDWigrrN~o2n;t~ryg$B^PMQdKFY$5Okmt4QdT29Pr&59MRPOti9}Ivp#|XB za!Nc7FssZZ6BJh&xUt5X1yw_b}S z^wPX3e=Gh*lNk{Z(9|#$Z^isEVd}06Bz3-hzs#BN=um0?&Au9Wmgl}Fwh!SNceAkx zjmTjL7lWCG`OZ@ok4C+@YIgko62@IN;=+ixG(!ZG1mbl!b~hF*tfFVaxv@PE!2I8q z#oPa<49K9Ap`^?jlqj&!Ff+4(7A)9Vx2PzYSXn8kK=w_R^}Q1i)q#qIiH!;LfQ@}| zZl4YmJb)k$%$u9XYC1r!?N^Ed0|s(HCf~=6a?FPD;#IiuVVDi?#sRStUu`+Lp76}< zync4G08iT+JR}FurA%rJUS#^SJy6cpdcTqME>P{0`*+ice`&)<*aL&E$?3+}dgOR7 z_gQ7C)CCM^Ed$_P6dA&1<84l?-r<>rb*n|b*3DJ5NJQm1w%G7%GiKL?8!?lO|w0OxKY{Jf0hX{sAQiBVjK0;T% zQb`L&rFqU6hxFi8bvfl9aix2(!!p(b#%hJaZUqT%)ON&2BBC1$Ra zpxHwinz=9z(>F^WSg`s*FVHHi z;fr%#b2ijWqn^k>l3!Azqoyvn_PIDiVaZP4amEWXNX-y01Vq0lyfl@cvRQfyar5bA z_NQ{k@IA9(N`MEKjA8;nev<483s|lzI!jg;K^rrfuKfJQGHRndYPra_2f6+fB7}^n zr87K$X+u_rD}j=<^c}nWOQ3u|3(d7xR}D>|$&aza7x?E*`+Kx`s2U57lyhXVfG!Zy zdAfz4)d)ANTf2F*=gr}%(x_>1H2P58q?2YIsb()s7#1Sf6RAg8pyPgGH3_{ls=A2Q zU)5Oqe$%{p^(t*y18n~XFzaVXT+m`V&TOsSCu{h`JlLQ5&`n?&-);c*;Fgz;pN4xuvLr|f` zmy9>?Q}FDZe(^Lh<#>YL|`uQglWSfxKvTza2#JpIjQ~}-Jwqt{TnTp6g01T2vD)Jixpv0 zCK^}rSp@J3vUh_0`=?8MQbQ1P)%z?N&*hv9(O{+HER|V=i4mvvb;Y2&tLh2<;CO#x zZ;<70U-iW9<1be+fvSg1i1Lz|Z_}4v)C{9x705;XZi22Ml^NWo$f)kD1`cs%KLFLFSVMjrwW7Gvqcp7mp#)=Xxl2FGoNRw;<@6KG&l+Pj_}U8D zYG@|EUh7Z8u#v5I90{sH2MSc)<9d-%82`dRd1bEA!Ie>Fiv?uUQlNcK7_DhT+z$$Z zfHXuuqDPd6`$mOG-#72aVU%U>LlTK$WAV$QmTls}#x@+83-VHbSqcMb+WlnbuNK4L z2?&QZiImKyOtj44rp36@+j{9eN^YbAm?(m#hf3DoKC8rwdUi-`%X1&Kx=Xl^6`_8Z z=n;=z0?C*KnB>SF_}iK~-Dk)#EK5P}Js}l+poCIejJd)Nn3HTgf;q@>?aX|>HlO=e zI*SlXLl*!Ri`8oHCh2HCmQm>AU>K_(xdiK?*J^{$tlMiN3vlP$z_o&e1V1OL6M8m_ ze1id8gQFA6m+q+4MLI`NBUT%%tN+B(pD!7opKQv2)gQ(%i##{WEt)G`qtqkquBg=c zJ)-=zFX%#Qq;$0FN8mbh6!w^eh3)loSD0hsLaSP#(O$|O;b<*FtjD%7@KNO)v5m6X z9{2-Vd5d!@7HpqibWYOBf|3mP)c6(ERqCA^O(x`>+Ic=V#FTHJQ~w6%=K>hZzt536 zGTNomR(>`2K!=xO87yoWbJAQEqa(c?qQ zx1(XZtB@Hf(R}=O;Tq_v!WLCB3FGC*L2(sl2T}TcY1$VU8mrAv(lSGDDK^JKW#QuU32gu&3A##vZ(;buw_wE6mOAj zZ6_8Z;0-c)1^YA1V&n94=M8wq^3mWv=rG@9GVlpO6@Uz|RB;I?-(L^vO!|G&_5T{9 zHZ(BY3)6pTq!K%)AgEsh(=@@wSRSV1auFg|+A*eKb6%EA6q-y)8(;m6&lS(S+>`I# zvUZ*(I)Io>>e|SuF*kFQ^X8{#Khf!CpC4R^S!l>QES1(W zxm%1%C7E_ZQMw;o87cwZsbz(U$u}ZO?}cpXgNyW-bLE#0>Ec0hu8~@j z8(U8=S^k+2TZT(yYpq}CI3vrb`6>u}Ak9EK#kzd7>#)`bm{9nxavYj@CQmMz9dq}> zxcOAfKhtU}xakicF>-AT$2A&s7+x>1Rp^a@oOe%2FH}Fkqlx23xk_fPXgWBP#=|IA zF9S;|&_A>k0V0r7&s~Q@ezJ?6y<2Z2Yh~@iU3Y_IXsfEM?JJJUrQTpXTOHa?7=9)u@y@mq}?o0&@1 z8%9iuf)B<{#Q@3nR@FJA(C>$-dO|LSI@(l3WWoNWd^UeLD@K z@TED%eSupiPw{>)ZwG@oPAqSVL(|{5x01G&>1CZ~crKzibm48vLuf^4jzcJq?ym$- z_`M(-ydUkmxf#VuYp28Undgl|8rwSdX16t14d8>Q9Z(-Jc?NHjIL)~+CyZQXSc?nm z>vTVW1y<-{bFbcM8L^vWKe%ulCJ&JmQcgujsK|5A)>ez!5+=$C>g@6j&#B}wd9%i4 zzzlzH4Ynhanqh7F2ZaRsx#QvUOdgfBHFNkUnIYbSgV;Ftl@N~*)i}DVHPvT40#!!O zvv(Z%P+qc5&RK$oH=Y>ikr`3brG1%xl>QQX;>R3$uSkd6p?H zxbWlMl&6-5Am3eZjv_WVY8_v?y~b)6l>SXjw?Rs;}^~e&=c{UhS>At z2-LCOLXNz>7)e9w_r@AFb>`fo;DVQ9z`YoF=OhqG^YNKm{D?~BJ+I;2vq<th>dvsd?I@}%D^~L zFjIT+AJ*8a5L*=Xc57Fq0sGXJnCXnM(Rn}MSh5WwkG5JTM?n%s* z#subP*TYX_*8lE2DIKOnI=`XDf)d^ZAI*4dSMI1s_e_WlP2>p*_w&<1>%x+`__hLT0JaxPQNNd?JvL9m(5>-rhf)c8^JUo zgqHlhWH~_vzuzas!qx)Wqk{=kHvr%uqWb_6H`vdpVfAAysVDS_e z4pcG>o8iZl#>jZ*Ex)J459O33M+Gr_3BLAzoCs!bvh2sqt|^yv;{yRUT%;j z=R-w6$Qm+(Y|jZY`;|?c-teENm|_dLSYIMUKObWm4}IMI0ck@ZqI-$Ma<7Qi<<*Mb z9-Ny*WE%=oT7E+wkx3!s&Rn}cO8!4@cXPi+dY@1FDMo@?z4exs=9wvs>J55ZIUdt; z1Xd~)N7KNEsY|{9p8S;A+wq1xEUx##O~p={;rTX~Sb|?(@9%rIk4hGYC{e>K_LC>U zy5EtZ+z>{a#eAt(>$ee0Mo{p3!cP|#rJ<|I6UTmR$mBG zquw)}cUyVk!2fTCA;bg$N-q8vLx}=D&^uOY zR(2LDYDy|fN)Q-=612Fnz|PJ}!OX-&Ndby7*jZVaS=d0IQ&Ta6un|nml$5OOt1Cx{ z6rd4}ZR0etr7xNUQ%KFmy-}Hv99{bf_L#DjmKsalH#3wKTzEE)v6Lg&mE45cO^kG( z;|s9g@x?{3IlfBpOFlpJcjVMd{&-RlDgh8FfKcsKnb7FW4|ee>pehuxjm+{7>tC`4 z*HJ4-uc|gT+js9QAr#kZ08E-1c6XkK5@L4I-tC?9)32&_w7!ky1tKO@^|J)fDUtoBA@4e~k8n2qty=Wno;-rsHchIJCe- zPs3`$1(7gE&eRi%7^6?Op7eK=|6>}h{3@OCBa`1lZGMJ{D4~-nR^DTTLk@(kLgzSY zlCThJESi#ni{HR0SrUIKk@q`JliojyK80~z44GYsjCdW?CHKSKbAX<}hYIP8NIc`L zGB_99Mk!V`BJSDoY5w7*#>spTPWxBHR$-0#UYjVq2i*>Ai@3qVr!#3o{?Ollb3YqZmEiRcWS8)A6vy@ zyC*x15U3GT!$n^fiL)K&(1VLSFrPaW>f>c@ka(P+Y4w8X(V^f92qE{6@!$v% zV#%Cr6tY$#x8a^dySa}(3pGxTvSX1Q__d(qn>*hJ1tP9^q6Prw&Ucd1Ve*#ctc?QQ zO749}^19Xvn8z4^+GV5vAVD|bNMATwdJ!M5aAl`C!6tX+qgmy=Uj<5mk(1Nt#GV_f zt?$^&0L<@WTByC54S(3ieiC|rdNIf^6NP1c*;#RALue9>AwB*zS<8EIADG^raNu2% zmy`u#qd}-;MtA{>FRlqno4m5R6A7wuU5u6&ahheTsgu51DoI5okoVt4p$O+11KFfl z_-8RBe5=<-p4dk{$0+8$<-uqlIJX%SwC4J%HU6eA-QWL}Uuk9KbliNn2wZ?*qj?x$ zg|-O@>yp&*YpFN0TZm~wHdGF2ofh4g`kqx>Zl>crZcqq1OC!-~X#aD&{iO#RiPW=n z#{_QX9_zDr!#rsoJTc_!<9ptUWwu;uP)HblYUm++|8)p=&kf`yje-#xiKi7FmOFn5 zrc~wFe+f)D>H|D^#I`DIVN!FHI##|gkVaQIlUiU}7^~kSjgihGyM+U!e|OQu^lVZp zjF~cPWw-Z~JnOJ^lNc^BvpYLwWh;7s0uE|Lt{6<{`ROYJ{34TK=ucobTPms9@=Wq% zih;E@8fK1S-ua%`HqQA0#VUsb8azlMW7N)U_B}F~;Ij+W)p5`tqK0hJ24i+>f^tWC zc?l)!F+$upYps}Tc+q*L>H+qD|=7YNRIj z!ZTX7qF!0~C*RBcUgNVr!vB_gY!uLx-}efP1Vl z2t|mtOT<^Dt?#o~&6fm|6zLE1a;z{$rRZBLMLe4O$7`K|EhNBQ==b_m>rLo+<{GfP z@xWXmg;zg_R4s<2uu=F%=NTInhchbqdF%zN_ja|xAzMXq!k?v_@vKEkn}B^h!~U2P z3NkS^i0vetBf;jTQ(0=5B$$J^j*#!4`0ITCP-PGb0Q=-)1-&a7yhu`+@cnPNctb5G z72g$FbD!nU_|05H;Khb$iON;;tZc+=&E%QigC{z3|S!zjIZJcDa**_b{$)iJ4(JHS!5r;tg?XPuZW!cn7nj8&=X2lUH zKHn$0y|F027MUuqq%sNYown>o*FgBRp14vIpa=~(m!~?e7KrPM!Sap3KYmNbTOh}N zW~>Q`Px_j_3gr}Zz=Vv)t7Onm`nd&cGEoTYqKtFb{K`{F2O?j769*XJJ^21um@k#c zJcnn!s(K&mSkWo{xV2zvInN4u`eP9zcMDPdSq++rbxvap`A9{)b>VR=JgFopKE3gD zP>3hoHI7yK8>3v;uO-g~blkhs$uqi*j%hOCfI$R1nch(SRx5*zp!~_EdYG3K$G|;bZ>rYRyeBdzMIZR|El~zn{HHyzu>bV@Z@=3MPNSsj(R_Cx z01ldsfI|RCel}^LqS5Wg;}sI9x)mT>VG>Q;64I)7ueNHbn6!%2g0GVs_9Ja>#M7Bg z%G6u$MmXL#$Fgg_k+MpXs17=IqySl_`OkLA(V-C0ff(N=Bf+PeVRB7x|0y|}YM#jC zx~y_G9mu&3!uBroJoYjUpd+G>iK3)n2gVl4umXf>zIVN}rV0!N78`xd#wJN7O6_tP zTC)5D(*_{Y0A=mc3#&wxvY7P-h1)+GO*{FcGLq||tnNb_W;#K;bSxt>Z4l=_YMh1& zDyoEKUSaK-&Ng&cSWTL>mo=q<4|~6(%MIK-+Ung?4Vb@^em%%>4BZ3v(PXXOCg3+n z$iH+&sbEK2y&tvk`}dWQOG}7fC^h(zNe>I~^SG>ioNkU6zRcK5RG~m^H|;6B98(iV z|1oGny6$R}R$Fl!di*2*#GmpO^BR*pt%&1Csng$v-cgq9Hh;{f2=8M7ne9-C`N*ufFoC#y4q=={{q z{9C6b0D9K2X^l%D0v9?T2-U@+DC$(O{b<)G_4#r;x7sHbJt=fGPrLLrR!74)C){ix zaV$4ZI2N79f0oy0(zS*orsJ3UWvgne%C>kX2(M#RjBQt@ddzmW4pI!h-454HJ3^0b z{`YT-6b?@EEMeWPu2K07HWshAHFcG^JnKB6ceclo7Q3jdxh%!usw5Jpgk3n3$GeiI z0m0L>ZW=nn*}*3S+a(Fq_S5E{qP>PI!swR3CMim#(5wDp$f}&gb^2|Azk=l};C8j? z=$JKEm$>jtmcuF7_@_v-y3LyF_^d!1{dr=2O!#}r{8M`rcuWoaji{O>fOF79?rl3l zkZ2*ia(>*u_P1-0vK?;BfYj9%`NEm`Mg%WMDPx-aoJx1h&uFGllO}sl4sIrTg>oCe zj-xd^Sq9ko`MS(9d*SfQ+cEZWI7hx$_R>J4V-m(;nbfOU7pKCtnWn!X6^v59YQ=*D zviqe<=vC_S-$S4gL2Ik?mFCI_fKQmIeA!yCCOE0#tPz7V?Dmy+wRvP8wG1FRON z4JeOf_>hvr8*#i*l8!~#PDZ=;ewo+?I;P+I9AoX7aL75pZQPz_8y*!#RPe%8i#>E$ z_W>S>mWsax93y6IjCp47gMtnOc{F+~1C5OF#ItUr3j)t6^|)ftz1%~$d61y>-^^KT zY-Py&3ogXPD>eh;a6;Wv-IAO-P~1b;8-meqSJCJ*AyDByK%wWKE5ti$(<0jd4g!1G zF$U`i*Vp&%zY~J~BV$>b2t3Wah8ff|hiZGZ=VP&59Hl|&3XLgIDCIw1acsh6wRYq$ zSp5EwLbvet6{nv?W9}3jk&ux^fveTkv~>;N3G3ZjoqTH}J6Klm%8DUfokd~NqImZ6*nTqHQM~_9fVg}G{5HvGXrlN=^+LU=HwBp%=7aDKY3i7S!qh|?LT4vmP}Bb|<$3?p zlw!0aB@m;%^^pX@3VzCNkgXg~5MGGL9$n<{61A*-dGWs=O@hB;0a>S{s`cY)xw4dd z$-i2!-{3YyRpMV+gAdX@2%=K_ZM4?zSUE(&A;D{;=v$X{HLRf#pr;U21-+V9lla4s z|49rN@m@zrq}-nGUrM1tkzoUIe?D(}Y?%KDP1wdMHN>H?$6q1VrE3&dNg)s< zC)mJ9jkxfN(DGcWO9n0YG<~Mkg6KcGcg?ctz(I?%yk_}h1qr*&H6qF4veggG=Z+r0 zX>8!j!Th;4hCw*$BMJ<^E^6>+9>-$P4s@!hu(dR;ggF=1}*&BwK#)azBi>N(ytX3>xF7YE8SdL{is> z7-?rg(=<=ju=@JMhm=!_3imm)*DA0qO+xshfw6$w=tc~Ig9ng7t+c@40eubn53^oU ztf8`k5VPNU6aQMpX3L35G$C$RlLajf<HK zPx79LPNAZsH5S|Ab`UtfO%pxA^_Qy6vrrrbHYW8^PHCIJAS*c&Z@1M-GF zP+c(k&@LiCnL@(3+tfJ?OL4A%2J$1nu}kb&<9>*}hNdYlTYG+igfjBoQ8x${ZLzNi z;XRdH8|I8`9(zAEoyg1FiDT^v_4Ii>98EKvp2EJyATfE^cK&ty_Xbz*d6`Vrt%Lrz ztd(*{<|W(b@0mI0HKo_g$&jIBcA5-nu|~8`6Ij@unQTRy)^P#ott9A%!}U>>j`|`i za?_4|lUyIHho|Xfx!tbMw28_vHIIUITQOPx@}-JD9TcJ-%}TM}Do1(hA)D2p{oL1! z2ukKC039$xs^i;W>YoiMe`WCHxd4ryW;{f`ZT}qh8x(E@Q?8yy3HZ>g;j-4b&*fH6 zu(n{ko6a6e!oIS}m2s|Ak+?%5}#d3fXzx@o9v)>k_pf3bh@YY~H06ziRN zqi0WC#D{9Y9on(hv@TpiJv@t#N*J>Q4(a4>C)dG`BvehiBqVv!(u}>c*<_tJ{F^*? zbKd56oJWpR<0_Y13yI$qYC{hpC)jI;*RO}yH@r|<`_6rhO3oQWv|E=4xhr7+5j*J% z@Jn4E$Cq(mg@iL{Kp{v?oX)NS?BRYlBafjWhlNRy%iLcdwWXxF<<#34HN3eTcEyDV zOCm7pmEW-8BR_P0K%rp?qR7A

    Xdq%U?I~`^q>@o>&8u(GVv<`RV5`n-?@Sg%MvG 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 KM-tG;?mGd)h?yV& literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/env_sounds/sounds/env_sounds_water.3.ogg b/data/games/garage/mods/env_sounds/sounds/env_sounds_water.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..431a6ed3f1cabf84c65cebb4cd04811bbe40a161 GIT binary patch literal 83915 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ۅ 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

    5tb5^`9tZNkERDXi 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

    +ZM| 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/farming/README.txt b/data/games/garage/mods/farming/README.txt new file mode 100644 index 0000000..69cfa75 --- /dev/null +++ b/data/games/garage/mods/farming/README.txt @@ -0,0 +1,43 @@ +Minetest Game mod: farming +========================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by PilzAdam (MIT) +webdesigner97 (MIT) +Various Minetest Game 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 + +Created by Extex101 (CC BY-SA 3.0): + farming_cotton_wild.png diff --git a/data/games/garage/mods/farming/api.lua b/data/games/garage/mods/farming/api.lua new file mode 100644 index 0000000..08ab0a0 --- /dev/null +++ b/data/games/garage/mods/farming/api.lua @@ -0,0 +1,406 @@ +-- farming/api.lua + +-- support for MT game translation. +local S = farming.get_translator + +-- 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 + + local player_name = user and user: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 + + -- 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.3, + }, true) + + if not minetest.is_creative_enabled(player_name) then + -- wear tool + local wdef = itemstack:get_definition() + itemstack:add_wear_by_uses(uses) + -- 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}, true) + 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 = S("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 + if placer then + default.log_player_action(placer, "places node", plantname, "at", pt.above) + end + minetest.add_node(pt.above, {name = plantname, param2 = 1}) + tick(pt.above) + if not minetest.is_creative_enabled(player_name) then + itemstack:take_item() + end + return itemstack +end + +-- check if on wet soil +farming.can_grow = function(pos) + local below = minetest.get_node(pos:offset(0, -1, 0)) + return minetest.get_item_group(below.name, "soil") >= 3 +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 + + if not (def.can_grow or farming.can_grow)(pos) 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 = S("Seed") + end + if not def.harvest_description then + def.harvest_description = pname:gsub("^%l", string.upper) + 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 = def.harvest_description, + 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/data/games/garage/mods/farming/hoes.lua b/data/games/garage/mods/farming/hoes.lua new file mode 100644 index 0000000..d005f6d --- /dev/null +++ b/data/games/garage/mods/farming/hoes.lua @@ -0,0 +1,54 @@ +-- farming/hoes.lua + +-- support for MT game translation. +local S = farming.get_translator + +farming.register_hoe(":farming:hoe_wood", { + description = S("Wooden Hoe"), + inventory_image = "farming_tool_woodhoe.png", + max_uses = 30, + material = "group:wood", + groups = {hoe = 1, flammable = 2}, +}) + +farming.register_hoe(":farming:hoe_stone", { + description = S("Stone Hoe"), + inventory_image = "farming_tool_stonehoe.png", + max_uses = 90, + material = "group:stone", + groups = {hoe = 1} +}) + +farming.register_hoe(":farming:hoe_steel", { + description = S("Steel Hoe"), + inventory_image = "farming_tool_steelhoe.png", + max_uses = 500, + material = "default:steel_ingot", + groups = {hoe = 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 = S("Bronze Hoe"), + inventory_image = "farming_tool_bronzehoe.png", + max_uses = 220, + groups = {hoe = 1, not_in_creative_inventory = 1}, +}) + +farming.register_hoe(":farming:hoe_mese", { + description = S("Mese Hoe"), + inventory_image = "farming_tool_mesehoe.png", + max_uses = 350, + groups = {hoe = 1, not_in_creative_inventory = 1}, +}) + +farming.register_hoe(":farming:hoe_diamond", { + description = S("Diamond Hoe"), + inventory_image = "farming_tool_diamondhoe.png", + max_uses = 500, + groups = {hoe = 1, not_in_creative_inventory = 1}, +}) diff --git a/data/games/garage/mods/farming/init.lua b/data/games/garage/mods/farming/init.lua new file mode 100644 index 0000000..d328cb4 --- /dev/null +++ b/data/games/garage/mods/farming/init.lua @@ -0,0 +1,171 @@ +-- farming/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("farming") + +-- Global farming namespace + +farming = {} +farming.path = minetest.get_modpath("farming") +farming.get_translator = S + +-- Load files + +dofile(farming.path .. "/api.lua") +dofile(farming.path .. "/nodes.lua") +dofile(farming.path .. "/hoes.lua") + + +-- Wheat + +farming.register_plant("farming:wheat", { + description = S("Wheat Seed"), + harvest_description = S("Wheat"), + 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 = S("Flour"), + inventory_image = "farming_flour.png", + groups = {food_flour = 1, flammable = 1}, +}) + +minetest.register_craftitem("farming:bread", { + description = S("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 = S("Cotton Seed"), + harvest_description = S("Cotton"), + inventory_image = "farming_cotton_seed.png", + steps = 8, + minlight = 13, + maxlight = default.LIGHT_MAX, + fertility = {"grassland", "desert"}, + groups = {flammable = 4}, +}) + +minetest.register_decoration({ + name = "farming:cotton_wild", + deco_type = "simple", + place_on = {"default:dry_dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = -0.1, + scale = 0.1, + spread = {x = 50, y = 50, z = 50}, + seed = 4242, + octaves = 3, + persist = 0.7 + }, + biomes = {"savanna"}, + y_max = 31000, + y_min = 1, + decoration = "farming:cotton_wild", +}) + +minetest.register_craftitem("farming:string", { + description = S("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: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, +}) + + +-- Register farming items as dungeon loot + +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + {name = "farming:string", chance = 0.5, count = {1, 8}}, + {name = "farming:wheat", chance = 0.5, count = {2, 5}}, + {name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, + types = {"normal"}}, + }) +end diff --git a/data/games/garage/mods/farming/license.txt b/data/games/garage/mods/farming/license.txt new file mode 100644 index 0000000..a90d808 --- /dev/null +++ b/data/games/garage/mods/farming/license.txt @@ -0,0 +1,95 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 PilzAdam +Copyright (C) 2014-2016 webdesigner97 +Copyright (C) 2012-2016 Various Minetest Game 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/ + +----------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2017 Napiophelios +Copyright (C) 2020 Extex101 + +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/data/games/garage/mods/farming/locale/farming.de.tr b/data/games/garage/mods/farming/locale/farming.de.tr new file mode 100644 index 0000000..b16748d --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.de.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Hacke +Seed=Samen +Wooden Hoe=Holzhacke +Stone Hoe=Steinhacke +Steel Hoe=Stahlhacke +Bronze Hoe=Bronzehacke +Mese Hoe=Mesehacke +Diamond Hoe=Diamanthacke +Wheat Seed=Weizensamen +Wheat=Weizen +Flour=Mehl +Bread=Brot +Cotton Seed=Baumwollsamen +Cotton=Baumwolle +String=Faden +Soil=Ackerboden +Wet Soil=Nasser Ackerboden +Savanna Soil=Savannenackerboden +Wet Savanna Soil=Nasser Savannenackerboden +Desert Sand Soil=Wüstensandackerboden +Wet Desert Sand Soil=Nasser Wüstensandackerboden +Straw=Stroh +Straw Stair=Strohtreppe +Inner Straw Stair=Innere Strohtreppe +Outer Straw Stair=Äußere Strohtreppe +Straw Slab=Strohplatte +Wild Cotton=Wilde Baumwolle diff --git a/data/games/garage/mods/farming/locale/farming.eo.tr b/data/games/garage/mods/farming/locale/farming.eo.tr new file mode 100644 index 0000000..887ef00 --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.eo.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Sarkilo +Seed=Semo +Wooden Hoe=Ligna sarkilo +Stone Hoe=Ŝtona sarkilo +Steel Hoe=Ŝtala sarkilo +Bronze Hoe=Bronza sarkilo +Mese Hoe=Mesea sarkilo +Diamond Hoe=Diamanta sarkilo +Wheat Seed=Tritika semo +Wheat=Tritiko +Flour=Faruno +Bread=Pano +Cotton Seed=Katuna semo +Cotton=Katuno +String=Ŝnuro +Soil=Tero +Wet Soil=Malseka tero +Savanna Soil=Savana tero +Wet Savanna Soil=Malseka savana tero +Desert Sand Soil=Dezerta sablo tero +Wet Desert Sand Soil=Malseka dezerta sablo tero +Straw=Pajlo +Straw Stair=Pajla ŝtupo +Inner Straw Stair=Interna pajla ŝtupo +Outer Straw Stair=Ekstera pajla ŝtupo +Straw Slab=Pajla plato +Wild Cotton=Sovaĝa kotonujo diff --git a/data/games/garage/mods/farming/locale/farming.es.tr b/data/games/garage/mods/farming/locale/farming.es.tr new file mode 100644 index 0000000..b17a452 --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.es.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe= +Seed= +Wooden Hoe=Azada de madera +Stone Hoe=Azada de piedra +Steel Hoe=Azada de acero +Bronze Hoe=Azada de bronce +Mese Hoe=Azada de mese +Diamond Hoe=Azada de diamante +Wheat Seed=Semilla de trigo +Wheat=Trigo +Flour=Harina +Bread=Pan +Cotton Seed=Semilla de algodón +Cotton=Algodón +String=Hilo +Soil=Tierra de cultivo +Wet Soil=Tierra de cultivo humeda +Savanna Soil= +Wet Savanna Soil= +Desert Sand Soil=Tierra de cultivo de arena de desierto +Wet Desert Sand Soil=Tierra de cultivo de arena de desierto humeda +Straw=Paja +Straw Stair=Escalera de paja +Inner Straw Stair=Escalera de paja interior +Outer Straw Stair=Escalera de paja exterior +Straw Slab=Losa de paja +Wild Cotton=Algodón silvestre + + +##### not used anymore ##### + +Dry Soil=Tierra de cultivo seca +Wet Dry Soil=Tierra de cultivo seca-humeda diff --git a/data/games/garage/mods/farming/locale/farming.fr.tr b/data/games/garage/mods/farming/locale/farming.fr.tr new file mode 100644 index 0000000..826949e --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.fr.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe=Houe +Seed=Grain +Wooden Hoe=Houe en bois +Stone Hoe=Houe en pierre +Steel Hoe=Houe en acier +Bronze Hoe=Houe en bronze +Mese Hoe=Houe en Mese +Diamond Hoe=Houe en diamant +Wheat Seed=Grain de blé +Wheat=Blé +Flour=Farine +Bread=Pain +Cotton Seed=Graine de coton +Cotton=Coton +String=Ficelle +Soil=Sol +Wet Soil=Sol humide +Savanna Soil=Sol de la savanne +Wet Savanna Soil=Sol de la savanne humide +Desert Sand Soil=Sol de sable du désert +Wet Desert Sand Soil=Sol de sable du désert humide +Straw=Paille +Straw Stair=Escalier de paille +Inner Straw Stair=Escalier intérieur en paille +Outer Straw Stair=Escalier extérieur en paille +Straw Slab=Dalle de paille +Wild Cotton=Coton sauvage + + +##### not used anymore ##### + +Dry Soil=Sol sec +Wet Dry Soil=Sol sec et humide diff --git a/data/games/garage/mods/farming/locale/farming.id.tr b/data/games/garage/mods/farming/locale/farming.id.tr new file mode 100644 index 0000000..7b27680 --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.id.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Cangkul +Seed=Benih +Wooden Hoe=Cangkul Kayu +Stone Hoe=Cangkul Batu +Steel Hoe=Cangkul Baja +Bronze Hoe=Cangkul Perunggu +Mese Hoe=Cangkul Mese +Diamond Hoe=Cangkul Berlian +Wheat Seed=Benih Gandum +Wheat=Gandum +Flour=Tepung +Bread=Roti +Cotton Seed=Benih Kapas +Cotton=Kapas +String=Benang +Soil=Tanah Tanam +Wet Soil=Tanah Tanam Basah +Savanna Soil=Tanah Tanam Sabana +Wet Savanna Soil=Tanah Tanam Sabana Basah +Desert Sand Soil=Pasir Tanam Gurun +Wet Desert Sand Soil=Pasir Tanam Gurun Basah +Straw=Jerami +Straw Stair=Tangga Jerami +Inner Straw Stair=Tangga Jerami Dalam +Outer Straw Stair=Tangga Jerami Luar +Straw Slab=Lempengan Jerami +Wild Cotton=Kapas Liar diff --git a/data/games/garage/mods/farming/locale/farming.it.tr b/data/games/garage/mods/farming/locale/farming.it.tr new file mode 100644 index 0000000..aeb9c0a --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.it.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe= +Seed= +Wooden Hoe=Zappa di legno +Stone Hoe=Zappa di pietra +Steel Hoe=Zappa d'acciaio +Bronze Hoe=Zappa di bronzo +Mese Hoe=Zappa di mese +Diamond Hoe=Zappa di diamante +Wheat Seed=Seme di grano +Wheat=Grano +Flour=Farina +Bread=Pane +Cotton Seed=Seme di cotone +Cotton=Cotone +String=Filo +Soil=Terreno +Wet Soil=Terreno bagnato +Savanna Soil= +Wet Savanna Soil= +Desert Sand Soil=Terreno di sabbia del deserto +Wet Desert Sand Soil=Terreno bagnato di sabbia del deserto +Straw=Paglia +Straw Stair=Scala di paglia +Inner Straw Stair=Scala di paglia interna +Outer Straw Stair=Scala di paglia esterna +Straw Slab=Lastra di paglia +Wild Cotton= + + +##### not used anymore ##### + +Dry Soil=Terreno asciutto +Wet Dry Soil=Terreno asciutto bagnato diff --git a/data/games/garage/mods/farming/locale/farming.ja.tr b/data/games/garage/mods/farming/locale/farming.ja.tr new file mode 100644 index 0000000..887d839 --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.ja.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=クワ +Seed=種 +Wooden Hoe=木製のクワ +Stone Hoe=石のクワ +Steel Hoe=鉄のクワ +Bronze Hoe=青銅のクワ +Mese Hoe=メセのクワ +Diamond Hoe=ダイヤモンドのクワ +Wheat Seed=小麦の種 +Wheat=小麦 +Flour=小麦粉 +Bread=パン +Cotton Seed=綿の種 +Cotton=綿 +String=糸 +Soil=土壌 +Wet Soil=湿った土壌 +Savanna Soil=サバンナの土壌 +Wet Savanna Soil=湿ったサバンナの土壌 +Desert Sand Soil=砂漠の砂の土壌 +Wet Desert Sand Soil=湿った砂漠の砂の土壌 +Straw=ワラ +Straw Stair=ワラの階段 +Inner Straw Stair=ワラの凹階段 +Outer Straw Stair=ワラの凸階段 +Straw Slab=ワラの厚板 +Wild Cotton=天然綿 diff --git a/data/games/garage/mods/farming/locale/farming.jbo.tr b/data/games/garage/mods/farming/locale/farming.jbo.tr new file mode 100644 index 0000000..51bb9db --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.jbo.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=lo te plixa +Seed=lo tsiju +Wooden Hoe=lo mudri te plixa +Stone Hoe=lo rokci te plixa +Steel Hoe=lo gasta te plixa +Bronze Hoe=lo ransu te plixa +Mese Hoe=lo za'e kunrmese te plixa +Diamond Hoe=lo tabjme te plixa +Wheat Seed=lo tsiju be lo maxri +Wheat=lo maxri +Flour=lo grupu'o +Bread=lo nanba +Cotton Seed=lo tsiju be lo mapni +Cotton=lo mapni +String=lo skori +Soil=lo ferti dertu +Wet Soil=lo cilmo ke ferti dertu +Savanna Soil=lo ferti ke sudytu'a dertu +Wet Savanna Soil=lo cilmo ke ferti ke sudytu'a dertu +Desert Sand Soil=lo ferti ke cantu'a canre +Wet Desert Sand Soil=lo cilmo ke ferti ke cantu'a canre +Straw=lo sudysrasu +Straw Stair=lo sudysrasu serti +Inner Straw Stair=lo zo'i sudysrasu serti +Outer Straw Stair=lo ze'o sudysrasu serti +Straw Slab=lo sudysrasu ke xadba bliku +Wild Cotton=lo cilce ke mapni spati diff --git a/data/games/garage/mods/farming/locale/farming.lv.tr b/data/games/garage/mods/farming/locale/farming.lv.tr new file mode 100644 index 0000000..b1f9546 --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.lv.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Kaplis +Seed=Sēklas +Wooden Hoe=Koka kaplis +Stone Hoe=Akmens kaplis +Steel Hoe=Tērauda kaplis +Bronze Hoe=Bronzas kaplis +Mese Hoe=Mēzes kaplis +Diamond Hoe=Dimanta kaplis +Wheat Seed=Kviešu sēkla +Wheat=Kvieši +Flour=Milti +Bread=Maize +Cotton Seed=Kokvilnas sēklas +Cotton=Kokvilna +String=Stiegra +Soil=Augsne +Wet Soil=Slapja augsne +Savanna Soil=Savannas augsne +Wet Savanna Soil=Slapja savannas augsne +Desert Sand Soil=Tuksneša smilts augsne +Wet Desert Sand Soil=Slapja tuksneša smilts augsne +Straw=Salmi +Straw Stair=Salmu pakāpiens +Inner Straw Stair=Iekšējais salmu pakāpiens +Outer Straw Stair=Ārējais salmu pakāpiens +Straw Slab=Salmu plātne +Wild Cotton=Savvaļas kokvilna diff --git a/data/games/garage/mods/farming/locale/farming.ms.tr b/data/games/garage/mods/farming/locale/farming.ms.tr new file mode 100644 index 0000000..5b8315b --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.ms.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe=Cangkul +Seed=Benih +Wooden Hoe=Cangkul Kayu +Stone Hoe=Cangkul Batu +Steel Hoe=Cangkul Keluli +Bronze Hoe=Cangkul Gangsa +Mese Hoe=Cangkul Mese +Diamond Hoe=Cangkul Intan +Wheat Seed=Benih Gandum +Wheat=Gandum +Flour=Tepung +Bread=Roti +Cotton Seed=Benih Kapas +Cotton=Kapas +String=Benang +Soil=Tanih +Wet Soil=Tanih Lembap +Savanna Soil=Tanih Savana +Wet Savanna Soil=Tanih Savana Lembap +Desert Sand Soil=Tanih Pasir Gurun +Wet Desert Sand Soil=Tanih Pasir Gurun Lembap +Straw=Jerami +Straw Stair=Tangga Jerami +Inner Straw Stair=Tangga Jerami Dalaman +Outer Straw Stair=Tangga Jerami Luaran +Straw Slab=Papak Jerami +Wild Cotton=Kapuk + + +##### not used anymore ##### + +Dry Soil=Tanih Kering +Wet Dry Soil=Tanih Kering Lembap diff --git a/data/games/garage/mods/farming/locale/farming.pl.tr b/data/games/garage/mods/farming/locale/farming.pl.tr new file mode 100644 index 0000000..ffde3b7 --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.pl.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Motyka +Seed=Nasiona +Wooden Hoe=Drewniana motyka +Stone Hoe=Kamienna motyka +Steel Hoe=Stalowa motyka +Bronze Hoe=Brązowa motyka +Mese Hoe=Mesowa motyka +Diamond Hoe=Diamentowa motyka +Wheat Seed=Nasiona pszenicy +Wheat=Pszenica +Flour=Mąka +Bread=Chleb +Cotton Seed=Nasiona bawełny +Cotton=Bawełna +String=Nić +Soil=Gleba +Wet Soil=Mokra gleba +Savanna Soil=Sawannowa gleba +Wet Savanna Soil=Mokra sawannowa gleba +Desert Sand Soil=Pustynno-piaszczysta gleba +Wet Desert Sand Soil=Mokra pustynno-piaszczysta gleba +Straw=Słoma +Straw Stair=Słomiane schody +Inner Straw Stair=Wewnętrzne słomiane schody +Outer Straw Stair=Zewnętrzne słomiane schody +Straw Slab=Słomiany półblok +Wild Cotton=Dzika bawełna diff --git a/data/games/garage/mods/farming/locale/farming.pt.tr b/data/games/garage/mods/farming/locale/farming.pt.tr new file mode 100644 index 0000000..fb0a83c --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.pt.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Enxada +Seed=Semente +Wooden Hoe=Enxada de Madeira +Stone Hoe=Enxada de Pedra +Steel Hoe=Enxada de Aço +Bronze Hoe=Enxada de Bronze +Mese Hoe=Enxada de Mese +Diamond Hoe=Enxada de Diamante +Wheat Seed=Semente de Trigo +Wheat=Trigo +Flour=Farinha +Bread=Pão +Cotton Seed=Semente de Algodão +Cotton=Algodão +String=Fio +Soil=Solo +Wet Soil=Solo Molhado +Savanna Soil=Solo da Savana +Wet Savanna Soil=Solo da Savana Molhado +Desert Sand Soil=Solo Arenoso do Deserto +Wet Desert Sand Soil=Solo Arenoso do Deserto Molhado +Straw=Palha +Straw Stair=Escada de Palha +Inner Straw Stair=Escada de Palha Externa +Outer Straw Stair=Escada de Palha Interna +Straw Slab=Laje de Palha +Wild Cotton=Algodão Selvagem diff --git a/data/games/garage/mods/farming/locale/farming.pt_BR.tr b/data/games/garage/mods/farming/locale/farming.pt_BR.tr new file mode 100644 index 0000000..fb0a83c --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.pt_BR.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Enxada +Seed=Semente +Wooden Hoe=Enxada de Madeira +Stone Hoe=Enxada de Pedra +Steel Hoe=Enxada de Aço +Bronze Hoe=Enxada de Bronze +Mese Hoe=Enxada de Mese +Diamond Hoe=Enxada de Diamante +Wheat Seed=Semente de Trigo +Wheat=Trigo +Flour=Farinha +Bread=Pão +Cotton Seed=Semente de Algodão +Cotton=Algodão +String=Fio +Soil=Solo +Wet Soil=Solo Molhado +Savanna Soil=Solo da Savana +Wet Savanna Soil=Solo da Savana Molhado +Desert Sand Soil=Solo Arenoso do Deserto +Wet Desert Sand Soil=Solo Arenoso do Deserto Molhado +Straw=Palha +Straw Stair=Escada de Palha +Inner Straw Stair=Escada de Palha Externa +Outer Straw Stair=Escada de Palha Interna +Straw Slab=Laje de Palha +Wild Cotton=Algodão Selvagem diff --git a/data/games/garage/mods/farming/locale/farming.ru.tr b/data/games/garage/mods/farming/locale/farming.ru.tr new file mode 100644 index 0000000..8ec25f7 --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.ru.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Мотыга +Seed=Семена +Wooden Hoe=Деревянная мотыга +Stone Hoe=Каменная мотыга +Steel Hoe=Стальная мотыга +Bronze Hoe=Бронзовая мотыга +Mese Hoe=Мезовая мотыга +Diamond Hoe=Алмазная мотыга +Wheat Seed=Семена пшеницы +Wheat=Пшеница +Flour=Мука +Bread=Хлеб +Cotton Seed=Семена хлопчатника +Cotton=Хлопок +String=Нить +Soil=Почва +Wet Soil=Влажная почва +Savanna Soil=Саванная почва +Wet Savanna Soil=Влажная саванная почва +Desert Sand Soil=Пустынная песчаная почва +Wet Desert Sand Soil=Влажная пустынная песчаная почва +Straw=Солома +Straw Stair=Соломенные ступени +Inner Straw Stair=Внутренние соломенные ступени +Outer Straw Stair=Внешние соломенные ступени +Straw Slab=Соломенная плита +Wild Cotton=Дикий хлопчатник diff --git a/data/games/garage/mods/farming/locale/farming.sk.tr b/data/games/garage/mods/farming/locale/farming.sk.tr new file mode 100644 index 0000000..2caa4b5 --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.sk.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Motyka +Seed=Semienko +Wooden Hoe=Drevená motyka +Stone Hoe=Kamenná motyka +Steel Hoe=Oceľová motyka +Bronze Hoe=Bronzová motyka +Mese Hoe=Mese motyka +Diamond Hoe=Diamantová motyka +Wheat Seed=Pšeničné semienko +Wheat=Pšenica +Flour=Múka +Bread=Chlieb +Cotton Seed=Bavlnené semienko +Cotton=Bavlna +String=Šňúra +Soil=Zemina +Wet Soil=Mokrá zemina +Savanna Soil=Zemina zo savany +Wet Savanna Soil=Morká zemina zo savany +Desert Sand Soil=Zemina s púšte +Wet Desert Sand Soil=Mokrá zemina s púšte +Straw=Slama +Straw Stair=Slamenné schody +Inner Straw Stair=Vnútorné slamenné schodisko +Outer Straw Stair=Vonkajšie slamenné schodisko +Straw Slab=Slamenná doska +Wild Cotton=Divoká bavlna diff --git a/data/games/garage/mods/farming/locale/farming.sv.tr b/data/games/garage/mods/farming/locale/farming.sv.tr new file mode 100644 index 0000000..e6c9e68 --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.sv.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Kratta +Seed=Frö +Wooden Hoe=Träkratta +Stone Hoe=Stenkratta +Steel Hoe=Stålkratta +Bronze Hoe=Bronskratta +Mese Hoe=Mesekratta +Diamond Hoe=Diamantkratta +Wheat Seed=Vetefrö +Wheat=Vete +Flour=Mjöl +Bread=Bröd +Cotton Seed=Bomullfrö +Cotton=Bomull +String=Snöre +Soil=Odlinngsmark +Wet Soil=Våt Odlingsmark +Savanna Soil=Savannodlingsmark +Wet Savanna Soil=Våt savannodlingsmark +Desert Sand Soil=Ökensandsodlingsmark +Wet Desert Sand Soil=Våt ökensandsodlingsmark +Straw=Halm +Straw Stair=Halmtrappa +Inner Straw Stair=Inre halmtrappa +Outer Straw Stair=Yttre halmtrappa +Straw Slab=Halmplatta +Wild Cotton= diff --git a/data/games/garage/mods/farming/locale/farming.uk.tr b/data/games/garage/mods/farming/locale/farming.uk.tr new file mode 100644 index 0000000..75e7dea --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.uk.tr @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe=Мотика +Seed=Насіння +Wooden Hoe=Дерев'яна мотика +Stone Hoe=Кам'яна мотика +Steel Hoe=Сталева мотика +Bronze Hoe=Бронзова мотика +Mese Hoe=Месе-мотика +Diamond Hoe=Діамантова мотика +Wheat Seed=Насіння пшениці +Wheat=Пшениця +Flour=Борошно +Bread=Хліб +Cotton Seed=Насіння бавовнику +Cotton=Бавовна +String=Нитка +Soil=Ґрунт +Wet Soil=Вологий ґрунт +Savanna Soil=Саванний ґрунт +Wet Savanna Soil=Вологий саванний ґрунт +Desert Sand Soil=Пустельний піщаний ґрунт +Wet Desert Sand Soil=Вологий пустельний піщаний ґрунт +Straw=Солома +Straw Stair=Солом'яна сходинка +Inner Straw Stair=Кутова солом'яна сходинка (внутрішній кут) +Outer Straw Stair=Кутова солом'яна сходинка (зовнішній кут) +Straw Slab=Солом'яна плита +Wild Cotton=Дикий бавовник diff --git a/data/games/garage/mods/farming/locale/farming.zh_CN.tr b/data/games/garage/mods/farming/locale/farming.zh_CN.tr new file mode 100644 index 0000000..33ad9be --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.zh_CN.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe=锄头 +Seed=种子 +Wooden Hoe=木锄头 +Stone Hoe=石锄头 +Steel Hoe=铁锄头 +Bronze Hoe=青铜锄头 +Mese Hoe=黄石锄头 +Diamond Hoe=钻石锄头 +Wheat Seed=小麦种子 +Wheat=小麦 +Flour=面粉 +Bread=面包 +Cotton Seed=棉花种子 +Cotton=棉 +String=线 +Soil=土 +Wet Soil=湿土 +Savanna Soil=草原土 +Wet Savanna Soil=湿草原土 +Desert Sand Soil=沙漠沙土 +Wet Desert Sand Soil=湿沙漠沙土 +Straw=稻草 +Straw Stair=稻草台阶 +Inner Straw Stair=稻草内楼梯 +Outer Straw Stair=稻草外楼梯 +Straw Slab=稻草板 +Wild Cotton=野棉花 + + +##### not used anymore ##### + +Dry Soil=干土 +Wet Dry Soil=湿干土 diff --git a/data/games/garage/mods/farming/locale/farming.zh_TW.tr b/data/games/garage/mods/farming/locale/farming.zh_TW.tr new file mode 100644 index 0000000..36037af --- /dev/null +++ b/data/games/garage/mods/farming/locale/farming.zh_TW.tr @@ -0,0 +1,34 @@ +# textdomain: farming +Hoe=鋤頭 +Seed=種子 +Wooden Hoe=木鋤頭 +Stone Hoe=石鋤頭 +Steel Hoe=鐵鋤頭 +Bronze Hoe=青銅鋤頭 +Mese Hoe=黃石鋤頭 +Diamond Hoe=鑽石鋤頭 +Wheat Seed=小麥種子 +Wheat=小麥 +Flour=麵粉 +Bread=麵包 +Cotton Seed=棉花種子 +Cotton=棉 +String=線 +Soil=土 +Wet Soil=溼土 +Savanna Soil=草原土 +Wet Savanna Soil=溼草原土 +Desert Sand Soil=沙漠沙土 +Wet Desert Sand Soil=溼沙漠沙土 +Straw=稻草 +Straw Stair=稻草臺階 +Inner Straw Stair=稻草內樓梯 +Outer Straw Stair=稻草外樓梯 +Straw Slab=稻草板 +Wild Cotton=野生棉花 + + +##### not used anymore ##### + +Dry Soil=乾土 +Wet Dry Soil=溼乾土 diff --git a/data/games/garage/mods/farming/locale/template.txt b/data/games/garage/mods/farming/locale/template.txt new file mode 100644 index 0000000..af92347 --- /dev/null +++ b/data/games/garage/mods/farming/locale/template.txt @@ -0,0 +1,28 @@ +# textdomain: farming +Hoe= +Seed= +Wooden Hoe= +Stone Hoe= +Steel Hoe= +Bronze Hoe= +Mese Hoe= +Diamond Hoe= +Wheat Seed= +Wheat= +Flour= +Bread= +Cotton Seed= +Cotton= +String= +Soil= +Wet Soil= +Savanna Soil= +Wet Savanna Soil= +Desert Sand Soil= +Wet Desert Sand Soil= +Straw= +Straw Stair= +Inner Straw Stair= +Outer Straw Stair= +Straw Slab= +Wild Cotton= diff --git a/data/games/garage/mods/farming/mod.conf b/data/games/garage/mods/farming/mod.conf new file mode 100644 index 0000000..9a76a6a --- /dev/null +++ b/data/games/garage/mods/farming/mod.conf @@ -0,0 +1,4 @@ +name = farming +description = Minetest Game mod: farming +depends = default, wool, stairs +optional_depends = dungeon_loot diff --git a/data/games/garage/mods/farming/nodes.lua b/data/games/garage/mods/farming/nodes.lua new file mode 100644 index 0000000..b5f90f9 --- /dev/null +++ b/data/games/garage/mods/farming/nodes.lua @@ -0,0 +1,282 @@ +-- farming/nodes.lua + +-- support for MT game translation. +local S = farming.get_translator + +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.override_item("default:dry_dirt", { + soil = { + base = "default:dry_dirt", + dry = "farming:dry_soil", + wet = "farming:dry_soil_wet" + } +}) + +minetest.override_item("default:dry_dirt_with_dry_grass", { + soil = { + base = "default:dry_dirt_with_dry_grass", + dry = "farming:dry_soil", + wet = "farming:dry_soil_wet" + } +}) + +minetest.register_node("farming:soil", { + description = S("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 = S("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.register_node("farming:dry_soil", { + description = S("Savanna Soil"), + tiles = {"default_dry_dirt.png^farming_soil.png", "default_dry_dirt.png"}, + drop = "default:dry_dirt", + groups = {crumbly=3, not_in_creative_inventory=1, soil=2, grassland = 1, field = 1}, + sounds = default.node_sound_dirt_defaults(), + soil = { + base = "default:dry_dirt", + dry = "farming:dry_soil", + wet = "farming:dry_soil_wet" + } +}) + +minetest.register_node("farming:dry_soil_wet", { + description = S("Wet Savanna Soil"), + tiles = {"default_dry_dirt.png^farming_soil_wet.png", "default_dry_dirt.png^farming_soil_wet_side.png"}, + drop = "default:dry_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:dry_dirt", + dry = "farming:dry_soil", + wet = "farming:dry_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 = S("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 = S("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 = S("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(), +}) + +-- Registered before the stairs so the stairs get fuel recipes. +minetest.register_craft({ + type = "fuel", + recipe = "farming:straw", + burntime = 3, +}) + +do + local recipe = "farming:straw" + local groups = {snappy = 3, flammable = 4} + local images = {"farming_straw.png"} + local sounds = default.node_sound_leaves_defaults() + + stairs.register_stair("straw", recipe, groups, images, S("Straw Stair"), + sounds, true) + stairs.register_stair_inner("straw", recipe, groups, images, "", + sounds, true, S("Inner Straw Stair")) + stairs.register_stair_outer("straw", recipe, groups, images, "", + sounds, true, S("Outer Straw Stair")) + stairs.register_slab("straw", recipe, groups, images, S("Straw Slab"), + sounds, true) +end + +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, +}) + + +-- Make default:grass_* occasionally drop wheat seed + +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 + + +-- Make default:junglegrass occasionally drop cotton seed. + +-- This is the old source of cotton seeds that makes no sense. It is a leftover +-- from Mapgen V6 where junglegrass was the only plant available to be a source. +-- This source is kept for now to avoid disruption but should probably be +-- removed in future as players get used to the new source. + +minetest.override_item("default:junglegrass", {drop = { + max_items = 1, + items = { + {items = {"farming:seed_cotton"}, rarity = 8}, + {items = {"default:junglegrass"}}, + } +}}) + + +-- Wild cotton as a source of cotton seed + +minetest.register_node("farming:cotton_wild", { + description = S("Wild Cotton"), + drawtype = "plantlike", + waving = 1, + tiles = {"farming_cotton_wild.png"}, + inventory_image = "farming_cotton_wild.png", + wield_image = "farming_cotton_wild.png", + paramtype = "light", + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = {snappy = 3, attached_node = 1, flammable = 4}, + drop = "farming:seed_cotton", + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-6 / 16, -8 / 16, -6 / 16, 6 / 16, 5 / 16, 6 / 16}, + }, +}) diff --git a/data/games/garage/mods/farming/textures/farming_bread.png b/data/games/garage/mods/farming/textures/farming_bread.png new file mode 100644 index 0000000000000000000000000000000000000000..16b25f1932512b449422e65245e1769685c470ff GIT binary patch literal 388 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;6PZ!4!3CXz!S%nT6Ft8lxHubz4TTuS|zx-n6 z!|c1d7oO{hyvA8?$-8;cinqI4_1CrTojp4<)qr{L$EyMC#vRPj#@kpQOnsHHY?09H zWp8;H;$qk7MeUt>V&!E}Srzc0%WDQS?iF3YuF#i0v fcFPPs!!ztV?s2mHo`35I&^-*Eu6{1-oD!MHpogd&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/data/games/garage/mods/farming/textures/farming_cotton_1.png b/data/games/garage/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/data/games/garage/mods/farming/textures/farming_cotton_4.png b/data/games/garage/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%sbfso1D1Y%qX3l+&zC8jd^K|udS?83{1OQv~D<%K{ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/farming/textures/farming_cotton_6.png b/data/games/garage/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$Px# literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/farming/textures/farming_cotton_8.png b/data/games/garage/mods/farming/textures/farming_cotton_8.png new file mode 100644 index 0000000000000000000000000000000000000000..4450a2c4b8ef424222fd92bb51bef74d4e215147 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=1BEstJygSFT*~H50Ya z6g2nMH80Iv29#hd3GxeOaCmkj4akY~ba4#fkYzo%QSgv~0E5BLw@dytG0x*Xv(e#! z-d=9D5C4J{7#SSq%f5&_Q1{3;|Jl6tzSGo}Z*IHDK6CB$zJTjDYnDuuJM3_Fu~H$& l>0{a^ zZefcf*RNlH`SRu0uU|i1mY@k#!B`UH7tG-B>_!@plke%`7{VdTdT=9eQ-BD=fyay! zCkY5Ae-{+e-FWd^zk<&KKZnfBISmu{g6!fyVWPZq-^SmeUrW37kIp%N|MxMIjMX9D znx90TdT-Z1Rob_>e2U`I{$ABf<~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/data/games/garage/mods/farming/textures/farming_desert_sand_soil_wet_side.png b/data/games/garage/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 zc)B=-NJ#n~3=Lv-6k#}EzHRfneTC)z1?A=G!VmtnGuW+IBwe9o^y9EaQ{A5*=S+`T z{Bm5E!tqyOAK%r^OIc=8TVFAYTq|Cua&>oeQCgT|wkzmufxp(x;ulAPl}@*OIc~hjrrdS`XM&fZm|BzGD-lM9$5BnLIyRjjxD|_p z_w3PHWidA}Rye_YfBy5+Umt&dcwxVEyZVG#M`O-g%7$<+J$w7bfu=R`rnjdr-mH7N zple<^%cib(ovUJ4-kw`=RhdI0P3c(71s1Qx<~;um=Q7qXU%4dH`s-vNFDTeOUHx3v IIVCg!08(PqIRF3v literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/farming/textures/farming_soil_wet.png b/data/games/garage/mods/farming/textures/farming_soil_wet.png new file mode 100644 index 0000000000000000000000000000000000000000..2eb2c3cd8684954f7a3bf88128e56163ad28e843 GIT binary patch literal 676 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&`@^oXV1ox7gx=(Vzol8aLR z{;l#|efRy3y6WX01b7x_oR^<}d-7`I-Qpqzn|56()tqkM=CgUZ(2QfO$xavAOhS{{ zEPPxAokYJZEh^wsid^}u=;f-?=1i`KCVMy*9sKfaVOaE@Cnt5++|64t|IT{1<9nM= z{o2Hu{V`V0zV00V?702bvtymhd(B@i^D`~W+NjKHkhsdpAgE(wX>3731M{5b&u!Nj a{xQl;mYgeef8l3Pitu#xb6Mw<&;$UfuGo?Q literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/farming/textures/farming_soil_wet_side.png b/data/games/garage/mods/farming/textures/farming_soil_wet_side.png new file mode 100644 index 0000000000000000000000000000000000000000..f0b1bd45cf7b0ad04fc77229a9f5f2bdb80a2795 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5XE0A7ZWqS)qF_r}R1^X{+ mZAk}mxIJAQLpZJ{D+mHP1`Ld;Ro7~OECx?kKbLh*2~7YD1QR3x literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/farming/textures/farming_straw.png b/data/games/garage/mods/farming/textures/farming_straw.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f5fe7c83c682109f4e320f748750a0d5e41c85 GIT binary patch literal 887 zcmV--1Bm>IP)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/data/games/garage/mods/farming/textures/farming_tool_diamondhoe.png b/data/games/garage/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/data/games/garage/mods/farming/textures/farming_tool_steelhoe.png b/data/games/garage/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/data/games/garage/mods/farming/textures/farming_tool_stonehoe.png b/data/games/garage/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{mLJiCzwp zYrV!t2hO9sx*gKzrYd%E|2AwDoW5tx$t_(;$HPuNnCzj%Cv~s%@E!k6GX$)c{XbtE nD*Whz+xJPvE01*M{77NujbPGBRL`yl+QZ=K>gTe~DWM4f)ZJnM literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/farming/textures/farming_wheat_1.png b/data/games/garage/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/data/games/garage/mods/farming/textures/farming_wheat_2.png b/data/games/garage/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/data/games/garage/mods/farming/textures/farming_wheat_3.png b/data/games/garage/mods/farming/textures/farming_wheat_3.png new file mode 100644 index 0000000000000000000000000000000000000000..9d90ac14e9b32109833902c7dd384edeab1a13b7 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=7oRg-u%NdiX-lntjog zlXa)B_1J%|{C~fqJ5Y|XB*-tA!Qt7BG$6;()5S4_BYN$@K;8xi9+!jHzx;>~*dWfM zuuw?rVSz)_e-`002mXsW7z;?pswia$2Kv29;$N@fd#_^7rL%@_GUv-LtYYJg;cH(5 PG>pO1)z4*}Q$iB}kW@LV literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/farming/textures/farming_wheat_4.png b/data/games/garage/mods/farming/textures/farming_wheat_4.png new file mode 100644 index 0000000000000000000000000000000000000000..14d055fbf7a1cf4bafc3d643714502e32789a3c0 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=8yeCePUzxbqv(&XiThj}sk?xk~VB76=TNlo{yJaRH> hiCXTSWtIIuYhGk=N`whaG6$N=;OXk;vd$@?2>>piLQ4Pu literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/farming/textures/farming_wheat_5.png b/data/games/garage/mods/farming/textures/farming_wheat_5.png new file mode 100644 index 0000000000000000000000000000000000000000..5b88c5785feaeeeddb310a36bfbcbb354956473c GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?b1=3q~XD(VDzH@)xne)}t zmwPo&u{w33WBK~%?kRTdGi~Rt@t-imapscgB0!~#B|(0{3=Yq3qyaezo-U3d9I|r{ zZsct?5OKZuyHzzs^Qb!O*UchT#?0OUY>HLlJPBqWgm@*CbxFs%$Wi* zi!C>&vVJ<0uxgrZVN_tj{)+OTNp@?NZMwS2c-EHM(hsjq@6LK>|3!ySh-Llqi9ov; NJYD@<);T3K0RUxVQFQ9s(+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/data/games/garage/mods/farming/textures/farming_wheat_7.png b/data/games/garage/mods/farming/textures/farming_wheat_7.png new file mode 100644 index 0000000000000000000000000000000000000000..6b7bb4b92fde890e0ae8daa2ff5cf00d81da1d87 GIT binary patch literal 252 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#cA>Eal| zA)9(|A@3mviMEH|)nCdkdc@Ha!2BwkciY|;mPQM+9jYHnZ(QO$(Hn4;qY~cmEg~8L+&t;ucLK6T1jAyd| literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/farming/textures/farming_wheat_8.png b/data/games/garage/mods/farming/textures/farming_wheat_8.png new file mode 100644 index 0000000000000000000000000000000000000000..d0500934acb984e6e967d17cb855bca1b43b5a85 GIT binary patch literal 310 zcmV-60m=S}P)Kx2-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/data/games/garage/mods/farming/textures/farming_wheat_seed.png b/data/games/garage/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/data/games/garage/mods/fire/README.txt b/data/games/garage/mods/fire/README.txt new file mode 100644 index 0000000..eb3e1e2 --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/fire/init.lua b/data/games/garage/mods/fire/init.lua new file mode 100644 index 0000000..538cfa6 --- /dev/null +++ b/data/games/garage/mods/fire/init.lua @@ -0,0 +1,312 @@ +-- fire/init.lua + +-- Global namespace for functions +fire = {} + +-- Load support for MT game translation. +local S = minetest.get_translator("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, _, newnode) + -- Play flame extinguish sound if liquid is not an 'igniter' + if minetest.get_item_group(newnode.name, "igniter") == 0 then + minetest.sound_play("fire_extinguish_flame", + {pos = pos, max_hear_distance = 16, gain = 0.15}, true) + end + -- Remove the flame + return false +end + +-- Flame nodes +local fire_node = { + 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, fire = 1}, + drop = "", + on_flood = flood_flame +} + +-- Basic flame node +local flame_fire_node = table.copy(fire_node) +flame_fire_node.description = S("Fire") +flame_fire_node.groups.not_in_creative_inventory = 1 +flame_fire_node.on_timer = function(pos) + if not minetest.find_node_near(pos, 1, {"group:flammable"}) then + minetest.remove_node(pos) + return + end + -- Restart timer + return true +end +flame_fire_node.on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(30, 60)) +end + +minetest.register_node("fire:basic_flame", flame_fire_node) + +-- Permanent flame node +local permanent_fire_node = table.copy(fire_node) +permanent_fire_node.description = S("Permanent Fire") + +minetest.register_node("fire:permanent_flame", permanent_fire_node) + +-- Flint and Steel +minetest.register_tool("fire:flint_and_steel", { + description = S("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.2, max_hear_distance = 8}, true) + 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.record_protection_violation(pointed_thing.under, player_name) + 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 + if minetest.is_protected(pointed_thing.above, player_name) then + minetest.record_protection_violation(pointed_thing.above, player_name) + return + end + + minetest.set_node(pointed_thing.above, {name = "fire:basic_flame"}) + end + end + if not minetest.is_creative_enabled(player_name) then + -- Wear tool + local wdef = itemstack:get_definition() + itemstack:add_wear_by_uses(66) + + -- 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}, true) + 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) + 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) + 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 +-- + +-- Enable if no setting present +local flame_sound = minetest.settings:get_bool("flame_sound", true) + +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() 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) + 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) + local p = minetest.find_node_near(pos, 1, {"group:flammable"}) + if not p then + return + end + 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 diff --git a/data/games/garage/mods/fire/license.txt b/data/games/garage/mods/fire/license.txt new file mode 100644 index 0000000..9f2aca9 --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/fire/locale/fire.de.tr b/data/games/garage/mods/fire/locale/fire.de.tr new file mode 100644 index 0000000..dad7c34 --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.de.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Feuer +Permanent Fire=Permanentes Feuer +Flint and Steel=Feuerstein und Stahl diff --git a/data/games/garage/mods/fire/locale/fire.eo.tr b/data/games/garage/mods/fire/locale/fire.eo.tr new file mode 100644 index 0000000..c1e992b --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.eo.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Fajro +Permanent Fire=Ĉiama fajro +Flint and Steel=Siliko kaj ŝtalo diff --git a/data/games/garage/mods/fire/locale/fire.es.tr b/data/games/garage/mods/fire/locale/fire.es.tr new file mode 100644 index 0000000..4ce3f32 --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.es.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Fuego +Permanent Fire=Fuego permanente +Flint and Steel=Yesca y pedernal diff --git a/data/games/garage/mods/fire/locale/fire.fr.tr b/data/games/garage/mods/fire/locale/fire.fr.tr new file mode 100644 index 0000000..6218c53 --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.fr.tr @@ -0,0 +1,9 @@ +# textdomain: fire +Fire=Feu +Permanent Fire=Feu qui brûle en permanence +Flint and Steel=Briquet à silex en acier + + +##### not used anymore ##### + +Permanent Flame=Flamme permanente diff --git a/data/games/garage/mods/fire/locale/fire.id.tr b/data/games/garage/mods/fire/locale/fire.id.tr new file mode 100644 index 0000000..a6d2da5 --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.id.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Api +Permanent Fire=Api Abadi +Flint and Steel=Pemantik Api diff --git a/data/games/garage/mods/fire/locale/fire.it.tr b/data/games/garage/mods/fire/locale/fire.it.tr new file mode 100644 index 0000000..14ad382 --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.it.tr @@ -0,0 +1,9 @@ +# textdomain: fire +Fire= +Permanent Fire= +Flint and Steel=Acciarino + + +##### not used anymore ##### + +Permanent Flame=Fiamma permanente diff --git a/data/games/garage/mods/fire/locale/fire.ja.tr b/data/games/garage/mods/fire/locale/fire.ja.tr new file mode 100644 index 0000000..bf5fec4 --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.ja.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=炎 +Permanent Fire=燃え続ける炎 +Flint and Steel=火打ち石と打ち金 diff --git a/data/games/garage/mods/fire/locale/fire.jbo.tr b/data/games/garage/mods/fire/locale/fire.jbo.tr new file mode 100644 index 0000000..b081236 --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=lo fagri +Permanent Fire=lo vitno fagri +Flint and Steel=lo fakro'i jo'u gasta diff --git a/data/games/garage/mods/fire/locale/fire.lv.tr b/data/games/garage/mods/fire/locale/fire.lv.tr new file mode 100644 index 0000000..b9b50ef --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.lv.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Uguns +Permanent Fire=Mūžīgā uguns +Flint and Steel=Krams un zāģītis diff --git a/data/games/garage/mods/fire/locale/fire.ms.tr b/data/games/garage/mods/fire/locale/fire.ms.tr new file mode 100644 index 0000000..e43f26c --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.ms.tr @@ -0,0 +1,9 @@ +# textdomain: fire +Fire=Api +Permanent Fire=Api Abadi +Flint and Steel=Pemetik Api + + +##### not used anymore ##### + +Permanent Flame=Api Abadi diff --git a/data/games/garage/mods/fire/locale/fire.pl.tr b/data/games/garage/mods/fire/locale/fire.pl.tr new file mode 100644 index 0000000..a19e6af --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.pl.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Ogień +Permanent Fire=Stały ogień +Flint and Steel=Zapalniczka diff --git a/data/games/garage/mods/fire/locale/fire.pt.tr b/data/games/garage/mods/fire/locale/fire.pt.tr new file mode 100644 index 0000000..4a84b6e --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.pt.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Fogo +Permanent Fire=Fogo Permanente +Flint and Steel=Pederneira Primitiva diff --git a/data/games/garage/mods/fire/locale/fire.pt_BR.tr b/data/games/garage/mods/fire/locale/fire.pt_BR.tr new file mode 100644 index 0000000..4a84b6e --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Fogo +Permanent Fire=Fogo Permanente +Flint and Steel=Pederneira Primitiva diff --git a/data/games/garage/mods/fire/locale/fire.ru.tr b/data/games/garage/mods/fire/locale/fire.ru.tr new file mode 100644 index 0000000..5b38a8c --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.ru.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Огонь +Permanent Fire=Вечный огонь +Flint and Steel=Огниво \ No newline at end of file diff --git a/data/games/garage/mods/fire/locale/fire.sk.tr b/data/games/garage/mods/fire/locale/fire.sk.tr new file mode 100644 index 0000000..125c860 --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.sk.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Oheň +Permanent Fire=Stály oheň +Flint and Steel=Pazúrik a ocieľka diff --git a/data/games/garage/mods/fire/locale/fire.sv.tr b/data/games/garage/mods/fire/locale/fire.sv.tr new file mode 100644 index 0000000..28e9a4a --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.sv.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Eld +Permanent Fire=Permanent eld +Flint and Steel=Flinta och stål diff --git a/data/games/garage/mods/fire/locale/fire.uk.tr b/data/games/garage/mods/fire/locale/fire.uk.tr new file mode 100644 index 0000000..da202aa --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.uk.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=Вогонь +Permanent Fire=Вічний вогонь +Flint and Steel=Кресало diff --git a/data/games/garage/mods/fire/locale/fire.zh_CN.tr b/data/games/garage/mods/fire/locale/fire.zh_CN.tr new file mode 100644 index 0000000..7b0a472 --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=火焰 +Permanent Fire=永久火焰 +Flint and Steel=火石和划片 diff --git a/data/games/garage/mods/fire/locale/fire.zh_TW.tr b/data/games/garage/mods/fire/locale/fire.zh_TW.tr new file mode 100644 index 0000000..9e3d766 --- /dev/null +++ b/data/games/garage/mods/fire/locale/fire.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: fire +Fire=火焰 +Permanent Fire=永久火焰 +Flint and Steel=火石和鋼 diff --git a/data/games/garage/mods/fire/locale/template.txt b/data/games/garage/mods/fire/locale/template.txt new file mode 100644 index 0000000..e4e44e7 --- /dev/null +++ b/data/games/garage/mods/fire/locale/template.txt @@ -0,0 +1,4 @@ +# textdomain: fire +Fire= +Permanent Fire= +Flint and Steel= diff --git a/data/games/garage/mods/fire/mod.conf b/data/games/garage/mods/fire/mod.conf new file mode 100644 index 0000000..c70f23b --- /dev/null +++ b/data/games/garage/mods/fire/mod.conf @@ -0,0 +1,3 @@ +name = fire +description = Minetest Game mod: fire +depends = default diff --git a/data/games/garage/mods/fire/sounds/fire_extinguish_flame.1.ogg b/data/games/garage/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/data/games/garage/mods/fire/sounds/fire_fire.1.ogg b/data/games/garage/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/data/games/garage/mods/fire/sounds/fire_fire.2.ogg b/data/games/garage/mods/fire/sounds/fire_fire.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e8d0eb1356c3ef33949dae57847c88988a1c38a9 GIT binary patch literal 60497 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
    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/data/games/garage/mods/fire/sounds/fire_flint_and_steel.ogg b/data/games/garage/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/data/games/garage/mods/fire/sounds/fire_large.ogg b/data/games/garage/mods/fire/sounds/fire_large.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fe78e6253134818b33cd8c3fd2a87d0edfb0757e GIT binary patch literal 62808 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/fire/sounds/fire_small.ogg b/data/games/garage/mods/fire/sounds/fire_small.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5aac595b94264e8d7c7f74b1894ca4e90b4950db GIT binary patch literal 50004 zcmag_by!tT)G!S114xS?A>A!VcPZU{=ukSOyN}W>jkI(lAf3|EozmSUE%0vq-S_jn z-yh%g?rY9IlWS(yteF+FwvxHI8UP3U&m;Hw1oo;S{iBm15PeO z&d$ol&dScpK~Aq^V{2*eXzFBY>&);38S?DErj(*$8W7+u08l&OGfL(;;RRq4iYgPV z6N?U89}tMjV|^xOm)9Mjar#1$n zGAc!`5{yYVc&MhzJ>@w)f%^B_>)s_!!+uH@wlpNBj&_4FrJmiTG|c}~=eP@%+d%2@a~VbpIh74tR@95s0HI z{l71x5Q-pt$9{%_tk1HHMTOZB>;p{Iga2Oq2c^{*0_bdAm}0NXx>VI{xTdwNkNCDz z{C{ZZSeMnP$};4|tD^qHA32D7QA7fhFDg%vjY1d-(i~A43;#nW`P0$>fYKT97#7L@ z4X4B-STrgx!N5Gh&NZPX0d+B*Np#V!^U<9R)W7ms1jDt<2dzX??f;+f-_*hVO%4+K ze-mNo!FL+u+o6uf{NHJU3kuldNd2QXnJQ|zaq6LQCZ%&uC2S!T9Ek}|=oqfP3XhEn zx9J3zz8beaRKrFy(MGq{Wg*FQ;mT+E{}uF+{!Q^E0Px3BF~m|b#IEy3QOmrw=wk%l zB0lZNur>Oqb>3KNnOGXjSaXlW!mla2Uo#ks|5X7npQ=1PVfpT1MebpR?om4-u@+ww z3yV@-_varpmhb<61+;$zP7MIg)KZSrQmWJvs$k?Fc46pG*d^{{qn2=F8W`vNZ;oTw zLLfplo&P&D{$~LI0R7i@oPjZ7g_kr_s?1O|<|$Q)DK+T-*P}4Oselb47UgNfwi5>o zGZ%i5L19h~qwk{LQGJKRurtj1IqT{rpMP2}4xi|ko3fTJ*_4%Nm} zm`b2g;80M&fvRCkKyjgJi3-pJ(-BUaId$kF9u!(y!4ry_R*hq`GEffd1lH5>gr-RZL^%@qOV2!Z&dnFa8z6%WN=hAASliM z88dY5!ez?EMju;Z<_WR{G(jJ1yPRP9Z_H1nYA!DNwKm4dHoC7A!7+oS9}@HzlUx?? zZS}7rhd6B(ob~m2^fhN}^m&4`XM7CRp@y2Kb37W_m*76EbXmrigig7rxds}#m>Sl* z7;4+=n>ba=P+^PKS-OASam3Vg@>*!(hsy-iWl>$VsX&-X}{iO2#Dwfi!QuMlGqRykcj;i@uhr!w?>;3-9J6Y4K z1XFjL1x+)3y1_;p;-(4?-wz-!XotZAZ(%5=S^vl*4FLSVIE64E#~6Xkk0B6KH4NYX z3m+Ygv7#&kO^vdw6_zn3V{fj>unbDx4;)!bhWK$E2AW!B+3>O&9X0F9AXOc-ydPS! zmTWZ|#@1y$A#5mLomAPkbK_NYUg!NtO_=o~9>OHG(FOP&bUZ4&Mm_1f?2U2^NGi^x_#0V;L)hpuo-<@_uN@T9r8}%7UN< z-^qZWzXwhY^c$&{?~aaP2RjwX${!<^SmxC)uN{sC6zPy#zPFXdTQZZb@*Q8%ykA% z7{WCgPGJl)c*aL;b>!B=EpC|L%)9VqLo2&Ati##1m1UpiAtzG_c5YKPO$rt~bzani zZ#-PtW1wbTQ;YAV$ULp*bkx#A>~B@J1%hIzO|vd{;z+j0Ty$`*aH068iE zum-VhlXIeiTr3_D+?{c;d`J`l@$B2=0bf+Ni34JF_S5{8Wv%n#<8{I-<6~8=+3-MK zzXEdT_x|}^Yd~O7DFUDh0nnq2wKL39ime8sXgo6Li}OqNYN@m{=)#JNi)(E>G8n-B z#`1FAe>siiCHonc|8ki2TftVv#pSODTJ4I9!IKsgD^602_Zq>RszbDr{r)PZg<4yp z&b>xZ;;6OR?{@$z-L+N{OVyU&HM0Kgu?Npx!JiPIusvuBOEIhm4(;hEGy#X$LvDhp z+D9G$@>7O@cvX-kArb=soIE}JzhP&CXFg?V&9shj8Tbl+idmO|Eb|}V{Qvuc0IJv+ zfa(iw3t1+N|L}uDL(BA=8~O{)wdg|4NZ5oc~LTf->koS#|V(q}Fdwm7nBS2mpJA0kRtI z(kOdXPCTtAQhJgTKhHZdv2jTAZ832pP&{jZN;7o-Fq0(MtcRjfjQ0PjKuF++m_S5C5Cl2hix!MYFv^?<_f_0moC zus85}qun60M;68WtVR45g2KzY8br5r5C;KU7_oNs5PH-2l_by;@zHSFK*hmN)6B{fBxY)MIOI$iKv(=%k1<($y&z2avc z$`sYmxsD{eynXhl)nc`D5H~-lLgKn3&Cml;pzu&}ZvLLmuMyh1^uB~I2f+eBQGsxx}N2JVSrII}X%`1o4 z&S%04Y=QEHZphxM5IqW8s&Lt%kxJA}DJm1Ox5baO%r&)i3vfMo1#4|P;`d}^5|^fj zVb-_5{=WRo-Ml5Bl<(FClB95|&>PxomkYWSkU;^o(U1DU95 zored3yS9*q-vBC13Q%%ytzh!g^DOdc`%bZx&)B+blVp+bopPR$NP_kAP4d8j^4R9- zq}@-;!9j`SXCFCk_WU+0Cu*8Cff4cca-7Uh2B|vbsY?oaCG!M7|`9h9m zl!5i0#CaTd7P77nt~1!(g4$kJR_;5X&~AaT68Tg3b$*Tf-ptNv-x<#;)jFJ@vB+<# z4rc%XsDbBw>Egzv8kQ7XvEjP5dKDc?N+P(KzM9eqyaYJmc2p|Y9YX`W55D7f&m=?j zwg)be(d4(0R{CZE9KfA)MYd*1nRSRi<_~Y=tCll|e!&JPt~v_SV*NSo>KFv9f@sfc z>sD)Kd^fgS&y|^xe%TVJG#$;GL6Q{f$hj`IBCKZvL;McF=24`Ntp=Pkqo&xk7gp^= z4s+>B4;CgK;a++sIH6uZR@*$-QSWEYtPOo{rtV1B%e^87iO>7KYYj45gPf)PA(lYL zlZNfv0B^^~UQWIPZ5zMCrN=&@k3?LHPO_s|+WRza)^MI1okQ_#=m=biK{Ki!J}(EQ zRLwKL-D*0X7uS+rqEvr>8_IjTw+E-Y1y|5~f64b+eSIWEsu{(sh9_Kfb?!@Y)t80y z%`*J{qlt@xrO`7jiq-n95ID?b6l#GwAQT+jG;rexWyXr+5Imrc}gw`Kl>V*0VtlU<6S* zZ<6L`cTb^B@Iaiv)!jS&!)leGb6J4euxQf8eHw`#P$v3bxm{eue7U)OE~>95pp#-> zaZ*q}ytaMr#-Eaav`_Rv#294~(ebbv-&Nf zB&=9*HQafb)TIAPwPe;~B{`@ZgzVTTbDNXoZg$tKoTfrBLhUVpnRBvuyy={+5~u@}8{&jr#`6 z$$ke5=FEhBQZJ=(U7sQ%2X*f9>a}kwm22ywlbeBw45NG9AuIGD_~mcbBX)x-wR6%3 zciv1v^)RN&5y}fRu>~*kzI`z%WJnY?DKc{?D6n_b5!OU2v~u7npK|HIJjyYJe?!(I z1PGU;+cAU`jD;Xas6MttOXTZOcx``d7%eSrkHrUoDAS`urI+Ik!&W)NsBg?zD$i4V zm<3&~*ou2CYdNFK%fr?gqkISgDorr@U2k8cptLUwosxca?Q!?iZg9!mDn>v~_aoR0 z_0_#Z_R3xIbxysgLBy2~eM4J=u%%+78{M+vfbnS9K6Kce$DkuHL2=UxE{;`t5{@~- zU)Y$jVWt9y;~b~1TxYiYN9K6HR=hpZ$VqKjwUq`Kqn;yAPa3G06-s=7{9$N6f0&$BKtGTBW12 zj_$wCBojWb#NFOVGxo{Kfua(dww#w@M!)S((uDb|ia1X3>6)THDn-20wMNkeU&{y# zEN}GW_cP>LtW;`^NhJc}9HsA?d?Y2dBrZ)}Bi}S5?(~*jWDb81SW*n#JbAknOU4i) z1E0ej-WIsQv$`|q6=p!j82qVh{BuSHAUJ__g1EZ-z^5>d1^lIG=p?<`Y>8{GKb!AZ z|I1ije0Ln>lLk*c$3VlnH;SGN0q!miGG!bn(qb>Y%?zDy9x=`wA>s>XzC;EO zS4*a12!Q#x%b@pqXDV|>*Zty$VF6q(v;-dmpm8s+5@XH0;~J9l9UI7^ix@@-2z#CU z1vD+PcDMGiS(4xX*`KJ_jlRD>_By?YirG53%b1F2(oARwp7mqw$k5Pyhzi3`bm1rM zUA`9+uA@Y^v40)w?Rr`|fM96Ux&X3$61UAfSX^A_=>uX?t76d0KZ}BYDXQT%Fl1`` z5JPlw+2@JyX{UD}#SYB!3{fSWhkS!g$bdnKe$q>K7}YImb7vW#dE?yZ(#) z>lD+%37rx|&&}`k5AhW1Xi7P1Eq{dHGXzX?Zp%Rg;&-iYQgr-?FGJIUT3nPPnZB+V zQ3ouV-ftNwG*nQQ&!bNl_fl|*AVg#vBjGdY0vE#`wqvSyUrW6OC#X%fDdBz)Jq#eO>?G^Y5R8ruvtrguS{n#q0OE@= z`;>wY^si7#fOfrN*Yb7QNGVGfR&~$qL_s5`D|&czsGcLffh!Cd@C269S?EGzqBeLN zgcWUl6JH(MMZD}Tl>F-LuwR9sCa)im^!P{z=MM)=+{GW4#NE{68j7{ncJFJd)Y150 z>+o?IqyGi4ORw$W0DD!+1zB8OB5_Lq2w9Jn|B4^GB+4=Ewf|V9sm(dVHN?qH>~+3V z#i_`I*5}jfPrqu(C{sFh%Wv*JFs@{JRkWToetR^ivB;E)p;SUss`)Jnlf_lncXxbD zQ?p>lu|`jI2)jKn$4s(v^dKZO!F@HxxYIPxXDCfcMp^mUP;#4~2+D(wkY;8N@^wn( z*+Z10lu5;ReQRa8KkNfFK0%;W)f|c5Z(7M8huE~ z`>uUJ0$VpEl4CW(9!Z?%k0?eRWm_`MS(YYo=vP>o8{QlCM;FVn)1W$5PM#~fsl^3_ z{sHC56-8S&LiNdkE{vHp&d_IWAEF-%DQz*nFM9#pRyGA_r;r;o$r!tvQ^U6MlWTPw z-!ZW=LS1bb{YToKX`Xs>Ufx+KF1OA;yJ01Kt z>9@sU)iSC2$Q)brBr*6~MvOfSZ+O!jJ;>qQL^pa`oN%yyksi8=*heO^V~ef&@EmE9 z5^QYbw^Cxk8e{2FoL#zkRs1Du;!rRjdUEu-LBqm_;mfd-W_W6V7rTASI3}gHfy*xc zWrpgmJEM960&XyqKI%c}i7H5^C)Kc5uEk}XD&F}{@fr*}hI`=(BPYa$x3uNHpjf3?&+-~JmOUVS^}O5!5`Qn@ai<&7d~T}a&vbX4=i+v=Cw>nNZ& zyTK($2!phTL*58j^IB0C@GB%J-HMM!qXg@~Q|k)wBL)>PgL@z!*h8W`{9(i|{U^pH zGO38lb;_NG)A04hf6c$*om^H>o&5}muZtpiw9a}l%*GF)UM9acs^@?EBrI!9E=c)knQnHWkF&i~eo8Y} z0Y^cP1h?~tNvaXP-%x%c_`v~v5H!{T#^<1(<<

    ;_waAvZwXMX45f8r^0Q=`HLo- z)Y1tOyT8r1E0c=#Z6Y2D-KT|Cq*y6q4S8)YY|6VSDFcV8mU?7F%+hE^qON{y z(Zvoo`xF+Y*0MSB8X7uka#B)qa&j6*N-_%2jzB>}os~>RLq(hOB_{k! zbYxT-9TgQFEnPxbe0*$5#=cOUaTjax$%qjivlfblSsI%HJOH!I3H2WD zdSi=yZ>&ktN0^mqdA}z;VJbiy^yQq>R-|poybCHkg@Vr+Y1zn_PkgR+jKAMNqDQQ<8va9iFd zyXTR@F|WM*0Z0A8(I7wyNg41?hs8=Z(q?n1HwzVS6Yw0lF_Rs7MW5>?0G!$ao~+FW zplR?2{J|fKk?FvY5_blia5+WhJR3J}T5ynj+Rw_CYEzuUU$u;8n({jhT5w)fKNH-%-J-31G6dkl z=J(($r|M09&*_HoH}3gFD|Ph?%5Qo;{5$}#fHcUUCehE+kwd75c!Wnu{@;6ML&ILl z$K%rhTES%|Uwl$em;%8^1V9SbO`Xtmj3gPpo@mh(d0bK;augou+xWYz=n#%t&A^pT z@Sa5kq#Z!%jzo88V*lcvp17g8V~BvKRPq6lY4NQmm!J)3_ZY^g=X9NRuo#f6Wjwv5 zXKA;6po3#t2F_vsEifb_iAFVMYId+TG<)}fBZG1cN?qlpiE7LKJo4-y&b=)IU%rnoiyEl`sWF zG!+C&PR>r2-RgCH_?eUr!fI|VUgiPA(=s2lH>Ggk0sINCC!b~ZetUg zbEL_20(GQ>rDwtu&j8q;e!5j}%=z(0qbSbzj8h=yNA!kTZo*>bw9;b=!?hq7#m z&7@7D7qktUmD{ypYzwO0mL>dlZH8n8KJmv?wOTGRLY2g~&xj2-em@_%1D*k>D1s*h zIMu7>Y)!Yq%SJzoG%a*p8rIA3I1Ou^vr$F_-XZ{Qh!Js654Cd5%k%AJ{AetqU6#%A z48AHuKaE@MA@0U!kLJ2t3PxN3h`bPh)U5;f$Tft%hBt2odhEai`v+O6*iV~iyM=U- zGIw>(?6d_$fRkMjStsYxh*t*6)!v5Cwrkd;le*oo?;ZxlB-W^L-`6Zr>pFlfYX_xr z>wIBJegf}TF0ZYsml9n90pQ9*W1aIz*P@0!N{e!pzj0G)#S-2c^7+dKVoLzIZMkPi zuwkmS!&@Za_+2fILCHmM$VQv77<|rb@A+0lxsrH3ze|c39Q0js1|k6S+0hO6+Edvz z$W3=?Yk80Y%Eq^9G3U>QVudMF?>o2p3UfwEhCZ!AFKQNCHk3<^UQp!HjYzbnepr%s zPWUXJMtK2Hvepm+iB-m{AEQPEju%vi(joww&?GHTE0- z_NsJ#>5I!xyb1b>v$0j={nZLFTU8-^OM%b;IkKrMZ&{^$QI?n6!kbyXd?WdDSW~Ch z$y|DCBo5X^$SM?K66M>7j;%Pi7PBt^0@v%WwfOzMGQ%MUttN~35Q8Qm#aCU(*^lo{ z{VMh#uetrCf1y*Gbx*qp0l@6nd z()KcmBDHVd8f{iM#;dSzYpSz<)LzXxCgGwEv7ThTx>aJ zy_K1(Sfi<^fEXrmXu^+e8>n)n-{*<}22G2Kv}(ea^Q?NvF^@-+5(|rI+u90hmEe8m zBzBjSbEKQ)>HX&A?y(>%3&L$2c8d`txj508hvw z6i>4&;K)==+1U~wXx(qIkqh(3ef%kYv?L)K9c4{72ZWBf+xycsS9*VDPAcl8(mFMDs{%#_+wumUh6!x-L?bld_J2eq8<#D zj6Jl&ky_O{V5$JW3FsJH2SO_IQ5ulqQS}F$s-;x$$;bg2&H%btVldI0@ z_a>5NBLqdyVfiZBZlEpuWzCGJwb=mY1|_i!g}}X8R)z89EPQM)k0Tzl1F`e2K7Bfnhb^s=R`tyIID2EJ}kta z&R5pG*nGCL*;46%D%75(Mawp-C@w0GDy~;9 z!h{4b7KqI~Z~;2WB;=Z7ZmB{0Hb9U%c{Lp~HWS9@$S_G29(oj%=H0+a?UwQKBhu3al zR0-yeX~S9N`1(!_4yf|08hZ*I)jl}_AF(0rzG_i-`6Ac%)dHDkmV!s6b^%0Fb_3QB zal@jXfq*-;#%WNLyt=Az6R^|Qe`wrt+6qd_T!7FNN3D)6%ieAlRi%ut-4w!YdrrjJNc3>ICbK5Wf@7u z(<0T(Yr#o?jO6P~{hX!o<~ozuIJTE>e7+Ixd*cNo*Ks-PRZSny@F}BY`7}qjxQJPI zQGy{>bYkFv$bg0RjfhEqCR~J(og*mH98Z3te*di)&Kf*x(K)8KZIf&a968CBr)#xz z*r#_}%2HveIw~5HGy6Og6bGx6k2kwN8c(|JE{pu6wC~1#;z|8gR+3a#*X-PIyIK{@ zQgX}acb&NNygj2hZEs~d%VM*9?)0P6ME~rG{gUp^ysuSi|y$-ADVJe)BHDg zomYWF59(8L;Z?hclSg$h7p0}N;_F#j)3O;_dRZEJaBKglQM1k~B6O6~f=GQM@kg4h z&{i)KvC~UA71L5eg+)F>O(rpZ!eC+Jh}&Qz`4f!*5~pH1i)C~e#I-RYhbY+(@rM9x zivBlfQKfRadQbg_hLou1TUk^`l_bmFMw@PV^ktueF&!kTZem%|i0buQU9RNhUS81>J=onaqC| zTq0m?{zHW0!at0%#}%Q&w+tCaSs$BiQ}aV+)lP)E>dLS1TCD!ZuJD%RKX>UTuLT5< zkj_Z^C;3T1Qvw}b8aWLu^|z?7i0Fu920B`DDl$@XQYu>d1(JT{K`y(QHd_HsW2Iy3dS`faz{(UZ0$oJHxYHcT&olEp`VakUfFK1QsDeavE7f7WNt0Cs=a=$DfpqsohX9~h9p1-WZeT*nXdP1XME$< zQ{U>z@ozY9c!Y~1*ZWY#KM>A*0F@6)z#Y$?wlk-kSRowKQM%*gm{=}eM_(^APqi?=xgvN>2%!5hMc$N%JHzD zA%K^uFa8L04wgBL5<0lkcUU%iHrjK?nJIAkHTF?QRpPw=>`x^Crc;Pdy z?W12=;aPUGlwndr<#}3qz$i-0P-zt#=pAlbY? z)-OcC-HopC8-dOne(p*+(2CZQV8d*JVxF}uprIsGA}VwrQtlejI9Hx7aT#W{xid&A zg7I4F!r6gK;^NL_+PzTxPi6Na{ZDo~_0zC7bvVDJWy2zTdiAEZqE z=ps{03O&Hm%5VScj*4P1(4wb{(wmPdU%wECOi-!oyzmvZv;gF^b@=B@L^EGg6{cT| z?0K~5H{;xT;whCIM@@{mK!++h@{{RO&@|%+3SZTp5}ZoCdLvGPb+*(+SF%JLiOw3jP8G)yI&AeZ0Ld(v#yo%$FvK0#F(cROm9AygA}{w;G&!VEz?&`xV8d?6*HH8B4`lGn6PJ8E4rPF!R%i zG>p^GT9qqv6sYmTg`DcG2iEQBdk;O8a%LUmmBz~fJZyWKOU z5T`YHGJZIi%0$8iC+ME-5x1Q|m2XrT%sQOtDVimadDG^;n1AmI>1E7kHoy4r zQxBKIqZ}cEY05te_?^P`H2pckRqv0f#Jmto9uU(;N=ndE_yF|xGgi?OM4C~y^*Nk4AEE&eliV8WF!E>zK0;#%7wn40)c z(u{HDx7y#8zw@l9>cj~`X)yV@={D#v*n|0Wn%vQ9aM_2>mLD^*Dv8ADH&U=>j>HGC z5AHQ7VGeL;kB>-*B6f~B(-3iEeILvW7np?pj0*`DPzc%JJW3?Jze-qDEoxRT&JGi5 z_C8S)nc)yO6u!J%z45aY2d{@ya<_%o*hEZvht_6Kt26HX?uj&|YN(c#AWVh|BIrtY zFywX}7`*xAbDY82vUEE>rSNo3uZGq8TQRBanF9pQRpRp~&~||cv?R5E@0dY1jmZu! zy}IDn!_M<-VMC(UzxTFrpNCKaJJ0HQv)ItbNshNA2{-TN1PsXpH=D1N;KZTP(+fe{ zcT-Yv(!gkS5f`-)3r~lVltiKey^J5gxy<@#l8n&~WVHZMx2F8IG3>vp*!Fg9WFE$U zddV9{ADDMefv$tYKVT((6X)V4#-;RT*Gtc-KFhJSVuFYBjRfd&gbpaeS%3-zZWR5& zA|AUEc_8b8xFM4^uWiTqVFS~LDT zb$Tl8nzkD;YUHl{@%b{MvBo)mOh}>>(BeTguNv4qFI;@n(>5YDvq@WVTOy8}W|vW! z<67&~c1*+V4a=gx=L^KHc~l=zo~;eNEw-#4qTS&OVO<{g`1!Ys#bZP_0aZ&dwQhf5 z@Ul=UcQz@>GNbSr;G3#Hf^+@x1Tm*i#INr?*8RsNMHc|=^&PT3zndH95ZsH}u^b?Ku@$j?Yqp!W^+zVpl(ce`T$h&c=4G%&%+Z@Rnhw$n zQyx54Iu~7d?m1Js%~lLj&BcjmHol{QenS1ydiOo~w;^y|N}1R)c;t%1+L42-u9xf3r#6Ux467r83U?_p0dqp+6t{6YmWyW4-NRH9MG0 zV2o;^R+_T@W>KeNGWTM;I|SdHJ8CBQrZ1r{RcLlQ05R$+a;!UX78%|h1F?2Ky|zp@ zis$T_>^(2e*S>TB=x)^ls@Hb&pJYeMA>;s*axeS1u;07lBI7hIsVbLk^SjHhW=wBM z8yo5LE|xsHNa->G>&jc+eqzlCK$cbWL)1qk(c=s4w*l`pWHot3f`y5(MG02e|#W)#r>+Pb#xZ0GXXJ2yVm_C(&6P)_kh|Y2q9*%$vcv}m_1&8(__FPpX|IrY* z<6M4!lMmi^rPLGN)NrMiNJn+U%%(W>XvFt`y)E!U zkbN)x7E_@D&v7p*S|WtdA#H-*vTF$YM!`mcav@6M;;2;P-(_d)fP=Nk)4^$*VMr zzV~}=d;BZ6aTj&B`wn%3>$_fLWKFGnRyb&$-$+YbzpO9j58MSCt-|=$kEkRq7vgrB zBTB+Eb5Ey+RkU9G7A&)!U-rYqe~Ww#5s za0|{%Jh{J%tsF?PtETXowC%1#Ni+7JoFdUyMqyXZzqX7f2jrsHYTy%Wz9CG+dY+$D z!Gj)h0%oepEtbztDofTJxg)9RMH#jK%6&*W9&LckDQkjZ}6?I7l)S>0Pia@j2mS*t%XY}n+?&mU#JH# z#$h>bi<5Chj`TN9jtK!8DUsIulgJTvfL0O9!{MHsSL0^WGCs6tBtB8Wi&lL}Z(RJXNx!Dr4 z+0cSqf=AmUZjyX13Tkp_;&nAsB9EfJjcI=9ZKvbsO40INA(g06!ZcfC%TLpRZlh+E z?GlH40Mn}0`Fr;rIFKdbw705zF4E|K2*{=%UY{NCv5cy3eZlnMP#8U$^er6h6)JBU z<4%AUZ?};F z#K)(JnhnjnX}Dg=;*S{=M5nctOAm8o>|3ZmfaZo&X&; zCgiQqCm-jl-==EQpZWIt{`zh_oDD?Z=0w4C=FdFJOER!Qprh4 zR>UUXs`?;L#@>L_3vSCaf)AN+Jlbn(EfN|dQ2+WCc4gMc#630fFs1axxBCT-oz8p>wWNM zspG7KOt7x}?C>)zIP{~|?}#cpA-H^53EV8cAIaeEZl#@E8-HhZQz_FZPGM+2yb~9z zU~a2$+$RA@!_%kPejr_o&C*}iHNxhmNvJ%SwUiaqxS7EZ0P7mLr{d8G94lIOh4rqfr-E3o5gF7apBC4tRd;5wS>#NRN zASJ<@(ie3Dltz?AN7^^``fIAJFS=I>l~|qb^FO}*{j(tN_6q)7M&Na$Jni8$9RzfZ zJoE~$d$Dl|GT*C1WcICeyPPsTMo>rlKC`+Q(R^^xa>!xO>agX{e zDTgDK)FT)B8|QPg+)BxiEARE$tb|#&v&Q+Gss&nuUahI`-PRn&hH42Br8)c>)969p z#p7kZd(0RKWjk$0*u1{SiRUBKPu$Yrv-9lRl7$!rk(wu11#mWY7=Yl#5I0%Ul5 z;c&(zCdPdUOO6Z7~TCOq>^vp>k`ANm{tNGPCe8Y0%9A?F6^P(r}gLMJ{ zm*DLjsg&XThS0lLKKN`Zjbh#N3>cAc$*tq6OE`g|n1vt8{BR$j`XtGtyZUsg#9P0- z%jWUZoxG53YpVV`?G2&B?4*1x1VTHf^G%(>47+G@6{t>l#+neG;^FB|F;s7p4e{wLg2E zR`Xpel9HTCc=?eW%%svO>SijAGoo&99qKEJ8OzJvE?0gfSYgI1BYo7K(JBt(_zY8| zc}bnI(Zm`3$8YwhaRfmb=-*Q8{Aju~?j60SQE?Z}bx})=1UwY$o4?wFxAyc`*=Wl$ z=neJE#f-%T@)+~LE6EAZ49kbDlGwSxkz|v#-XQ(VN!c|Ku7uiX36F-AB5P}gZTR~t z{ena~t(wd~ZW}F~14sF%GD1$pKL(Mp!=`{8K@HTYTM5>L83b*wPLFO4^$3kNp`UF_ ztxPjJ(urPS6t?1ccIlsPt4arEkEw>8jfPJPre6ZW3yVj_C?%i#-c#Ncu)_s6R&z8x zL&-`}e;Snt?(lTfcJJM0(;-@hb|}qU4{ZtQxcJW(%Nj&3J1P^ox;MjIcZ$@Z~fqm^wUq<}o!m04#)&nc^h|y8V`}2qN4sX> zW;1MYSTy#mGtKJ&|MbsY&-2vJG!=K6@1N-{i$JxCaLLMz+^!1fzOvF9-WOn3*O$2k zX!qrtU~XYbk{3f0AuIO}&nBZCist=Q!y_wG5!s=G2BUmc>;6aah!~$9A0sb}>KSF+me7@7;(1Y6 zuYXVIw0SZqi>6Ix9EYrFNaXZ!hELXeRYp-<8&@}3`_>WuAtWIq_2o|VeBkC0j-c0@ znam=L3PV!j84T&w$%ugJcE7sbE3{|Uz3^dQXs8{c7B09nT8AUAO0nV<+mLCH51@!w|+0M7e0k#L#L1f^%2 z`wW2^fO6~6R;`D$q+3r-_?B6mXo?FOu(aQ@Z1rB0LVU?hg83WiS3VOYe^N+(%oQpG zAouX`Q;Xq{F?Id=?#d5pd#9gfFxw{lnyCDRqLYR$4XwObmYBjU2lmznwnsx^;$Mrn zbwh(~auEJ0bSAM&ux$A;fQO^s1YoP`_!5hC zk=p4)GVT_abW{bDk!gRAC{e_a#PAMeNl-#HB>2E9_PW_z9Y+O@y^p`nTRvNVth!HG zN#kV;_Zt&qr{H)m$kHs8KE|1uU0ox?xtP}8!jvK$otOtRm{30c2D!^EIJWf_4R=vhmz74&i{v~ zcMPknf8)M)ZYIox$@XMhGud`KW3tW3w%uggc9WZI+jc$c`XA4I->>RL$I)u<)n4cM z#pg#MqB%URB7N3}4!h)m4?$trqx$(^e$iQ-Li; zUK}7&(SeF}T8JAQ<)>xq7HKgaU1kSXSt2aMzIpGIf@mGVS5wN##(frGM##(m*f%a4 zt>S-tF3S^|FDRY{DQ94UY>7mmK;7AmrigvfH54uq583$=#dvYvykEcNB)dj21zD{4 zu)h#V-yNbP?5oiUGjQthsD*M2N)h&UZoFFQUNUiR;-D3hk3B2D{=u#iTZYvs(SX%BBpCk1Uv7#5OlfvG2S@8WJ;PSEY zBRR!ySaWuVALf`}I)`%K=s;O*9jgc30Y4e1z1L@m98T0%1))q@XRhc$pu-zB8D}i1 z$5sikuNLJRCvWEn{8D4D2Y*j1Er)arNWO?6U-sya9XruBs^pD$22ZtuIc?Ut%x>MW zgq;YvP@pZkE{2YZU-TxFs9(Y0$}I_Nm!R)Ra0~n&pgQ{On#&)CHUrmkP@VQ5Z}W;# zWywn7o$oMtM!IK9l4f@?0UGOLJd!5oD2*UZ?C9kG-Z!I9w{(aZgwX>e{QI-B2)VN#_6cXU0SLt{t;B5#x2_zu61_yQ~ot}3Vd0LV!bx_ z$QN7w^GCYR3|ptT-WF zmBmzbCqC9Qh1i5kK}miPe;a@+KrECXP8qKJ+qz=#{LLf`iV(PMFTW`xqvK9uAS^UR z_a1$KI}-V=_xPjapKWz(@$ERd&hp{H&tBQ_x7W%C#|@2pQC;2&G(+$`4tKdj#^WeB z$Kv$OsA1!(H6G9_NyW-A;eYQaoe=cM^3IPpW+g|6Bykzw@e`PmcsW$yg65AiqYL_4 zdpC&|hAAM(&ScLSkO+^ zLu(MqK)p>5Ihxop{fBzfEyT12Qx!vIl5uim~n;A5&3T4yRv#V;bmM^&w;W|4xH z0{2(@S3F(&^3#-D>oaTtP97AX@U(%>6Z6Yb)e!b3WpziR|4|c6zkk{D*d1k& z-lK9cIt6K}16g`p!Pmd-=Jd`hIwPZT4FZ*Q2tzx&CTj;v&HOlNrT9bhTg#h-DTg1A zCp%(tZ|@urW&^IHiPQOPI3^j`F91tu_nlqiU)gA~=Z*To(1+u>UMIRl$x_<3(%+#h zqh><9puZZjGQZ0pM(1nuLC+sTPTIRqBgnuq`I#rnvkO3I?TF3dLgHn2KD~SGg7eP1LSWi(7YM~yCOj3mI;y! zL`2AQilS%l5{-QBwB(UWtiifO+X^rDQ1zc~Y2&_VKG78x;8Byx3x@>#g?5e%h@rCs zV}Xg_V9L)nI}$g0+ZR*?)A~xuX#`IQ+70oy^~)&;EKmliZ*pdxCJUJ~8hYBmr;eni zl3`W|bdB-$pdut7qx}Mb;Z@T7jsi~ zDfc4|SqKHwVr@e#wP>f=|HrcfISxqJm{vQ0@)=}QFQW%yhnec-+j*ThD!@_GK&Q0v z6H=;No;iMGfY3G`1NY7NIEvNhz{o%{rj(JYuZ-@kiM4+liQXx-;QiH8ayayI8kZ@=sD;1KJnfgUOn`Ns=6SV_Z8a#IN&bn3^vkg8>< zs7pii@Q&2Ojfe~Xu2dXX8tfCk*$@lE_`$^kU^7_$PbuT%|4A0WZUG9sYGtC2jSUZr zhz*NOBL>jFj>_B~?azW@LPH9MGM`P~G;SaD=P6 z+UY1p_;oKCQi_dL2gKjXHabtvs?XTo7I`o?Y%a!&evap9^R}r}vkh#=N5i6++Z2YP z8Va7OI2tLzHvf7eBB>)%Clp+-WrodEi^hjI5=lS~r_R7{<;eBOmH(K1-ya`E^VLh_{fb-7-f;r=D5p zXFCnf5}`m0(qrLIbEd>m+Ee(|=cPOBuq{yy6J1H7UOT&@>trIN@{+FJMdN&7tNDE? z@L4MzIz!#{JzdNs7Y8HQj@C3DQ7oLK5&@r;?SW!YamCc=>rKbY-Q2O*Ms|5XWMR#z z0OR(6->tvixR%)buP6U=`roQQC8k32`3Gity(Cqc=2P4&aunKJE!Lb@M!1fuHKap~ z=+>^kjKoRR`dc)18Ek0jwhVx@S`H`Z5+ThTZ+RVE&Nw0XM>{GS0_M7X0Ca}Z7YO?d znJ6$qPDyh+2SBo^?s`bl!9I`~W87_dph$C%(lTCd?z}-$ejrnQvTnMX5A;T*4S?~j z|Ci>xDsQ|=92H=gT76HVqp`pm_Pft=@LXxJaQpW;AqJ|Ux9hoOF7EV=^CZcJ!J?9c zHdT`$fsO>aikiLFnZ_)`nN*G&H|046#LSkJbs8JGn4jj z_i=o?$b9bCxAkKQP7#X82r8Qzy<6A{F1uP>OA$e~Pc2jem|lH>#O<0zbI6)}0qZyVfv zYc-48>Q3O&va+IYS~8~BZYEBb`VZ{sJi%zxQ2 zBMokdZrL(Sbw=d$l*GFp95}>Meg=DCrIXZ^k_JRcyoP&c7bD0!!KGtnhALSB7OUD;lotY*=kW#Jc>qo zA|7s8-QbBg420xt#N<%ZJ3lzpu3}^!RiBuAZu%{(nOiz^|8aFtU55Yt+;%Fxs@rP1 zMVV_o`?p*5?Y1@j`%gVp+V?MkYh6U8VTaUB=vmtQ7b?HHe=g&0Hb!fP(fAq5A9uqB zf2a9E%I62GaOxV1ql)5~*FRl6+H+wA17ZcLR7i3>fVFWCVz;7-3QT-3Lce2|DHW&;wMflM}1@6{y`iZ$0q=7;M&+B^03 zNoOZ4$IF-L-Y$O#GVg5ThamEzx@u7~L4A(Qic_*{@zIr1~{#OV}gVc*TCY~Ol0`rw`f%!8mov&cDvhjVfBV`u3-`LI!`?d^#IOss3>UP#G6nqm{a`j;|IEaI=GF3S|U za~&@~IJ-0qbQL-v^nnY!^9OL%A01XLnR*yraW1Rld=@-^aL0G>RJ7iffz%%`-GBzY zCL^@iKR0M0cn8Ya^x8|+gh9_FxFG#!_sTnWhg3=%k>L#)ZgsIVhsmZ;m#g8iuKn~1 zs0K=GiDwX%i07h;sdMw%BPs$DS#$ldb2|f0Pt$un9}ytwy{ich#1oLFFGM#BDAp{O z+&KDn-%+i|v0r5+Pula4bbmbUGf3F*>XbqoNf2riTmB4@2<4M}1#2akMu`UJK6QS1 zUqCk6?F|pOne}Z+0!;C9&Uq&tCO~YU3kV(w&$sz{3n%!SAI862C|1rYb-b1NOF+V4 zZ3nC@XAm6`hHsH?Aj7Z84E*C|nfaaN_tJ#F>1;Rd1Us^PxBxsMk)|T$!;Um5sQS~# z$6VE^9iOhiV=HCj3CqEurRdLP6%A~pT##?Ds#czr{hYI5eWsK^JUiifP*CrX=&fy< z$=0!nb@8ER#%)Md+qB=liUMrfT*eP;h7fnPLv@+IuaqL+#6-cvXT?#$PU_^H5y;Uj zm5cJdo|1Rm#2I7>vDKv^%DRjtAT zXk3}l)&KguXv8rdy30$ufr_}ESS_!*^RxRh3#EW0!QItjT|3Tm_JQ3h{WEJGW7Nq^ zA_lL=T)^uX{BueDayT+h$6t_7$#Bnv#XJzx+(w9x{UinZt*%V6ZH*cVM!B@p(3!%#x_EP31r|Hg- zFZ&ymS&9zL4gx?M_e@@N6AqbOEsGn2^K#K?<1b$i-}+43Mv<~uuM!y|nB7S*Ok0@I zHv-d6FKq2>vKA35bQWmo9cq5uQ}hY|%Y)k2PE}L1%VIi5Kw~sBiZ&|!RtOuh6udsr z`Qz?5Uj$6>Z%<&C2Km?o8YsxDO)B=zP)S0gwWP;OL3*qYADUBN4uU{}UD@DmlB0>v zl)7yG`%Y=ou0Y(PBAX?5OKz3qMnv#3rXkVRoAf&7@q5x*|C!Tvsk+Y8PA9$2o4;^!hvJa{r{N6^ zN;=M*P$a7qB2Lkx1PO*B_xNE$mv929_8}vh=ZYjEziQuCo`EKYJI||$+UfNh=`Q*s zf%@mGn-$XaGQ-^(x%4(I$BDcBIgCFO!`6ckYcGC!wN8RvR&EF1vdVtmIuhZusfu3b zfRu`w=0Lca$)1#6*pFY1)9-AOZGU3xX_>IC8y&@JyV?o{A|cOUAEokNl7rCI&RP(o znfGQ=ze4zak}yb59G%|q;<^_VSxUR|c=`?^Q?g(GH2Kg~OO6g&Z0E#sk7ks+jln86 zzVPYtVh6G660QlL;|c-*5;;8;nUMei1FeRGQM|)19*GYwljab-8&(4}hET}JmE~06Cxf{&w~PeLFo`Ks0>1R3c&y6xWLwbc(S(y{UV1lyFy|M zgwMth>P1{K?3Zz6^;Ix+rT`Ux^CdW9eAg6PTD~3ACVm#s9Ne&Q&-31eWL;yr#e`?z z=_Yps9%_)kjOX(*cdYFqu)QMlsNNXD<}yql8V1UlLA-l)r53KsP$8fkh~ayFbj-+` zU!MC)tyMq_{5Fq%RzR1x<1aph_Kx9k(Lom-! z7bQn!_&_P3)dj9a(!QssGJbsWy*leEzP>2T-mZ65G^y$7{Vgkl)|v`z$4477r9~|f zPFep3O))syIiunPwy*&dThsStmT4Q zn!R~{l6b%pnn2i`n8ZXJ<;a=Raz%&g9_73hpoLN~6}k(X8`R1doBQiT6mLhsYw%n{ z?HPJ8K?DiPYL&Uc>JLPQMqB?7(@K%sa9~UIC!5}lU||IGvwZ?)s2*7>A0EuQ>sw^M zCpx)}-{F4`AN9B9B4+QRkr(8?(h($fsNJ~hemfusHChE#snnX}-sm?r3Ex!@qYcr} z*XgTf;bHWwo1ap%(w`r%U=y6&6zF3^9#v_|gY70~z?8nfC=BiWcy4hpiVnG%ut4w2 zR)!WbT|v1gAJ}7}(=TlW6Uft;HDl(=fK~i;^;cT{-K{o)Or7-Az}v?h-p>4uHk*6d zXhGv>-NG^ ziV-;>VnJuz6Fg=^mckHFdbY(%M zKh;cK8uRw|hphMIS4LG-1X3#~6%Qa37W{<0ly|gR;6K$~D4RNC>sj+hT&VxO+U=GM+WLG!hl5yB;NYZ`Fn6gIpHwO;$4&UY zLH>HpOLHqC<=5aTyfoV-6WJA}jq3Jauc7-v%z;GD>$BmSIN3(+o|G zp#%RcC3D;6H%!<;nx{ADjDeiQn!hnMb4%1z(qAiJwZ2Me{J{*zC;$^4 z>dTWH!VOU zASa>#GzwxOLNZDU09;9kM@~tRPDo5nla!dMTAJC|!06PG$lL?^fFpboankWr<6^4e z+4nmAP97u3k;MK3_$53OP3As>W2OrN7PVMEscnd9?cd(4%9WYV4@VUa|0uVGli32A1JhpA$a&F!V@l}r4}#Z+WQZ2E*DmDMRl+9u3= ziNPo)X4_rR76|v<7tq?!Sz5vX%Ui?aY4Lw!;w$v9ID-SZ#K_@sr1^gNqF^Xo@jcN@O>dcrqA6|qb0(p&G|Sd zW-}d>4|3VhnQ~4bEQJR z@|4EM5?$j`U-o26_*Bl|uU!3=p(C1ed)Q)#j^E#W8a`!}@lhmiLrF7!{$iu;LZNtv zw*^H!>cw4G?*aErpn#v4W5(av{6)KqCKxHwz2O|HvjsW=$}qiqIoG@gqX^v zD@n^5-{>j3rZEKnW){M0I@^3UWRryilEP}3m;zrrdPWW=?VwSn(8hnmch~aEtO62Q ztEa?>izZuJoJ&${@}k$P#A=mzn9D|XRI_(R=IU$whQ{85FOVgpis{9Oxx3bluK!V( zFf{XlU8g&=cXsq~=NP4pnEjYJ|4{V4Hz*f;!L?D(y_X7%k&b)vz^l-XiY(HLqC+X; z)N6`$)+xMBYorf-FE0ozc0}?DE5{y)IQ`l~yrTK-M>l`)Nv)1M$@ZMRsU`E1I7fVS z+b@Ey>Wp0|ko1P77h$E3G(Mp3cYTz{V3WSZD}61@QE=;TLIM6m+;FqbaWQLRK;6uR zG0%cnEu2I8!ktV;$n9{@N`^NIu9Z+&MzkP#D8ae-dX_n%ChO(yetOqCVbl{?bS>}) z5w8sdka>lEWRabowfiZxcN9-|@6&neA+}U!imU>~swKCzwPg(T6=ciY-Mi9<^4>Ex z`Xp}I^m;DGk$x*IG>s@IZ``^vwikD`L$sklrGs+D z)3u4+UxU9DjSYS5E$x^`Z)m=04QQ4Q{Dpb{P5zEzM3en-efTv|7<@c>PYkepzSMEb*>w^~A=r zmEp-n>_)(Ix~RWw}nrqju*P=^8$$t`8VW<-Tn&+_k z^cgu)C!eA|Z61E>Us*|af$2=UGemrcvaFuk$z*`)X;)h!HT|ka4P1?-zW^+q#snS1 z)63tX1zkl4-uk$*1+8@&u{JpwW1QSL~KY`Bf?jE6~OH4)Ia z(M{0nVfYr(N2Y#2d%vrQKr<*mIR1wvl(I?&Gr;$nknsu~i!$~W)8zI^x?=mH=+wpO z@8n_7Gd~-atT~tTzM0s%8mWc2I0Pk<^#;LChiauXpsS^)skVag9fk@`iZ^v^a}H)l zkBmI&;>ngQahs{^hkIf|sO@r8?>2BBYkx|zPPd&WQI393olW0=J) zuEdlkjnkZpLyE7FhVvw4NaYZD=b+d@P@Q3KXp4&48Z|ga6T{Z^`aWge-X_`VJAT`a zETAoq*{=4NLUWM+;*b8KE#G}q$Cu^Vl6SVD$htYc!v1R+(#s97VEuKB34?m_zBok7F?9ve@fFd0zrEcu z@**yH*huaMqD98D<$|R$_EK985v0QnPWq2o$oTn9n@noN`6r?i9i-j_b^{3#}gC@qCU9SyI#AA0z!K0>25K3l?;Daaimg zGtb-*8^ee2{n4r1D9z~RDrRWQ>2#nE8O;|)1ee&W%~#4ZOu7&6BkW7^*>iem=N&bx zN0SZ}62MV(Od3MW$Vf2aJrKl}6zp@e%IFy~fIw4Co`zXhX-&HfA4P1@K6MYfgT@5d zbLujqJaguXF;CL`1M3rIFYCp%6la>W@JE9#qj8+Z2!ENPcE}Fi#GyZq%pBXySlVJH z3+h;kiQ*kIA^Tuyjfm@DXb4qiA?HWY@$BVZK|#vlp|>Q|v-A z;j3GBs&t^6Ty^4i+#HYnqq0#wW}M=bX?%&qU39*fI_?>@nu5op%a)BcRBgW#TBkbE zG^hMWcu+wrPR|4)3XMNo-5WF~7cQE-MzjMR$;z21F-XUQFFL6blbTBht>eYHaVq7g z;&Vj=kY~K(F_f0^kvJ6VbbsgYX}uU)AXK<{wMShT;c4(-W41@*bdlrajsE#PviMVK zd|OP4an?vcD7#O6y*>zcNGpNx#+GgH*Mpj{?J)Gl{SR&+M@xa{@{2_WU*}MJ)Dx~*HMP7d0?sNjp1D*T2#7lMH4-=%xUv70i%P$;{ zDL-t(NAC%cesf=}L}CStkaC^tLT5;D2>swKp{#mda}MI-0Hz=Ld^1?9kHp{CJU^wf8Ms4n7qv#6^6UK>7og2)zrHN(q&*fD?6 z6WlW$IqSte*n9HAD3M1k0;+~3%gKI$xEDAP1A$;r3@xosx2QIWcs-@7; z=GE+$Zna**_5zLtsgcA1OWXy)o#~vsVd|`mj{uv zB**NynY&PxH|%z$fFdw7XbR8wqsC7wG+<}pfNmqi#)5vf14`J?zca`Q7)K|d8RIj< zPHM?zvj|Bq2q~4!YTDde85TX6kXiM|-2f69@I&Szep}~3<9dqI*|(|+fNJyTsi8Ds zw_LUIfhoef#rU8AREkO2K${xAStg;*YDuF4#z|(gFXpS-T5=zkX_K-D=xRbfRzSBJ z=*Gd({wj>j<0Vc&kdr+6L!mvq5&=!NChvkv@ZWTTku%h`Bsm~_h1I}h?b=hNUmj~faX#KBy)wmIv;E8Ti zKT53s^&;q?k^)O3I(`A4KV|qUfpg3>;P_12_QYnb6D#?SC8n|uhhbZ%%ZsTG1PUvC zQz;f|0&pf(YcK|?`I#qY;66Ll_&fRejfeQ4k39${Z~ zL9yz#JELT=fnY!r#68_=UtZn81|WXo=}q5M)A8B%=70UE$wa}7D1?)8Z?k#EjIj68WY`r zac>&rH#RR?Wq4XqiP9nk#33KTGoQuIj%UA{)U)T-u-unpE#|6~H^j}{p2J!O#RemF zvqI=nD~0<8Wd=q^`8`L98oh~EYNK{+SCX$sy_&W(&ccL(X_l=!BBZNQ5Nd9z@}czC z4a+x<`p?lS$?Y0cToY}b2jQ;;SD?&Zql*_EzS@A#(n|v!x-;qu^4G`!N zP40H4K-E$=J|ZYyjo3%yC_pKm~SJQ5E1d4r1)=mNjVP4pSGiP3R0v!hO_@~(9n0H~$&XtF&Q zzIc})hatlux$L#aj-x%XL08A!F)V*6XVn#&3?!a`XwCO4|D@E1%P1keUNf7?m;D

    center
    -right -justify. Here comes a blind text: Lorem testum dolor sit amet consecutor celeron fiftifahivus e shadoninia e smalus jokus anrus relsocutoti rubenwardus. Erasputinus hara holisti dominus wusi. Grumarinsti erltusmuate ol fortitusti fla flo, blani burki e sfani fahif. Ultae ratii, e megus gigae don anonimus. Grinus dimondus krockus e nore. Endus finalus nowus comus endus o blindus tekstus. - -Custom tag test - - - - - -color=green -Action: color=green -Action: hovercolor=yellow -Action URL: open URL -size=24 -font=mono -color=green font=mono size=24 - -action test -action - -img test -Normal: - -width=48 height=48: - -float=left: - -float=right: - - -item test -Normal: - -width=48 height=48 - -angle=30,0,0: - -angle=0,30,0: - -angle=0,0,30: - -rotate=yes: - -rotate=100,0,0: - -rotate=0,100,0: - -rotate=0,0,100: - -rotate=50,75,100: - -angle=-30,-45,90 rotate=100,150,-50: -]] - -local hypertext_global = [[ - -This is a test of the global tag. The parameters are: -background=gray margin=20 valign=bottom halign=right color=pink hovercolor=purple size=12 font=mono -action]] - -local hypertext_fs = "hypertext[0,0;11,9;hypertext;"..core.formspec_escape(hypertext_basic).."]".. - "hypertext[0,9.5;11,2.5;hypertext;"..core.formspec_escape(hypertext_global).."]" - -local style_fs = [[ - style[one_btn1;bgcolor=red;textcolor=yellow;bgcolor_hovered=orange; - bgcolor_pressed=purple] - button_url_exit[0,0;2.5,0.8;one_btn1;Button;]] .. unsafe_url .. [[] - - style[one_btn2;border=false;textcolor=cyan] ]].. - "button[0,1.05;2.5,0.8;one_btn2;Text " .. color("#FF0", "Yellow") .. [[] - - style[one_btn3;bgimg=testformspec_button_image.png;bgimg_hovered=testformspec_hovered.png; - bgimg_pressed=testformspec_pressed.png] - button[0,2.1;1,1;one_btn3;Border] - - style[one_btn4;bgimg=testformspec_button_image.png;bgimg_hovered=testformspec_hovered.png; - bgimg_pressed=testformspec_pressed.png;border=false] - button[1.25,2.1;1,1;one_btn4;NoBor] - - style[one_btn5;bgimg=testformspec_button_image.png;bgimg_hovered=testformspec_hovered.png; - bgimg_pressed=testformspec_pressed.png;border=false;alpha=false] - button[0,3.35;1,1;one_btn5;Alph] - - style[one_btn6;border=true] - image_button[0,4.6;1,1;testformspec_button_image.png;one_btn6;Border] - - style[one_btn7;border=false] - image_button[1.25,4.6;1,1;testformspec_button_image.png;one_btn7;NoBor] - - style[one_btn8;border=false] - image_button[0,5.85;1,1;testformspec_button_image.png;one_btn8;Border;false;true;testformspec_pressed.png] - - style[one_btn9;border=true] - image_button[1.25,5.85;1,1;testformspec_button_image.png;one_btn9;NoBor;false;false;testformspec_pressed.png] - - style[one_btn10;alpha=false] - image_button[0,7.1;1,1;testformspec_button_image.png;one_btn10;NoAlpha] - - style[one_btn11;alpha=true] - image_button[1.25,7.1;1,1;testformspec_button_image.png;one_btn11;Alpha] - - style[one_btn12;border=true] - item_image_button[0,8.35;1,1;testformspec:item;one_btn12;Border] - - style[one_btn13;border=false] - item_image_button[1.25,8.35;1,1;testformspec:item;one_btn13;NoBor] - - style[one_btn14;border=false;bgimg=testformspec_bg.png;fgimg=testformspec_button_image.png] - style[one_btn14:hovered;bgimg=testformspec_bg_hovered.png;fgimg=testformspec_hovered.png;textcolor=yellow] - style[one_btn14:pressed;bgimg=testformspec_bg_pressed.png;fgimg=testformspec_pressed.png;textcolor=blue] - style[one_btn14:hovered+pressed;textcolor=purple] - style[one_btn14:focused;textcolor=red] - image_button[0,9.6;1,1;testformspec_button_image.png;one_btn14;Bg] - - style[one_btn15;border=false;bgcolor=#1cc;bgimg=testformspec_bg.png;bgimg_hovered=testformspec_bg_hovered.png;bgimg_pressed=testformspec_bg_pressed.png] - item_image_button[1.25,9.6;1,1;testformspec:item;one_btn15;Bg] - - style[one_btn16;border=false;bgimg=testformspec_bg_9slice.png;bgimg_middle=4,6;padding=5,7;fgimg=testformspec_bg.png;fgimg_middle=1] - style[one_btn16:hovered;bgimg=testformspec_bg_9slice_hovered.png;fgimg=testformspec_bg_hovered.png] - style[one_btn16:pressed;bgimg=testformspec_bg_9slice_pressed.png;fgimg=testformspec_bg_pressed.png] - style[one_btn16:focused;bgimg=testformspec_bg_9slice_focused.png;fgimg=testformspec_bg_focused.png] - image_button[2.5,9.6;2,1;;one_btn16;9-Slice Bg] - - - container[2.75,0] - - style[one_tb1;textcolor=Yellow] - tabheader[0,3;2.5,0.63;one_tb1;Yellow,Text,Tabs;1;false;false] - - style[one_f1;textcolor=yellow] - field[0,4.25;2.5,0.8;one_f1;Field One;Yellow Text] - - style[one_f2;border=false;textcolor=cyan] - field[0,5.75;2.5,0.8;one_f2;Field Two;Borderless Cyan Text] - - style[one_f3;textcolor=yellow] - textarea[0,7.025;2.5,0.8;one_f3;Label;]] .. - core.formspec_escape("Yellow Text\nLine two") .. [[ ] - - style[one_f4;border=false;textcolor=cyan] - textarea[0,8.324999999999999;2.5,0.8;one_f4;Label;]] .. - core.formspec_escape("Borderless Cyan Text\nLine two") .. [[ ] - - container_end[] -]] - -local scroll_fs = - "button[8.5,1;4,1;outside;Outside of container]".. - "box[1,1;8,6;#00aa]".. - "scroll_container[1,1;8,6;scrbar;vertical]".. - "button[0,1;1,1;lorem;Lorem]".. - "animated_image[0,1;4.5,1;clip_animated_image;testformspec_animation.png;4;100]" .. - "button[0,10;1,1;ipsum;Ipsum]".. - "pwdfield[2,2;1,1;lorem2;Lorem]".. - "list[current_player;main;4,4;1,5;]".. - "box[2,5;3,2;#ffff00]".. - "image[1,10;3,2;testformspec_item.png]".. - "image[3,1;testformspec_item.png]".. - "item_image[2,6;3,2;testformspec:node]".. - "label[2,15;bla Bli\nfoo bar]".. - "item_image_button[2,3;1,1;testformspec:node;itemimagebutton;ItemImageButton]".. - "tooltip[0,11;3,2;Buz;#f00;#000]".. - "box[0,11;3,2;#00ff00]".. - "hypertext[3,13;3,3;;" .. hypertext_basic .. "]" .. - "hypertext[3,17;3,3;;Hypertext with no scrollbar\\; the scroll container should scroll.]" .. - "textarea[3,21;3,1;textarea;;More scroll within scroll]" .. - "container[0,18]".. - "box[1,2;3,2;#0a0a]".. - "scroll_container[1,2;3,2;scrbar2;horizontal;0.06]".. - "button[0,0;6,1;butnest;Nest]".. - "label[10,0.5;nest]".. - "scroll_container_end[]".. - "scrollbar[1,0;3.5,0.3;horizontal;scrbar2;0]".. - "container_end[]".. - "dropdown[0,6;2;hmdrpdwn;apple,bulb;1]".. - "image_button[0,4;2,2;testformspec_button_image.png;imagebutton;bbbbtt;false;true;testformspec_pressed.png]".. - "box[1,22.5;4,1;#a00a]".. - "scroll_container_end[]".. - "scrollbaroptions[max=170]".. -- lowest seen pos is: 0.1*170+6=23 (factor*max+height) - "scrollbar[7.5,0;0.3,4;vertical;scrbar;0]".. - "scrollbar[8,0;0.3,4;vertical;scrbarhmmm;0]".. - "dropdown[0,6;2;hmdrpdwnnn;Outside,of,container;1]".. - "scroll_container[0,8;10,4;scrbar420;vertical;0.1;2]".. - "button[0.5,0.5;10,1;;Container with padding=2]".. - "list[current_player;main;0,5;8,4;]".. - "scroll_container_end[]".. - "scrollbar[10.1,8;0.5,4;vertical;scrbar420;0]".. - -- Buttons for scale comparison - "button[11,8;1,1;;0]".. - "button[11,9;1,1;;1]".. - "button[11,10;1,1;;2]".. - "button[11,11;1,1;;3]".. - "button[11,12;1,1;;4]" - ---style_type[label;textcolor=green] ---label[0,0;Green] ---style_type[label;textcolor=blue] ---label[0,1;Blue] ---style_type[label;textcolor=;border=true] ---label[1.2,0;Border] ---style_type[label;border=true;bgcolor=red] ---label[1.2,1;Background] ---style_type[label;border=;bgcolor=] ---label[0.75,2;Reset] - -local window = { - sizex = 12, - sizey = 13, - positionx = 0.5, - positiony = 0.5, - anchorx = 0.5, - anchory = 0.5, - paddingx = 0.05, - paddingy = 0.05 -} - -local pages = { - -- Real Coordinates - [[ - formspec_version[3] - size[12,13] - image_button[0,0;1,1;logo.png;rc_image_button_1x1;1x1] - image_button[1,0;2,2;logo.png;rc_image_button_2x2;2x2] - button[0,2;1,1;rc_button_1x1;1x1] - button[1,2;2,2;rc_button_2x2;2x2] - item_image[0,4;1,1;air] - item_image[1,4;2,2;air] - item_image_button[0,6;1,1;testformspec:node;rc_item_image_button_1x1;1x1] - item_image_button[1,6;2,2;testformspec:node;rc_item_image_button_2x2;2x2] - field[3,.5;3,.5;rc_field;Field;text] - pwdfield[6,.5;3,1;rc_pwdfield;Password Field] - field[3,1;3,1;;Read-Only Field;text] - textarea[3,2;3,.5;rc_textarea_small;Textarea;text] - textarea[6,2;3,2;rc_textarea_big;Textarea;text\nmore text] - textarea[3,3;3,1;;Read-Only Textarea;text\nmore text] - textlist[3,4;3,2;rc_textlist;Textlist,Perfect Coordinates;1;false] - tableoptions[highlight=#ABCDEF75;background=#00000055;border=false] - table[6,4;3,2;rc_table;Table,Cool Stuff,Foo,Bar;2] - dropdown[3,6;3,1;rc_dropdown_small;This,is,a,dropdown;1] - dropdown[6,6;3,2;rc_dropdown_big;I,am,a,bigger,dropdown;5] - image[0,8;3,2;ignore.png] - box[3,7;3,1;#00A3FF] - checkbox[3,8;rc_checkbox_1;Check me!;false] - checkbox[3,9;rc_checkbox_2;Uncheck me now!;true] - scrollbar[0,11.5;11.5,.5;horizontal;rc_scrollbar_horizontal;500] - scrollbar[11.5,0;.5,11.5;vertical;rc_scrollbar_vertical;0] - list[current_player;main;6,8;3,2;1] - button[9,0;2.5,1;rc_empty_button_1;] - button[9,1;2.5,1;rc_empty_button_2;] - button[9,2;2.5,1;rc_empty_button_3;] ]].. - "label[9,0.5;This is a label.\nLine\nLine\nLine\nEnd]".. - [[button[9,3;1,1;rc_empty_button_4;] - vertlabel[9,4;VERT] - label[10,3;HORIZ] - tabheader[8,0;6,0.65;rc_tabheader;Tab 1,Tab 2,Tab 3,Secrets;1;false;false] - ]], - -- Style - - "formspec_version[3]size[12,13]" .. - ("label[0.375,0.375;Styled - %s %s]"):format( - color("#F00", "red text"), - color("#77FF00CC", "green text")) .. - "label[6.375,0.375;Unstyled]" .. - "box[0,0.75;12,0.1;#999]" .. - "box[6,0.85;0.1,11.15;#999]" .. - "container[0.375,1.225]" .. - style_fs .. - "container_end[]container[6.375,1.225]" .. - style_fs:gsub("one_", "two_"):gsub("style%[[^%]]+%]", ""):gsub("style_type%[[^%]]+%]", "") .. - "container_end[]", - - -- Noclip - "formspec_version[3]size[12,13]" .. - "label[0.1,0.5;Clip]" .. - "container[-2.5,1]" .. clip_fs:gsub("%%c", "false") .. "container_end[]" .. - "label[11,0.5;Noclip]" .. - "container[11.5,1]" .. clip_fs:gsub("%%c", "true") .. "container_end[]", - - -- Table - "size[18,13]real_coordinates[true]" .. - "container[0.5,0.5]" .. table_fs.. "container_end[]", - - -- Hypertext - "size[12,13]real_coordinates[true]" .. - "container[0.5,0.5]" .. hypertext_fs .. "container_end[]", - - -- Tabheaders - "size[12,13]real_coordinates[true]" .. - "container[0.5,1.5]" .. tabheaders_fs .. "container_end[]", - - -- Inv - "size[12,13]real_coordinates[true]" .. inv_style_fs, - - -- Window - function() - return "formspec_version[3]" .. - string.format("size[%s,%s]position[%s,%s]anchor[%s,%s]padding[%s,%s]", - window.sizex, window.sizey, window.positionx, window.positiony, - window.anchorx, window.anchory, window.paddingx, window.paddingy) .. - string.format("field[0.5,0.5;2.5,0.5;sizex;X Size;%s]field[3.5,0.5;2.5,0.5;sizey;Y Size;%s]" .. - "field[0.5,1.5;2.5,0.5;positionx;X Position;%s]field[3.5,1.5;2.5,0.5;positiony;Y Position;%s]" .. - "field[0.5,2.5;2.5,0.5;anchorx;X Anchor;%s]field[3.5,2.5;2.5,0.5;anchory;Y Anchor;%s]" .. - "field[0.5,3.5;2.5,0.5;paddingx;X Padding;%s]field[3.5,3.5;2.5,0.5;paddingy;Y Padding;%s]" .. - "button[2,4.5;2.5,0.5;submit_window;Submit]", - window.sizex, window.sizey, window.positionx, window.positiony, - window.anchorx, window.anchory, window.paddingx, window.paddingy) .. - "field_close_on_enter[sizex;false]field_close_on_enter[sizey;false]" .. - "field_close_on_enter[positionx;false]field_close_on_enter[positiony;false]" .. - "field_close_on_enter[anchorx;false]field_close_on_enter[anchory;false]" .. - "field_close_on_enter[paddingx;false]field_close_on_enter[paddingy;false]" - end, - - -- Animation - [[ - formspec_version[6] - size[12,13] - animated_image[0.5,0.5;1,1;;testformspec_animation.png;4;100] - animated_image[0.5,1.75;1,1;;testformspec_animation.jpg;4;100] - animated_image[1.75,0.5;1,1;;testformspec_animation.png;100;100] - animated_image[3,0.5;1,1;ani_img_1;testformspec_animation.png;4;1000] - image[0.5,3;1,1;testformspec_bg.png;1] - animated_image[0.5,4.25;1,1;;[combine:16x48:0,0=testformspec_bg.png:0,16=testformspec_bg_hovered.png:0,32=testformspec_bg_pressed.png;3;250;1;1] - image[0.5,5.5;2,1;testformspec_9slice.png;16,0,-16,-16] - animated_image[2.75,5.5;1.5,0.5;;[combine:300x140:0,0=testformspec_9slice.png:0,70=(testformspec_9slice.png^[transformFX);2;500;1;16,0,-16,-16] - button[4.25,0.5;1,1;ani_btn_1;Current -Number] - animated_image[3,1.75;1,1;ani_img_2;testformspec_animation.png;4;1000;2] - button[4.25,1.75;1,1;ani_btn_2;Current -Number] - animated_image[3,3;1,1;;testformspec_animation.png;4;0] - animated_image[3,4.25;1,1;;testformspec_animation.png;4;0;3] - animated_image[5.5,0.5;5,2;;testformspec_animation.png;4;100] - animated_image[5.5,2.75;5,2;;testformspec_animation.jpg;4;100] - - ]], - - -- Model - [[ - formspec_version[3] - size[12,13] - style[m1;bgcolor=black] - style[m2;bgcolor=black] - label[5,1;all defaults] - label[5,5.1;angle = 0, 180 -continuous = false -mouse control = false -frame loop range = 0,30] - label[5,9.2;continuous = true -mouse control = true] - model[0.5,0.1;4,4;m1;testformspec_character.b3d;testformspec_character.png] - model[0.5,4.2;4,4;m2;testformspec_character.b3d;testformspec_character.png;0,180;false;false;0,30] - model[0.5,8.3;4,4;m3;testformspec_chest.obj;default_chest_top.png,default_chest_top.png,default_chest_side.png,default_chest_side.png,default_chest_front.png,default_chest_inside.png;30,1;true;true] - ]], - - -- Scroll containers - "formspec_version[7]size[12,13]" .. - scroll_fs, - - -- Sound - [[ - formspec_version[3] - size[12,13] - style[snd_btn;sound=soundstuff_mono] - style[snd_ibtn;sound=soundstuff_mono] - style[snd_drp;sound=soundstuff_mono] - style[snd_chk;sound=soundstuff_mono] - style[snd_tab;sound=soundstuff_mono] - button[0.5,0.5;2,1;snd_btn;Sound] - image_button[0.5,2;2,1;testformspec_item.png;snd_ibtn;Sound] - dropdown[0.5,4;4;snd_drp;Sound,Two,Three;] - checkbox[0.5,5.5.5;snd_chk;Sound;] - tabheader[0.5,7;8,0.65;snd_tab;Soundtab1,Soundtab2,Soundtab3;1;false;false] - ]], - - -- Background - [[ - formspec_version[3] - size[12,13] - box[0,0;12,13;#f0f1] - background[0,0;0,0;testformspec_bg.png;true] - box[3.9,2.9;6.2,4.2;#d00f] - scroll_container[4,3;6,4;scrbar;vertical] - background9[1,0.5;0,0;testformspec_bg_9slice.png;true;4,6] - label[0,0.2;Backgrounds are not be applied to scroll containers,] - label[0,0.5;but to the whole form.] - scroll_container_end[] - scrollbar[3.5,3;0.3,4;vertical;scrbar;0] - container[2,11] - box[-0.1,0.5;3.2,1;#fff5] - background[0,0;2,3;testformspec_bg.png;false] - background9[1,0;2,3;testformspec_bg_9slice.png;false;4,6] - container_end[] - ]], - - -- Unsized - [[ - formspec_version[3] - background9[0,0;0,0;testformspec_bg_9slice.png;true;4,6] - background[1,1;0,0;testformspec_bg.png;true] - ]], -} - -local page_id = 2 -local function show_test_formspec(pname) - local page = pages[page_id] - if type(page) == "function" then - page = page() - end - - local fs = page .. "tabheader[0,0;11,0.65;maintabs;Real Coord,Styles,Noclip,Table,Hypertext,Tabs,Invs,Window,Anim,Model,ScrollC,Sound,Background,Unsized;" .. page_id .. ";false;false]" - - core.show_formspec(pname, "testformspec:formspec", fs) -end - -core.register_on_player_receive_fields(function(player, formname, fields) - if formname ~= "testformspec:formspec" then - return false - end - - if fields.maintabs then - page_id = tonumber(fields.maintabs) - show_test_formspec(player:get_player_name()) - return true - end - - if fields.ani_img_1 and fields.ani_btn_1 then - core.chat_send_player(player:get_player_name(), "ani_img_1 = " .. tostring(fields.ani_img_1)) - return true - elseif fields.ani_img_2 and fields.ani_btn_2 then - core.chat_send_player(player:get_player_name(), "ani_img_2 = " .. tostring(fields.ani_img_2)) - return true - end - - if fields.hypertext then - core.chat_send_player(player:get_player_name(), "Hypertext action received: " .. tostring(fields.hypertext)) - return true - end - - for name, value in pairs(fields) do - if window[name] then - print(name, window[name]) - local num_val = tonumber(value) or 0 - - if name == "sizex" and num_val < 4 then - num_val = 6.5 - elseif name == "sizey" and num_val < 5 then - num_val = 5.5 - end - - window[name] = num_val - print(name, window[name]) - end - end - - if fields.submit_window then - show_test_formspec(player:get_player_name()) - end -end) - -core.register_chatcommand("test_formspec", { - params = "", - description = "Open the test formspec", - func = function(name) - if not core.get_player_by_name(name) then - return false, "You need to be online!" - end - - show_test_formspec(name) - return true - end, -}) diff --git a/data/games/garage/mods/testformspec/init.lua b/data/games/garage/mods/testformspec/init.lua deleted file mode 100644 index ef1a841..0000000 --- a/data/games/garage/mods/testformspec/init.lua +++ /dev/null @@ -1,3 +0,0 @@ -dofile(core.get_modpath("testformspec").."/dummy_items.lua") -dofile(core.get_modpath("testformspec").."/formspec.lua") -dofile(core.get_modpath("testformspec").."/callbacks.lua") diff --git a/data/games/garage/mods/testformspec/mod.conf b/data/games/garage/mods/testformspec/mod.conf deleted file mode 100644 index 00eac30..0000000 --- a/data/games/garage/mods/testformspec/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = testformspec -description = Contains an example formspec to test all the features of formspecs diff --git a/data/games/garage/mods/testformspec/models/testformspec_character.b3d b/data/games/garage/mods/testformspec/models/testformspec_character.b3d deleted file mode 100644 index 8edbaf6377891568c248cd73d2d691f97c775311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73433 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%0D>Q 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 ZXpY6Y*b3|77Oab}F$*L6x^P}^{{uEY)gk}@ diff --git a/data/games/garage/mods/testformspec/textures/testformspec_9slice.png b/data/games/garage/mods/testformspec/textures/testformspec_9slice.png deleted file mode 100644 index e36a8bee574b9f1eb5874904ea234622e9a7d32f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 513 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 Gvf+Ou20{4% diff --git a/data/games/garage/mods/testformspec/textures/testformspec_animation.png b/data/games/garage/mods/testformspec/textures/testformspec_animation.png deleted file mode 100644 index b972e5dbbb6e6bfa4af0f88c5fd0b334f318672c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*#0(_!gymU*6lZ`>h${obivR!r19|LCauq;| zu_VYZn8D%MjWi&q+SA1`q=K=xmyzvofPl;YL-Q7J7R|DCy3l%0!P58QJq5?&Q|G*O zG@aP{pX{HR>#oC6&&52$k^c|ZU+(w8FW$YKlXvCWo>Oozp)WsLIcn0|rbC({Qm-GXhFf1U%K!QkoY K=d#Wzp$P!m%}>Pu diff --git a/data/games/garage/mods/testformspec/textures/testformspec_bg.png b/data/games/garage/mods/testformspec/textures/testformspec_bg.png deleted file mode 100644 index cd1e50900354b48dfeadd44e74fb2926399e96b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|%APKcAr*|tGpzUaR!o^Kd!Auo phfCwXh0MznLk_QC<8ZZMVsJcTmus{sG#03w!PC{xWt~$(69C7B7{CAk diff --git a/data/games/garage/mods/testformspec/textures/testformspec_bg_9slice.png b/data/games/garage/mods/testformspec/textures/testformspec_bg_9slice.png deleted file mode 100644 index 34433ac82a89114e0be99fd1f2a9bd1bfdfd0a2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv{s5m4*Z=?j1DUzm@pGrQ1^S1s zuk85)VwDlZ#9wlUa#$l&N{JAj2?I42-+ sp^kCwZ{`;jR~UJ2{Aw>b*38Vn&=V_}>fGg}0ko9C)78&qol`;+08XYmU;qFB diff --git a/data/games/garage/mods/testformspec/textures/testformspec_bg_9slice_hovered.png b/data/games/garage/mods/testformspec/textures/testformspec_bg_9slice_hovered.png deleted file mode 100644 index 01c2dc7776417e5de676f1af3579e143725b1de7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv{s5m4*QWpffy}y^{ACL#CncmG zZF}JfzhDN3XE)M-979hR$B+ufWCbRUMGS0gZmG#C2`UE;WISnNnc~Rg<- z$CIr$)PJvM6Ii@XZNAQ&DHHz9XH1dW$(D0}Tk;jwkivr*3Vht+4VzRt7>#(Pd;R%b am>Jr*nl%r6Tk;QRB7>)^pUXO@geCx|5h{ZK diff --git a/data/games/garage/mods/testformspec/textures/testformspec_bg_hovered.png b/data/games/garage/mods/testformspec/textures/testformspec_bg_hovered.png deleted file mode 100644 index 3ebbb988c2b4e7c291db81f3f15744b14bce63e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|%APKcAr*|t5!(ukKCW1&HlNW+ puyc~oC3e5VE7}5i1-dF&7~D4I&8?a!Apum*;OXk;vd$@?2>_;P7vKN@ diff --git a/data/games/garage/mods/testformspec/textures/testformspec_bg_pressed.png b/data/games/garage/mods/testformspec/textures/testformspec_bg_pressed.png deleted file mode 100644 index 2fb5fc21ecd7d0ac75f0bb293d91269c4fdc33f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91 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 ZGkh^&|C2f?B?f2^gQu&X%Q~loCIB4yG;06= diff --git a/data/games/garage/mods/testformspec/textures/testformspec_node.png b/data/games/garage/mods/testformspec/textures/testformspec_node.png deleted file mode 100644 index c107f28a31020c89606f4e8b7882bac829aed00e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|7M?DSAr*|t7cN}bQ5V}>F^RDw z-S@RB+tsVn7``^-G!$?wdb6gcgI6U(BGIhp7Q;gU7Y=C;uZIjfSQ2M{&S*XgG=ss@ L)z4*}Q$iB}*NP+k diff --git a/data/games/garage/mods/testformspec/textures/testformspec_pressed.png b/data/games/garage/mods/testformspec/textures/testformspec_pressed.png deleted file mode 100644 index 45c504f275aa726991eb2b327792aa2855187d37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar*|t761Ngx=Q%u{MrA_ zUf{o?;D2|s2mH5_+x{E%t9Bkz*s5Tw!FE8UMeg&XLkX2DTqAfJG!L~qW_1`hG&Vlm zzhsFD$K+H7C*>yJdS;DpOh+3#PBYwcRrXzO%0!~fKjbhR!6hQvczTZG*f#{unS N@O1TaS?83{1OQtbI&%O3 diff --git a/data/games/garage/mods/testfullscreenfs/init.lua b/data/games/garage/mods/testfullscreenfs/init.lua deleted file mode 100644 index 1b84033..0000000 --- a/data/games/garage/mods/testfullscreenfs/init.lua +++ /dev/null @@ -1,71 +0,0 @@ -local function window_info_equal(a, b) - return - -- size - a.size.x == b.size.x and a.size.y == b.size.y and - -- real_gui_scaling, real_hud_scaling - a.real_gui_scaling == b.real_gui_scaling and - a.real_hud_scaling == b.real_hud_scaling and - -- max_formspec_size - a.max_formspec_size.x == b.max_formspec_size.x and - a.max_formspec_size.y == b.max_formspec_size.y and - -- touch_controls - a.touch_controls == b.touch_controls -end - -local last_window_info = {} - -local function show_fullscreen_fs(name, window) - print(dump(window)) - - local size = window.max_formspec_size - local touch_text = window.touch_controls and "Touch controls enabled" or - "Touch controls disabled" - local fs = { - "formspec_version[4]", - ("size[%f,%f]"):format(size.x, size.y), - "padding[0,0]", - "bgcolor[;true]", - ("button[%f,%f;1,1;%s;%s]"):format(0, 0, "tl", "TL"), - ("button[%f,%f;1,1;%s;%s]"):format(size.x - 1, 0, "tr", "TR"), - ("button[%f,%f;1,1;%s;%s]"):format(size.x - 1, size.y - 1, "br", "BR"), - ("button[%f,%f;1,1;%s;%s]"):format(0, size.y - 1, "bl", "BL"), - - ("label[%f,%f;%s]"):format(size.x / 2, size.y / 2, "Fullscreen"), - ("label[%f,%f;%s]"):format(size.x / 2, size.y / 2 + 1, touch_text), - } - - core.show_formspec(name, "testfullscreenfs:fs", table.concat(fs)) - core.chat_send_player(name, ("Calculated size of %f, %f"):format(size.x, size.y)) - last_window_info[name] = window -end - -core.register_chatcommand("testfullscreenfs", { - func = function(name) - local window = core.get_player_window_information(name) - if not window then - return false, "Unable to get window info" - end - - show_fullscreen_fs(name, window) - return true - end, -}) - -core.register_globalstep(function() - for name, last_window in pairs(last_window_info) do - local window = core.get_player_window_information(name) - if window and not window_info_equal(last_window, window) then - show_fullscreen_fs(name, window) - end - end -end) - -core.register_on_player_receive_fields(function(player, formname, fields) - if formname == "testfullscreenfs:fs" and fields.quit then - last_window_info[player:get_player_name()] = nil - end -end) - -core.register_on_leaveplayer(function(player) - last_window_info[player:get_player_name()] = nil -end) diff --git a/data/games/garage/mods/testfullscreenfs/mod.conf b/data/games/garage/mods/testfullscreenfs/mod.conf deleted file mode 100644 index 68e7a10..0000000 --- a/data/games/garage/mods/testfullscreenfs/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = testfullscreenfs -description = Test mod to use core.get_player_window_information() diff --git a/data/games/garage/mods/testhud/init.lua b/data/games/garage/mods/testhud/init.lua deleted file mode 100644 index 0512345..0000000 --- a/data/games/garage/mods/testhud/init.lua +++ /dev/null @@ -1,393 +0,0 @@ -local player_font_huds = {} - -local font_states = { - {0, "Normal font"}, - {1, "Bold font"}, - {2, "Italic font"}, - {3, "Bold and italic font"}, - {4, "Monospace font"}, - {5, "Bold and monospace font"}, - {7, "ZOMG all the font styles"}, - {7, "Colors test! " .. core.colorize("green", "Green") .. - core.colorize("red", "\nRed") .. " END"}, -} - - -local font_default_def = { - type = "text", - position = {x = 0.5, y = 0.5}, - scale = {x = 2, y = 2}, - alignment = { x = 0, y = 0 }, - number = 0xFFFFFF, -} - -local function add_font_hud(player, state) - local def = table.copy(font_default_def) - local statetbl = font_states[state] - def.offset = {x = 0, y = 32 * state} - def.style = statetbl[1] - def.text = statetbl[2] - return player:hud_add(def) -end - -local font_etime = 0 -local font_state = 0 - -core.register_globalstep(function(dtime) - font_etime = font_etime + dtime - if font_etime < 1 then - return - end - font_etime = 0 - for _, player in ipairs(core.get_connected_players()) do - local huds = player_font_huds[player:get_player_name()] - if huds then - for i, hud_id in ipairs(huds) do - local statetbl = font_states[(font_state + i) % #font_states + 1] - player:hud_change(hud_id, "style", statetbl[1]) - player:hud_change(hud_id, "text", statetbl[2]) - end - end - end - font_state = font_state + 1 -end) - -core.register_chatcommand("hudfonts", { - params = "[]", - description = "Show/Hide some text on the HUD with various font options", - func = function(name, param) - local player = core.get_player_by_name(name) - local param = tonumber(param) or 0 - param = math.min(math.max(param, 1), #font_states) - if player_font_huds[name] == nil then - player_font_huds[name] = {} - for i = 1, param do - table.insert(player_font_huds[name], add_font_hud(player, i)) - end - core.chat_send_player(name, ("%d text HUD element(s) added."):format(param)) - else - local huds = player_font_huds[name] - if huds then - for _, hud_id in ipairs(huds) do - player:hud_remove(hud_id) - end - core.chat_send_player(name, "All text HUD elements removed.") - end - player_font_huds[name] = nil - end - return true - end, -}) - --- Testing waypoint capabilities - -local player_waypoints = {} -core.register_chatcommand("hudwaypoints", { - params = "[ add | add_change | remove ]", - description = "Create HUD waypoints at your position for testing (add: Add waypoints and change them after 0.5s (default). add_change: Add waypoints and change immediately. remove: Remove all waypoints)", - func = function(name, params) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - if params == "remove" then - if player_waypoints[name] then - for i=1, #player_waypoints[name] do - player:hud_remove(player_waypoints[name][i]) - end - player_waypoints[name] = {} - end - return true, "All waypoint HUD elements removed." - end - if not (params == "add_change" or params == "add" or params == "") then - -- Incorrect syntax - return false - end - local regular = player:hud_add { - type = "waypoint", - name = "regular waypoint", - text = "m", - number = 0xFFFFFF, - world_pos = vector.add(player:get_pos(), {x = 0, y = 1.5, z = 0}) - } - local reduced_precision = player:hud_add { - type = "waypoint", - name = "imprecise waypoint", - text = "m (0.1 steps, precision = 10)", - precision = 10, - number = 0xFFFFFF, - world_pos = vector.add(player:get_pos(), {x = 0, y = 1, z = 0}) - } - local hidden_distance = player:hud_add { - type = "waypoint", - name = "waypoint with hidden distance", - text = "this text is hidden as well (precision = 0)", - precision = 0, - number = 0xFFFFFF, - world_pos = vector.add(player:get_pos(), {x = 0, y = 0.5, z = 0}) - } - local function change(chplayer) - if not (chplayer and chplayer:is_player()) then - return - end - if regular then - chplayer:hud_change(regular, "world_pos", vector.add(player:get_pos(), {x = 0, y = 3, z = 0})) - chplayer:hud_change(regular, "number", 0xFF0000) - end - if reduced_precision then - chplayer:hud_change(reduced_precision, "precision", 2) - chplayer:hud_change(reduced_precision, "text", "m (0.5 steps, precision = 2)") - chplayer:hud_change(reduced_precision, "number", 0xFFFF00) - end - if hidden_distance then - chplayer:hud_change(hidden_distance, "number", 0x0000FF) - end - core.chat_send_player(chplayer:get_player_name(), "Waypoints changed.") - end - if params == "add_change" then - -- change immediate - change(player) - else - core.after(0.5, change, player) - end - local image_waypoint = player:hud_add { - type = "image_waypoint", - text = "testhud_waypoint.png", - world_pos = player:get_pos(), - -- 20% of screen width, 3x image height - scale = {x = -20, y = 3}, - offset = {x = 0, y = -32} - } - if not player_waypoints[name] then - player_waypoints[name] = {} - end - if regular then - table.insert(player_waypoints[name], regular) - end - if reduced_precision then - table.insert(player_waypoints[name], reduced_precision) - end - if hidden_distance then - table.insert(player_waypoints[name], hidden_distance) - end - if image_waypoint then - table.insert(player_waypoints[name], image_waypoint) - end - regular = regular or "error" - reduced_precision = reduced_precision or "error" - hidden_distance = hidden_distance or "error" - image_waypoint = image_waypoint or "error" - return true, "Waypoints added. IDs: regular: " .. regular .. ", reduced precision: " .. reduced_precision .. - ", hidden distance: " .. hidden_distance .. ", image waypoint: " .. image_waypoint - end -}) - -core.register_on_joinplayer(function(player) - player:set_properties({zoom_fov = 15}) -end) - -core.register_chatcommand("zoomfov", { - params = "[]", - description = "Set or display your zoom_fov", - func = function(name, param) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - if param == "" then - local fov = player:get_properties().zoom_fov - return true, "zoom_fov = "..tostring(fov) - end - local fov = tonumber(param) - if not fov then - return false, "Missing or incorrect zoom_fov parameter!" - end - player:set_properties({zoom_fov = fov}) - fov = player:get_properties().zoom_fov - return true, "zoom_fov = "..tostring(fov) - end, -}) - --- Hotbars - -local hud_hotbar_defs = { - { - type = "hotbar", - position = {x=0.2, y=0.5}, - direction = 0, - alignment = {x=1, y=-1}, - }, - { - type = "hotbar", - position = {x=0.2, y=0.5}, - direction = 2, - alignment = {x=1, y=1}, - }, - { - type = "hotbar", - position = {x=0.7, y=0.5}, - direction = 0, - offset = {x=140, y=20}, - alignment = {x=-1, y=-1}, - }, - { - type = "hotbar", - position = {x=0.7, y=0.5}, - direction = 2, - offset = {x=140, y=20}, - alignment = {x=-1, y=1}, - }, -} - - -local player_hud_hotbars= {} -core.register_chatcommand("hudhotbars", { - description = "Shows some test Lua HUD elements of type hotbar. " .. - "(add: Adds elements (default). remove: Removes elements)", - params = "[ add | remove ]", - func = function(name, params) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - - local id_table = player_hud_hotbars[name] - if not id_table then - id_table = {} - player_hud_hotbars[name] = id_table - end - - if params == "remove" then - for _, id in ipairs(id_table) do - player:hud_remove(id) - end - return true, "Hotbars removed." - end - - -- params == "add" or default - for _, def in ipairs(hud_hotbar_defs) do - table.insert(id_table, player:hud_add(def)) - end - return true, #hud_hotbar_defs .." Hotbars added." - end -}) - --- Inventories - -local hud_inventory_defs = { - { - type = "inventory", - position = {x=0.2, y=0.5}, - direction = 0, - text = "main", - number = 4, - item = 2, - }, - { - type = "inventory", - position = {x=0.2, y=0.5}, - direction = 2, - text = "main", - number = 4, - item = 2, - }, - { - type = "inventory", - position = {x=0.7, y=0.5}, - direction = 1, - text = "main", - number = 4, - item = 2, - }, - { - type = "inventory", - position = {x=0.7, y=0.5}, - direction = 3, - text = "main", - number = 4, - item = 2, - }, -} - -local player_hud_inventories= {} -core.register_chatcommand("hudinventories", { - description = "Shows some test Lua HUD elements of type inventory. (add: Adds elements (default). remove: Removes elements)", - params = "[ add | remove ]", - func = function(name, params) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - - local id_table = player_hud_inventories[name] - if not id_table then - id_table = {} - player_hud_inventories[name] = id_table - end - - if params == "remove" then - for _, id in ipairs(id_table) do - player:hud_remove(id) - end - return true, "HUD Inventories removed." - end - - -- params == "add" or default - for _, def in ipairs(hud_inventory_defs) do - table.insert(id_table, player:hud_add(def)) - end - return true, #hud_inventory_defs .." HUD Inventories added." - end -}) - - -core.register_on_leaveplayer(function(player) - local playername = player:get_player_name() - player_font_huds[playername] = nil - player_waypoints[playername] = nil - player_hud_hotbars[playername] = nil - player_hud_inventories[playername] = nil -end) - -core.register_chatcommand("hudprint", { - description = "Writes all used Lua HUD elements into chat.", - func = function(name, params) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - - local s = "HUD elements:" - for k, elem in pairs(player:hud_get_all()) do - local ename = dump(elem.name) - local etype = dump(elem.type) - local epos = "{x="..elem.position.x..", y="..elem.position.y.."}" - s = s.."\n["..k.."] type = "..etype.." | name = "..ename.." | pos = ".. epos - end - - return true, s - end -}) - -local hud_flags = {"hotbar", "healthbar", "crosshair", "wielditem", "breathbar", - "minimap", "minimap_radar", "basic_debug", "chat"} - -core.register_chatcommand("hudtoggleflag", { - description = "Toggles a hud flag.", - params = "[ ".. table.concat(hud_flags, " | ") .." ]", - func = function(name, params) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - - local flags = player:hud_get_flags() - if flags[params] == nil then - return false, "Unknown hud flag." - end - - flags[params] = not flags[params] - player:hud_set_flags(flags) - return true, "Flag \"".. params .."\" set to ".. tostring(flags[params]) .. "." - end -}) diff --git a/data/games/garage/mods/testhud/mod.conf b/data/games/garage/mods/testhud/mod.conf deleted file mode 100644 index ed9f65c..0000000 --- a/data/games/garage/mods/testhud/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = testhud -description = For testing HUD functionality diff --git a/data/games/garage/mods/testhud/textures/testhud_waypoint.png b/data/games/garage/mods/testhud/textures/testhud_waypoint.png deleted file mode 100644 index f9f1308130f65a32d8220d3ef8dfeec45b4d4074..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>z3%-K<2Df8t;IVil>WX zNCjguL({K%9zGuhk%%J#FIZg^+*SySR9ZTwG@fe6V!Y$eDZnnOvka)7!PC{xWt~$( F69DG%8f*Xn diff --git a/data/games/garage/mods/testitems/init.lua b/data/games/garage/mods/testitems/init.lua deleted file mode 100644 index 12da2ad..0000000 --- a/data/games/garage/mods/testitems/init.lua +++ /dev/null @@ -1,107 +0,0 @@ -local S = core.get_translator("testitems") - --- --- Texture overlays for items --- - --- For the global overlay color test -local GLOBAL_COLOR_ARG = "orange" - --- Punch handler to set random color with "color" argument in item metadata -local overlay_on_use = function(itemstack, user, pointed_thing) - local meta = itemstack:get_meta() - local color = math.random(0x0, 0xFFFFFF) - local colorstr = string.format("#%06x", color) - meta:set_string("color", colorstr) - core.log("action", "[testitems] Color of "..itemstack:get_name().." changed to "..colorstr) - return itemstack -end --- Place handler to clear item metadata color -local overlay_on_place = function(itemstack, user, pointed_thing) - local meta = itemstack:get_meta() - meta:set_string("color", "") - return itemstack -end - -core.register_craftitem("testitems:overlay_meta", { - description = S("Texture Overlay Test Item, Meta Color") .. "\n" .. - S("Image must be a square with rainbow cross (inventory and wield)") .. "\n" .. - S("Item meta color must only change square color") .. "\n" .. - S("Punch: Set random color") .. "\n" .. - S("Place: Clear color"), - -- Base texture: A grayscale square (can be colorized) - inventory_image = "testitems_overlay_base.png", - wield_image = "testitems_overlay_base.png", - -- Overlay: A rainbow cross (NOT to be colorized!) - inventory_overlay = "testitems_overlay_overlay.png", - wield_overlay = "testitems_overlay_overlay.png", - - on_use = overlay_on_use, - on_place = overlay_on_place, - on_secondary_use = overlay_on_place, -}) - -core.register_craftitem("testitems:overlay_global", { - description = S("Texture Overlay Test Item, Global Color") .. "\n" .. - S("Image must be an orange square with rainbow cross (inventory and wield)"), - -- Base texture: A grayscale square (to be colorized) - inventory_image = "testitems_overlay_base.png", - wield_image = "testitems_overlay_base.png", - -- Overlay: A rainbow cross (NOT to be colorized!) - inventory_overlay = "testitems_overlay_overlay.png", - wield_overlay = "testitems_overlay_overlay.png", - color = GLOBAL_COLOR_ARG, -}) - -core.register_craftitem("testitems:image_meta", { - description = S("Image Override Meta Test Item"), - inventory_image = "default_apple.png", - wield_image = "basetools_icesword.png", - - on_use = function(itemstack, player) - local meta = itemstack:get_meta() - local state = meta:get_int("state") - state = (state + 1) % 5 - meta:set_int("state", state) - core.chat_send_player(player:get_player_name(), "State " .. state) - - if state == 0 then - meta:set_string("inventory_image", "") - meta:set_string("wield_image", "") - meta:set_string("inventory_overlay", "") - meta:set_string("wield_overlay", "") - meta:set_string("wield_scale", "") - elseif state == 1 then - meta:set_string("inventory_image", "default_tree.png") - meta:set_string("wield_image", "basetools_firesword.png") - elseif state == 2 then - meta:set_string("inventory_image", "default_apple.png^testitems_overridden.png") - meta:set_string("wield_image", "basetools_icesword.png^testitems_overridden.png") - elseif state == 3 then - meta:set_string("inventory_image", "default_tree.png") - meta:set_string("wield_image", "basetools_firesword.png") - meta:set_string("inventory_overlay", "default_apple.png") - meta:set_string("wield_overlay", "default_apple.png") - elseif state == 4 then - local scale = vector.new(0.5, 0.5, 0.5) - meta:set_string("wield_scale", scale:to_string()) - end - - return itemstack - end, -}) - -core.register_craftitem("testitems:telescope_stick", { - description = S("Telescope Stick (Increases range on use.)"), - inventory_image = "testitems_telescope_stick.png", - on_use = function(itemstack, player) - local meta = itemstack:get_meta() - local range = meta:get_float("range") + 1.2 - if range > 10 then - range = 0 - end - meta:set_float("range", range) - core.chat_send_player(player:get_player_name(), "Telescope Stick range set to "..range) - return itemstack - end, -}) diff --git a/data/games/garage/mods/testitems/mod.conf b/data/games/garage/mods/testitems/mod.conf deleted file mode 100644 index f91febe..0000000 --- a/data/games/garage/mods/testitems/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = testitems -description = Test mod to test misc. items that are neither tools nor nodes diff --git a/data/games/garage/mods/testitems/textures/testitems_overlay_base.png b/data/games/garage/mods/testitems/textures/testitems_overlay_base.png deleted file mode 100644 index f473623beceb882cf5e982fe4a99d049443cc625..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|hMq2tAr*|t3haN>r4&r|C^0R_ z-q9|eaJ@i?{lM~v0&Egj9XvM(^;vjLV!PNdX9+LE+zQtD$-mA`1ZrmRboFyt=akR{ E01!DH@&Et; diff --git a/data/games/garage/mods/testitems/textures/testitems_overlay_overlay.png b/data/games/garage/mods/testitems/textures/testitems_overlay_overlay.png deleted file mode 100644 index 75a7d9fc3c58528ed454b68afd2f203618e4f7a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Wq?nJE0F&G|Nj>~y;sIx#1%h^ zD}47=m z^W>+l<+;V{qGi7P6?1ZA$~mAg#pJARCC95@7n9{IS5_}swb)%RbK^$l?xS4gDL5$E%(Yj z>a=0QY5(sxoH)X^?|j5GO)|}3=^w*v-6hkHOB9qZQP>)G#?rB4O-@?I+Qtb}jN}zH zpYGj$O?GPa`>5}0bxQA_3NoL*vURJ*YD<6a9Z+TO~L6&a;L!0h<)dni+t8r TC3$v$+`!=J>gTe~DWM4f73x6F diff --git a/data/games/garage/mods/testnodes/README.md b/data/games/garage/mods/testnodes/README.md deleted file mode 100644 index 13ed972..0000000 --- a/data/games/garage/mods/testnodes/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Test Nodes - -This mod contains a bunch of basic nodes to test development stuff. -Most nodes are kept as minimal as possible in order to show off one particular feature of the engine, to make testing stuff easier. - -This mod includes tests for: - -* drawtypes -* paramtype2's -* node properties such as damage, drowning, falling, etc. -* other random stuff diff --git a/data/games/garage/mods/testnodes/commands.lua b/data/games/garage/mods/testnodes/commands.lua deleted file mode 100644 index 946df50..0000000 --- a/data/games/garage/mods/testnodes/commands.lua +++ /dev/null @@ -1,139 +0,0 @@ --- Add chat command to place all the nodes in DevTest - -local function advance_pos(pos, start_pos, advance_z) - if advance_z then - pos.z = pos.z + 2 - pos.x = start_pos.x - else - pos.x = pos.x + 2 - end - if pos.x > 30900 or pos.x - start_pos.x > 46 then - pos.x = start_pos.x - pos.z = pos.z + 2 - end - if pos.z > 30900 then - -- We ran out of space! Aborting - aborted = true - return false - end - return pos -end - -local function place_nodes(param) - local nodes = param.nodes - local name = param.name - local pos = param.pos - local start_pos = param.start_pos - table.sort(nodes) - core.chat_send_player(name, "Placing nodes …") - local nodes_placed = 0 - local aborted = false - for n=1, #nodes do - local itemstring = nodes[n] - local def = core.registered_nodes[itemstring] - local p2_max = 0 - if param.param ~= "no_param2" then - -- Also test the param2 values of the nodes - -- ... but we only use permissible param2 values - if def.paramtype2 == "wallmounted" then - p2_max = 5 - elseif def.paramtype2 == "facedir" then - p2_max = 23 - elseif def.paramtype2 == "4dir" then - p2_max = 3 - elseif def.paramtype2 == "glasslikeliquidlevel" then - p2_max = 63 - elseif def.paramtype2 == "meshoptions" and def.drawtype == "plantlike" then - p2_max = 63 - elseif def.paramtype2 == "leveled" then - p2_max = 127 - elseif def.paramtype2 == "degrotate" and (def.drawtype == "plantlike" or def.drawtype == "mesh") then - p2_max = 239 - elseif def.paramtype2 == "colorfacedir" or - def.paramtype2 == "colorwallmounted" or - def.paramtype2 == "colordegrotate" or - def.paramtype2 == "color4dir" or - def.paramtype2 == "color" then - p2_max = 255 - end - end - for p2 = 0, p2_max do - -- Skip undefined param2 values - if not ((def.paramtype2 == "meshoptions" and p2 % 8 > 4) or - (def.paramtype2 == "colorwallmounted" and p2 % 8 > 5) or - ((def.paramtype2 == "colorfacedir" or def.paramtype2 == "colordegrotate") - and p2 % 32 > 23)) then - - core.set_node(pos, { name = itemstring, param2 = p2 }) - nodes_placed = nodes_placed + 1 - pos = advance_pos(pos, start_pos) - if not pos then - aborted = true - break - end - end - end - if aborted then - break - end - end - if aborted then - core.chat_send_player(name, "Not all nodes could be placed, please move further away from the world boundary. Nodes placed: "..nodes_placed) - end - core.chat_send_player(name, "Nodes placed: "..nodes_placed..".") -end - -local function after_emerge(blockpos, action, calls_remaining, param) - if calls_remaining == 0 then - place_nodes(param) - end -end - -core.register_chatcommand("test_place_nodes", { - params = "[ no_param2 ]", - description = "Test: Place all nodes (except dummy and callback nodes) and optionally their permissible param2 variants", - func = function(name, param) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - local pos = vector.floor(player:get_pos()) - pos.x = math.ceil(pos.x + 3) - pos.z = math.ceil(pos.z + 3) - pos.y = math.ceil(pos.y + 1) - local start_pos = table.copy(pos) - if pos.x > 30800 then - return false, "Too close to world boundary (+X). Please move to X < 30800." - end - if pos.z > 30800 then - return false, "Too close to world boundary (+Z). Please move to Z < 30800." - end - - local aborted = false - local nodes = {} - local emerge_estimate = 0 - for itemstring, def in pairs(core.registered_nodes) do - if itemstring ~= "ignore" and - -- Skip callback test and dummy nodes - -- to avoid clutter and chat spam - core.get_item_group(itemstring, "callback_test") == 0 and - core.get_item_group(itemstring, "dummy") == 0 then - table.insert(nodes, itemstring) - if def.paramtype2 == 0 then - emerge_estimate = emerge_estimate + 1 - else - emerge_estimate = emerge_estimate + 255 - end - end - end - -- Emerge area to make sure that all nodes are being placed. - -- Note we will emerge much more than we need to (overestimation), - -- the estimation code could be improved performance-wise … - local length = 16 + math.ceil(emerge_estimate / 24) * 2 - core.emerge_area(start_pos, - { x = start_pos.x + 46, y = start_pos.y, z = start_pos.z + length }, - after_emerge, { nodes = nodes, name = name, pos = pos, start_pos = start_pos, param = param }) - return true, "Emerging area …" - end, -}) - diff --git a/data/games/garage/mods/testnodes/drawtypes.lua b/data/games/garage/mods/testnodes/drawtypes.lua deleted file mode 100644 index 95dae96..0000000 --- a/data/games/garage/mods/testnodes/drawtypes.lua +++ /dev/null @@ -1,727 +0,0 @@ ---[[ Drawtype Test: This file tests out and provides examples for -all drawtypes in Luanti. It is attempted to keep the node -definitions as simple and minimal as possible to keep -side-effects to a minimum. - -How to read the node definitions: -There are two parts which are separated by 2 newlines: -The first part contains the things that are more or less essential -for defining the drawtype (except description, which is -at the top for readability). -The second part (after the 2 newlines) contains stuff that are -unrelated to the drawtype, stuff that is mostly there to make -testing this node easier and more convenient. -]] - -local S = core.get_translator("testnodes") - --- A regular cube -core.register_node("testnodes:normal", { - description = S("\"normal\" Drawtype Test Node").."\n".. - S("Opaque texture"), - drawtype = "normal", - tiles = { "testnodes_normal.png" }, - - groups = { dig_immediate = 3 }, -}) - --- Standard glasslike node -core.register_node("testnodes:glasslike", { - description = S("\"glasslike\" Drawtype Test Node").."\n".. - S("Transparent node with hidden backfaces"), - drawtype = "glasslike", - paramtype = "light", - tiles = { "testnodes_glasslike.png" }, - - groups = { dig_immediate = 3 }, -}) - --- Glasslike framed with the two textures (normal and "detail") -core.register_node("testnodes:glasslike_framed", { - description = S("\"glasslike_framed\" Drawtype Test Node").."\n".. - S("Transparent node with hidden backfaces").."\n".. - S("Frame connects to neighbors"), - drawtype = "glasslike_framed", - paramtype = "light", - tiles = { - "testnodes_glasslike_framed.png", - "testnodes_glasslike_detail.png", - }, - - - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - --- Like the one above, but without the "detail" texture (texture 2). --- This node was added to see how the engine behaves when the "detail" texture --- is missing. -core.register_node("testnodes:glasslike_framed_no_detail", { - description = S("\"glasslike_framed\" Drawtype without Detail Test Node").."\n".. - S("Transparent node with hidden backfaces").."\n".. - S("Frame connects to neighbors, but the 'detail' tile is not used"), - drawtype = "glasslike_framed", - paramtype = "light", - tiles = { "testnodes_glasslike_framed2.png" }, - - - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - - -core.register_node("testnodes:glasslike_framed_optional", { - description = S("\"glasslike_framed_optional\" Drawtype Test Node").."\n".. - S("Transparent node with hidden backfaces").."\n".. - S("Frame connects if 'connected_glass' setting is true"), - drawtype = "glasslike_framed_optional", - paramtype = "light", - tiles = { - "testnodes_glasslike_framed_optional.png", - "testnodes_glasslike_detail.png", - }, - - - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - - - -core.register_node("testnodes:allfaces", { - description = S("\"allfaces\" Drawtype Test Node").."\n".. - S("Transparent node with visible internal backfaces"), - drawtype = "allfaces", - paramtype = "light", - tiles = { "testnodes_allfaces.png" }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:allfaces_6", { - description = S("\"allfaces 6 Textures\" Drawtype Test Node").."\n".. - S("Transparent node with visible internal backfaces"), - drawtype = "allfaces", - paramtype = "light", - tiles = { - "testnodes_allfaces.png^[colorize:red", - "testnodes_allfaces.png^[colorize:orange", - "testnodes_allfaces.png^[colorize:yellow", - "testnodes_allfaces.png^[colorize:green", - "testnodes_allfaces.png^[colorize:blue", - "testnodes_allfaces.png^[colorize:purple" - }, - - groups = { dig_immediate = 3 }, -}) - -local allfaces_optional_tooltip = "".. - S("Rendering depends on 'leaves_style' setting:").."\n".. - S("* 'fancy': transparent with visible internal backfaces").."\n".. - S("* 'simple': transparent with hidden backfaces").."\n".. - S("* 'opaque': opaque") - -core.register_node("testnodes:allfaces_optional", { - description = S("\"allfaces_optional\" Drawtype Test Node").."\n".. - allfaces_optional_tooltip, - drawtype = "allfaces_optional", - paramtype = "light", - tiles = { "testnodes_allfaces_optional.png" }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:allfaces_optional_waving", { - description = S("Waving \"allfaces_optional\" Drawtype Test Node").."\n".. - allfaces_optional_tooltip.."\n".. - S("Waves if waving leaves are enabled by client"), - drawtype = "allfaces_optional", - paramtype = "light", - tiles = { "testnodes_allfaces_optional.png^[brighten" }, - waving = 2, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:firelike", { - description = S("\"firelike\" Drawtype Test Node").."\n".. - S("Changes shape based on neighbors"), - drawtype = "firelike", - paramtype = "light", - tiles = { "testnodes_firelike.png" }, - - - walkable = false, - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:fencelike", { - description = S("\"fencelike\" Drawtype Test Node").."\n".. - S("Connects to neighbors"), - drawtype = "fencelike", - paramtype = "light", - tiles = { "testnodes_fencelike.png" }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:torchlike", { - description = S("Floor \"torchlike\" Drawtype Test Node").."\n".. - S("Always on floor"), - drawtype = "torchlike", - paramtype = "light", - tiles = { "testnodes_torchlike_floor.png^[colorize:#FF0000:64" }, - - - walkable = false, - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:torchlike_wallmounted", { - description = S("Wallmounted \"torchlike\" Drawtype Test Node").."\n".. - S("param2 = wallmounted rotation (0..7)"), - drawtype = "torchlike", - paramtype = "light", - paramtype2 = "wallmounted", - tiles = { - "testnodes_torchlike_floor.png", - "testnodes_torchlike_ceiling.png", - "testnodes_torchlike_wall.png", - }, - - - walkable = false, - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:torchlike_wallmounted_rot", { - description = S("Wallmounted Rotatable Torchlike Drawtype Test Node"), - drawtype = "torchlike", - paramtype = "light", - paramtype2 = "wallmounted", - wallmounted_rotate_vertical = true, - tiles = { - "testnodes_torchlike_floor.png^[colorize:#FFFF00:40", - "testnodes_torchlike_ceiling.png^[colorize:#FFFF00:40", - "testnodes_torchlike_wall.png^[colorize:#FFFF00:40", - }, - - - walkable = false, - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:signlike", { - description = S("Floor \"signlike\" Drawtype Test Node").."\n".. - S("Always on floor"), - drawtype = "signlike", - paramtype = "light", - tiles = { "testnodes_signlike.png^[colorize:#FF0000:64" }, - - walkable = false, - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:signlike_wallmounted", { - description = S("Wallmounted \"signlike\" Drawtype Test Node").."\n".. - S("param2 = wallmounted rotation (0..7)"), - drawtype = "signlike", - paramtype = "light", - paramtype2 = "wallmounted", - tiles = { "testnodes_signlike.png" }, - - - walkable = false, - groups = { dig_immediate = 3 }, - sunlight_propagates = true, -}) - -core.register_node("testnodes:signlike_rot", { - description = S("Wallmounted Rotatable Signlike Drawtype Test Node"), - drawtype = "signlike", - paramtype = "light", - paramtype2 = "wallmounted", - wallmounted_rotate_vertical = true, - tiles = { "testnodes_signlike.png^[colorize:#FFFF00:40" }, - - - walkable = false, - groups = { dig_immediate = 3 }, - sunlight_propagates = true, -}) - - - -core.register_node("testnodes:plantlike", { - description = S("\"plantlike\" Drawtype Test Node"), - drawtype = "plantlike", - paramtype = "light", - tiles = { "testnodes_plantlike.png" }, - - - walkable = false, - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:plantlike_waving", { - description = S("Waving \"plantlike\" Drawtype Test Node").."\n".. - S("Waves if waving plants are enabled by client"), - drawtype = "plantlike", - paramtype = "light", - tiles = { "testnodes_plantlike_waving.png" }, - waving = 1, - - - walkable = false, - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:plantlike_wallmounted", { - description = S("Wallmounted \"plantlike\" Drawtype Test Node").."\n".. - S("param2 = wallmounted rotation (0..7)"), - drawtype = "plantlike", - paramtype = "light", - paramtype2 = "wallmounted", - tiles = { "testnodes_plantlike_wallmounted.png" }, - leveled = 1, - - - walkable = false, - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - - --- param2 will rotate -local function rotate_on_rightclick(pos, node, clicker) - local def = core.registered_nodes[node.name] - local aux1 = clicker:get_player_control().aux1 - - local deg, deg_max - local color, color_mult = 0, 0 - if def.paramtype2 == "degrotate" then - deg = node.param2 - deg_max = 240 - elseif def.paramtype2 == "colordegrotate" then - -- MSB [3x color, 5x rotation] LSB - deg = node.param2 % 2^5 - deg_max = 24 - color_mult = 2^5 - color = math.floor(node.param2 / color_mult) - end - - deg = (deg + (aux1 and 10 or 1)) % deg_max - node.param2 = color * color_mult + deg - core.swap_node(pos, node) - core.chat_send_player(clicker:get_player_name(), - "Rotation is now " .. deg .. " / " .. deg_max) -end - -core.register_node("testnodes:plantlike_degrotate", { - description = S("Degrotate \"plantlike\" Drawtype Test Node").."\n".. - S("param2 = horizontal rotation (0..239)"), - drawtype = "plantlike", - paramtype = "light", - paramtype2 = "degrotate", - tiles = { "testnodes_plantlike_degrotate.png" }, - - on_rightclick = rotate_on_rightclick, - place_param2 = 7, - walkable = false, - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:mesh_degrotate", { - description = S("Degrotate \"mesh\" Drawtype Test Node").."\n".. - S("param2 = horizontal rotation (0..239)"), - drawtype = "mesh", - paramtype = "light", - paramtype2 = "degrotate", - mesh = "testnodes_ocorner.obj", - tiles = { "testnodes_mesh_stripes7.png" }, - - on_rightclick = rotate_on_rightclick, - place_param2 = 10, -- 15° - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:mesh_colordegrotate", { - description = S("Colordegrotate \"mesh\" Drawtype Test Node").."\n".. - S("param2 = color + horizontal rotation (0..23, 32..55, ...)"), - drawtype = "mesh", - paramtype = "light", - paramtype2 = "colordegrotate", - palette = "testnodes_palette_facedir.png", - mesh = "testnodes_ocorner.obj", - tiles = { "testnodes_mesh_stripes8.png" }, - - on_rightclick = rotate_on_rightclick, - -- color index 1, 1 step (=15°) rotated - place_param2 = 1 * 2^5 + 1, - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - --- param2 will change height -core.register_node("testnodes:plantlike_leveled", { - description = S("Leveled \"plantlike\" Drawtype Test Node").."\n".. - S("param2 = height (0..255)"), - drawtype = "plantlike", - paramtype = "light", - paramtype2 = "leveled", - tiles = { - { name = "testnodes_plantlike_leveled.png", tileable_vertical = true }, - }, - - - -- We set a default param2 here only for convenience, to make the "plant" visible after placement - place_param2 = 8, - walkable = false, - sunlight_propagates = true, - groups = { dig_immediate = 3 }, -}) - --- param2 changes shape -core.register_node("testnodes:plantlike_meshoptions", { - description = S("Meshoptions \"plantlike\" Drawtype Test Node").."\n".. - S("param2 = plant shape"), - drawtype = "plantlike", - paramtype = "light", - paramtype2 = "meshoptions", - tiles = { "testnodes_plantlike_meshoptions.png" }, - - - walkable = false, - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:plantlike_rooted", { - description = S("\"rooted_plantlike\" Drawtype Test Node"), - drawtype = "plantlike_rooted", - paramtype = "light", - tiles = { "testnodes_plantlike_rooted_base.png" }, - special_tiles = { "testnodes_plantlike_rooted.png" }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:plantlike_rooted_wallmounted", { - description = S("Wallmounted \"rooted_plantlike\" Drawtype Test Node").."\n".. - S("param2 = wallmounted rotation (0..7)"), - drawtype = "plantlike_rooted", - paramtype = "light", - paramtype2 = "wallmounted", - tiles = { - "testnodes_plantlike_rooted_base.png", - "testnodes_plantlike_rooted_base.png", - "testnodes_plantlike_rooted_base_side_wallmounted.png" }, - special_tiles = { "testnodes_plantlike_rooted_wallmounted.png" }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:plantlike_rooted_waving", { - description = S("Waving \"rooted_plantlike\" Drawtype Test Node").."\n".. - S("Waves if waving plants are enabled by client"), - drawtype = "plantlike_rooted", - paramtype = "light", - tiles = { - "testnodes_plantlike_rooted_base.png", - "testnodes_plantlike_rooted_base.png", - "testnodes_plantlike_rooted_base_side_waving.png", - }, - special_tiles = { "testnodes_plantlike_rooted_waving.png" }, - waving = 1, - - groups = { dig_immediate = 3 }, -}) - --- param2 changes height -core.register_node("testnodes:plantlike_rooted_leveled", { - description = S("Leveled \"rooted_plantlike\" Drawtype Test Node").."\n".. - S("param2 = height (0..255)"), - drawtype = "plantlike_rooted", - paramtype = "light", - paramtype2 = "leveled", - tiles = { - "testnodes_plantlike_rooted_base.png", - "testnodes_plantlike_rooted_base.png", - "testnodes_plantlike_rooted_base_side_leveled.png", - }, - special_tiles = { - { name = "testnodes_plantlike_rooted_leveled.png", tileable_vertical = true }, - }, - - - -- We set a default param2 here only for convenience, to make the "plant" visible after placement - place_param2 = 8, - groups = { dig_immediate = 3 }, -}) - --- param2 changes shape -core.register_node("testnodes:plantlike_rooted_meshoptions", { - description = S("Meshoptions \"rooted_plantlike\" Drawtype Test Node").."\n".. - S("param2 = plant shape"), - drawtype = "plantlike_rooted", - paramtype = "light", - paramtype2 = "meshoptions", - tiles = { - "testnodes_plantlike_rooted_base.png", - "testnodes_plantlike_rooted_base.png", - "testnodes_plantlike_rooted_base_side_meshoptions.png", - }, - special_tiles = { - "testnodes_plantlike_rooted_meshoptions.png", - }, - - groups = { dig_immediate = 3 }, -}) - --- param2 changes rotation -core.register_node("testnodes:plantlike_rooted_degrotate", { - description = S("Degrotate \"rooted_plantlike\" Drawtype Test Node").."\n".. - S("param2 = horizontal rotation (0..239)"), - drawtype = "plantlike_rooted", - paramtype = "light", - paramtype2 = "degrotate", - tiles = { - "testnodes_plantlike_rooted_base.png", - "testnodes_plantlike_rooted_base.png", - "testnodes_plantlike_rooted_base_side_degrotate.png", - }, - special_tiles = { - "testnodes_plantlike_rooted_degrotate.png", - }, - - groups = { dig_immediate = 3 }, -}) - --- Demonstrative liquid nodes, source and flowing form. --- DRAWTYPE ONLY, NO LIQUID PHYSICS! --- Liquid ranges 0 to 8 -for r = 0, 8 do - core.register_node("testnodes:liquid_"..r, { - description = S("\"liquid\" Drawtype Test Node, Range @1", r).."\n".. - S("Drawtype only; all liquid physics are disabled"), - drawtype = "liquid", - paramtype = "light", - tiles = { - "testnodes_liquidsource_r"..r..".png^[colorize:#FFFFFF:100", - }, - special_tiles = { - {name="testnodes_liquidsource_r"..r..".png^[colorize:#FFFFFF:100", backface_culling=false}, - {name="testnodes_liquidsource_r"..r..".png^[colorize:#FFFFFF:100", backface_culling=true}, - }, - use_texture_alpha = "blend", - - - walkable = false, - liquid_range = r, - liquid_viscosity = 0, - liquid_alternative_flowing = "testnodes:liquid_flowing_"..r, - liquid_alternative_source = "testnodes:liquid_"..r, - groups = { dig_immediate = 3 }, - }) - core.register_node("testnodes:liquid_flowing_"..r, { - description = S("\"flowingliquid\" Drawtype Test Node, Range @1", r).."\n".. - S("Drawtype only; all liquid physics are disabled").."\n".. - S("param2 = flowing liquid level"), - drawtype = "flowingliquid", - paramtype = "light", - paramtype2 = "flowingliquid", - tiles = { - "testnodes_liquidflowing_r"..r..".png^[colorize:#FFFFFF:100", - }, - special_tiles = { - {name="testnodes_liquidflowing_r"..r..".png^[colorize:#FFFFFF:100", backface_culling=false}, - {name="testnodes_liquidflowing_r"..r..".png^[colorize:#FFFFFF:100", backface_culling=false}, - }, - use_texture_alpha = "blend", - - - walkable = false, - liquid_range = r, - liquid_viscosity = 0, - liquid_alternative_flowing = "testnodes:liquid_flowing_"..r, - liquid_alternative_source = "testnodes:liquid_"..r, - groups = { dig_immediate = 3 }, - }) - -end - --- Waving liquid test (drawtype only) -core.register_node("testnodes:liquid_waving", { - description = S("Waving \"liquid\" Drawtype Test Node").."\n".. - S("Drawtype only; all liquid physics are disabled").."\n".. - S("Waves if waving liquids are enabled by client"), - drawtype = "liquid", - paramtype = "light", - tiles = { - "testnodes_liquidsource.png^[colorize:#0000FF:127", - }, - special_tiles = { - {name="testnodes_liquidsource.png^[colorize:#0000FF:127", backface_culling=false}, - {name="testnodes_liquidsource.png^[colorize:#0000FF:127", backface_culling=true}, - }, - use_texture_alpha = "blend", - waving = 3, - - - walkable = false, - liquid_range = 1, - liquid_viscosity = 0, - liquid_alternative_flowing = "testnodes:liquid_flowing_waving", - liquid_alternative_source = "testnodes:liquid_waving", - groups = { dig_immediate = 3 }, -}) -core.register_node("testnodes:liquid_flowing_waving", { - description = S("Waving \"flowingliquid\" Drawtype Test Node").."\n".. - S("Drawtype only; all liquid physics are disabled").."\n".. - S("param2 = flowing liquid level").."\n".. - S("Waves if waving liquids are enabled by client"), - drawtype = "flowingliquid", - paramtype = "light", - paramtype2 = "flowingliquid", - tiles = { - "testnodes_liquidflowing.png^[colorize:#0000FF:127", - }, - special_tiles = { - {name="testnodes_liquidflowing.png^[colorize:#0000FF:127", backface_culling=false}, - {name="testnodes_liquidflowing.png^[colorize:#0000FF:127", backface_culling=false}, - }, - use_texture_alpha = "blend", - waving = 3, - - - walkable = false, - liquid_range = 1, - liquid_viscosity = 0, - liquid_alternative_flowing = "testnodes:liquid_flowing_waving", - liquid_alternative_source = "testnodes:liquid_waving", - groups = { dig_immediate = 3 }, -}) - --- Invisible node -core.register_node("testnodes:airlike", { - description = S("\"airlike\" Drawtype Test Node").."\n".. - S("Invisible node").."\n".. - S("Inventory/wield image = no_texture_airlike.png"), - drawtype = "airlike", - paramtype = "light", - -- inventory/wield images are left empty to make sure the 'no texture' - -- fallback for airlike nodes is working properly. - - - walkable = false, - groups = { dig_immediate = 3 }, - sunlight_propagates = true, -}) - --- param2 changes liquid height -core.register_node("testnodes:glassliquid", { - description = S("\"glasslike_framed\" Drawtype with Liquid Test Node").."\n".. - S("param2 = liquid level (0..63)"), - drawtype = "glasslike_framed", - paramtype = "light", - paramtype2 = "glasslikeliquidlevel", - tiles = { - "testnodes_glasslikeliquid.png", - }, - special_tiles = { - "testnodes_liquid.png", - }, - - groups = { dig_immediate = 3 }, -}) - --- Adding many raillike examples, primarily to demonstrate the behavior of --- "raillike groups". Nodes of the same type (rail, groupless, line, street) --- should connect to nodes of the same "rail type" (=same shape, different --- color) only. -local rails = { - { "rail", {"testnodes_rail_straight.png", "testnodes_rail_curved.png", "testnodes_rail_t_junction.png", "testnodes_rail_crossing.png"}, S("Connects to rails")}, - { "line", {"testnodes_line_straight.png", "testnodes_line_curved.png", "testnodes_line_t_junction.png", "testnodes_line_crossing.png"}, S("Connects to lines")}, - { "street", {"testnodes_street_straight.png", "testnodes_street_curved.png", "testnodes_street_t_junction.png", "testnodes_street_crossing.png"}, S("Connects to streets")}, - -- the "groupless" nodes are nodes in which the "connect_to_raillike" group is not set - { "groupless", {"testnodes_rail2_straight.png", "testnodes_rail2_curved.png", "testnodes_rail2_t_junction.png", "testnodes_rail2_crossing.png"}, S("Connects to 'groupless' rails") }, -} -local colors = { "", "cyan", "red" } - -for r=1, #rails do - local id = rails[r][1] - local tiles = rails[r][2] - local tt = rails[r][3] - local raillike_group - if id ~= "groupless" then - raillike_group = core.raillike_group(id) - end - for c=1, #colors do - local color - if colors[c] ~= "" then - color = colors[c] - end - core.register_node("testnodes:raillike_"..id..c, { - description = S("\"raillike\" Drawtype Test Node: @1 @2", id, c).."\n".. - tt, - drawtype = "raillike", - paramtype = "light", - tiles = tiles, - groups = { connect_to_raillike = raillike_group, dig_immediate = 3 }, - - - color = color, - selection_box = { - type = "fixed", - fixed = {{-0.5, -0.5, -0.5, 0.5, -0.4, 0.5}}, - }, - sunlight_propagates = true, - walkable = false, - }) - end -end - - - --- Add visual_scale variants of previous nodes for half and double size -local scale = function(subname, append) - local original = "testnodes:"..subname - local def = table.copy(core.registered_items[original]) - local orig_desc - if append and type(append) == "string" then - orig_desc = ItemStack(original):get_short_description() - orig_desc = orig_desc .. "\n" .. append - elseif append ~= false then - orig_desc = ItemStack(original):get_description() - else - orig_desc = ItemStack(original):get_short_description() - end - def.visual_scale = 2.0 - def.description = S("Double-sized @1", orig_desc) - core.register_node("testnodes:"..subname.."_double", def) - def = table.copy(core.registered_items[original]) - def.visual_scale = 0.5 - def.description = S("Half-sized @1", orig_desc) - core.register_node("testnodes:"..subname.."_half", def) -end - -local allfaces_newsize_tt = "".. - S("Rendering depends on 'leaves_style' setting:").."\n".. - S("* 'fancy'/'simple': transparent").."\n".. - S("* 'opaque': opaque") - -scale("allfaces", S("Transparent node")) -scale("allfaces_optional", allfaces_newsize_tt) -scale("allfaces_optional_waving", allfaces_newsize_tt .. "\n" .. S("Waving if waving leaves are enabled by client")) -scale("plantlike") -scale("plantlike_wallmounted") -scale("torchlike_wallmounted") -scale("signlike_wallmounted") -scale("firelike") diff --git a/data/games/garage/mods/testnodes/init.lua b/data/games/garage/mods/testnodes/init.lua deleted file mode 100644 index 49a45e0..0000000 --- a/data/games/garage/mods/testnodes/init.lua +++ /dev/null @@ -1,13 +0,0 @@ -local path = core.get_modpath(core.get_current_modname()) - -dofile(path.."/drawtypes.lua") -dofile(path.."/meshes.lua") -dofile(path.."/nodeboxes.lua") -dofile(path.."/param2.lua") -dofile(path.."/performance_test_nodes.lua") -dofile(path.."/properties.lua") -dofile(path.."/liquids.lua") -dofile(path.."/light.lua") -dofile(path.."/textures.lua") -dofile(path.."/overlays.lua") -dofile(path.."/commands.lua") diff --git a/data/games/garage/mods/testnodes/light.lua b/data/games/garage/mods/testnodes/light.lua deleted file mode 100644 index 0f1ccb7..0000000 --- a/data/games/garage/mods/testnodes/light.lua +++ /dev/null @@ -1,50 +0,0 @@ --- Test Nodes: Light test - -local S = core.get_translator("testnodes") - --- All possible light levels -for i=1, core.LIGHT_MAX do - core.register_node("testnodes:light"..string.format("%02d", i), { - description = S("Light Source (@1)", i), - paramtype = "light", - light_source = i, - - - tiles ={"testnodes_light_"..i..".png"}, - drawtype = "glasslike", - walkable = false, - sunlight_propagates = true, - is_ground_content = false, - groups = {dig_immediate=3}, - }) -end - --- Lets light through, but not sunlight, leading to a --- reduction in light level when light passes through -core.register_node("testnodes:sunlight_filter", { - description = S("Sunlight Filter") .."\n".. - S("Lets light through, but weakens sunlight"), - paramtype = "light", - - - drawtype = "glasslike", - tiles = { - "testnodes_sunlight_filter.png", - }, - groups = { dig_immediate = 3 }, -}) - --- Lets light and sunlight through without obstruction -core.register_node("testnodes:sunlight_propagator", { - description = S("Sunlight Propagator") .."\n".. - S("Lets all light through"), - paramtype = "light", - sunlight_propagates = true, - - - drawtype = "glasslike", - tiles = { - "testnodes_sunlight_filter.png^[brighten", - }, - groups = { dig_immediate = 3 }, -}) diff --git a/data/games/garage/mods/testnodes/liquids.lua b/data/games/garage/mods/testnodes/liquids.lua deleted file mode 100644 index 130b2a7..0000000 --- a/data/games/garage/mods/testnodes/liquids.lua +++ /dev/null @@ -1,157 +0,0 @@ --- Add liquids for ranges and viscosity levels 0-8 - -for d=0, 8 do - local tt_normal - if d == 0 then - tt_normal = "\n".."Swimmable, renewable liquid" - else - tt_normal = "\n".."Swimmable, spreading, renewable liquid" - end - core.register_node("testnodes:rliquid_"..d, { - description = "Test Liquid Source, Range "..d.. - tt_normal .. "\n" .. "(falling & floating node)", - drawtype = "liquid", - tiles = {"testnodes_liquidsource_r"..d..".png"}, - special_tiles = { - {name = "testnodes_liquidsource_r"..d..".png", backface_culling = false}, - {name = "testnodes_liquidsource_r"..d..".png", backface_culling = true}, - }, - use_texture_alpha = "blend", - paramtype = "light", - walkable = false, - buildable_to = true, - is_ground_content = false, - liquidtype = "source", - liquid_alternative_flowing = "testnodes:rliquid_flowing_"..d, - liquid_alternative_source = "testnodes:rliquid_"..d, - liquid_range = d, - -- Also use these nodes to test falling, floating liquid source nodes - groups = {float = 1, falling_node = 1}, - }) - - core.register_node("testnodes:rliquid_flowing_"..d, { - description = "Flowing Test Liquid, Range "..d.. - tt_normal, - drawtype = "flowingliquid", - tiles = {"testnodes_liquidflowing_r"..d..".png"}, - special_tiles = { - {name = "testnodes_liquidflowing_r"..d..".png", backface_culling = false}, - {name = "testnodes_liquidflowing_r"..d..".png", backface_culling = false}, - }, - use_texture_alpha = "blend", - paramtype = "light", - paramtype2 = "flowingliquid", - walkable = false, - buildable_to = true, - is_ground_content = false, - liquidtype = "flowing", - liquid_alternative_flowing = "testnodes:rliquid_flowing_"..d, - liquid_alternative_source = "testnodes:rliquid_"..d, - liquid_range = d, - }) - - if d <= 7 then - - local tt_reduced = "" - if d > 0 then - tt_reduced = "\n".."Reduced swimming/spreading speed" - end - - local mod = "^[colorize:#000000:127" - core.register_node("testnodes:vliquid_"..d, { - description = "Test Liquid Source, Viscosity/Resistance "..d.."\n".. - "Swimmable, spreading, renewable liquid".. - tt_reduced, - drawtype = "liquid", - tiles = {"testnodes_liquidsource_r"..d..".png"..mod}, - special_tiles = { - {name = "testnodes_liquidsource_r"..d..".png"..mod, backface_culling = false}, - {name = "testnodes_liquidsource_r"..d..".png"..mod, backface_culling = true}, - }, - use_texture_alpha = "blend", - paramtype = "light", - walkable = false, - buildable_to = true, - is_ground_content = false, - liquidtype = "source", - liquid_alternative_flowing = "testnodes:vliquid_flowing_"..d, - liquid_alternative_source = "testnodes:vliquid_"..d, - liquid_viscosity = d, - }) - - core.register_node("testnodes:vliquid_flowing_"..d, { - description = "Flowing Test Liquid, Viscosity/Resistance "..d.."\n".. - "Swimmable, spreading, renewable liquid".. - tt_reduced, - drawtype = "flowingliquid", - tiles = {"testnodes_liquidflowing_r"..d..".png"..mod}, - special_tiles = { - {name = "testnodes_liquidflowing_r"..d..".png"..mod, backface_culling = false}, - {name = "testnodes_liquidflowing_r"..d..".png"..mod, backface_culling = false}, - }, - use_texture_alpha = "blend", - paramtype = "light", - paramtype2 = "flowingliquid", - walkable = false, - buildable_to = true, - is_ground_content = false, - liquidtype = "flowing", - liquid_alternative_flowing = "testnodes:vliquid_flowing_"..d, - liquid_alternative_source = "testnodes:vliquid_"..d, - liquid_viscosity = d, - }) - - mod = "^[colorize:#000000:192" - local v = 4 - core.register_node("testnodes:vrliquid_"..d, { - description = "Test Liquid Source, Viscosity "..v..", Resistance "..d.."\n".. - "Swimmable, spreading, renewable liquid".. - tt_reduced, - drawtype = "liquid", - tiles = {"testnodes_liquidsource_r"..d..".png"..mod}, - special_tiles = { - {name = "testnodes_liquidsource_r"..d..".png"..mod, backface_culling = false}, - {name = "testnodes_liquidsource_r"..d..".png"..mod, backface_culling = true}, - }, - use_texture_alpha = "blend", - paramtype = "light", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - liquidtype = "source", - liquid_alternative_flowing = "testnodes:vrliquid_flowing_"..d, - liquid_alternative_source = "testnodes:vrliquid_"..d, - liquid_viscosity = v, - move_resistance = d, - }) - - core.register_node("testnodes:vrliquid_flowing_"..d, { - description = "Flowing Test Liquid, Viscosity "..v..", Resistance "..d.."\n".. - "Swimmable, spreading, renewable liquid".. - tt_reduced, - drawtype = "flowingliquid", - tiles = {"testnodes_liquidflowing_r"..d..".png"..mod}, - special_tiles = { - {name = "testnodes_liquidflowing_r"..d..".png"..mod, backface_culling = false}, - {name = "testnodes_liquidflowing_r"..d..".png"..mod, backface_culling = false}, - }, - use_texture_alpha = "blend", - paramtype = "light", - paramtype2 = "flowingliquid", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - liquidtype = "flowing", - liquid_alternative_flowing = "testnodes:vrliquid_flowing_"..d, - liquid_alternative_source = "testnodes:vrliquid_"..d, - liquid_viscosity = v, - move_resistance = d, - }) - - end - -end diff --git a/data/games/garage/mods/testnodes/meshes.lua b/data/games/garage/mods/testnodes/meshes.lua deleted file mode 100644 index 4fafa8a..0000000 --- a/data/games/garage/mods/testnodes/meshes.lua +++ /dev/null @@ -1,179 +0,0 @@ --- Meshes - -local S = core.get_translator("testnodes") - -local ocorner_cbox = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.25, -0.25, 0.25, 0, 0.5}, - {-0.5, 0, 0, 0, 0.25, 0.5}, - {-0.5, 0.25, 0.25, -0.25, 0.5, 0.5} - } -} - -local tall_pyr_cbox = { - type = "fixed", - fixed = { - { -0.5, -0.5, -0.5, 0.5, -0.25, 0.5 }, - { -0.375, -0.25, -0.375, 0.375, 0, 0.375}, - { -0.25, 0, -0.25, 0.25, 0.25, 0.25}, - { -0.125, 0.25, -0.125, 0.125, 0.5, 0.125} - } -} - --- Normal mesh -core.register_node("testnodes:mesh", { - description = S("Mesh Test Node"), - drawtype = "mesh", - mesh = "testnodes_pyramid.obj", - tiles = {"testnodes_mesh_stripes2.png"}, - paramtype = "light", - collision_box = tall_pyr_cbox, - - groups = {dig_immediate=3}, -}) - --- Facedir mesh: outer corner slope -core.register_node("testnodes:mesh_facedir", { - description = S("Facedir Mesh Test Node").."\n".. - S("param2 = facedir rotation (0..23)"), - drawtype = "mesh", - mesh = "testnodes_ocorner.obj", - tiles = {"testnodes_mesh_stripes.png"}, - paramtype = "light", - paramtype2 = "facedir", - collision_box = ocorner_cbox, - - groups = {dig_immediate=3}, -}) - -core.register_node("testnodes:mesh_colorfacedir", { - description = S("Color Facedir Mesh Test Node").."\n".. - S("param2 = color + facedir rotation (0..23, 32..55, ...)"), - drawtype = "mesh", - mesh = "testnodes_ocorner.obj", - tiles = {"testnodes_mesh_stripes3.png"}, - paramtype = "light", - paramtype2 = "colorfacedir", - palette = "testnodes_palette_facedir.png", - collision_box = ocorner_cbox, - - groups = {dig_immediate=3}, -}) - -core.register_node("testnodes:mesh_4dir", { - description = S("4dir Mesh Test Node").."\n".. - S("param2 = 4dir rotation (0..3)"), - drawtype = "mesh", - mesh = "testnodes_ocorner.obj", - tiles = {"testnodes_mesh_stripes5.png"}, - paramtype = "light", - paramtype2 = "4dir", - collision_box = ocorner_cbox, - - groups = {dig_immediate=3}, -}) - -core.register_node("testnodes:mesh_color4dir", { - description = S("Color 4dir Mesh Test Node").."\n".. - S("param2 = color + 4dir rotation (0..255)"), - drawtype = "mesh", - mesh = "testnodes_ocorner.obj", - tiles = {"testnodes_mesh_stripes6.png"}, - paramtype = "light", - paramtype2 = "color4dir", - palette = "testnodes_palette_4dir.png", - collision_box = ocorner_cbox, - - groups = {dig_immediate=3}, -}) - --- Wallmounted mesh: pyramid -core.register_node("testnodes:mesh_wallmounted", { - description = S("Wallmounted Mesh Test Node").."\n".. - S("param2 = wallmounted rotation (0..7)"), - drawtype = "mesh", - mesh = "testnodes_pyramid.obj", - tiles = {"testnodes_mesh_stripes9.png"}, - paramtype = "light", - paramtype2 = "wallmounted", - collision_box = tall_pyr_cbox, - - groups = {dig_immediate=3}, -}) - -core.register_node("testnodes:mesh_colorwallmounted", { - description = S("Color Wallmounted Mesh Test Node").."\n".. - S("param2 = color + wallmounted rotation (0..7, 8..15, ...)"), - drawtype = "mesh", - mesh = "testnodes_pyramid.obj", - tiles = {"testnodes_mesh_stripes10.png"}, - paramtype = "light", - paramtype2 = "colorwallmounted", - palette = "testnodes_palette_wallmounted.png", - collision_box = tall_pyr_cbox, - - groups = {dig_immediate=3}, -}) - - -core.register_node("testnodes:mesh_double", { - description = S("Double-sized Mesh Test Node"), - drawtype = "mesh", - mesh = "testnodes_pyramid.obj", - tiles = {"testnodes_mesh_stripes2.png"}, - paramtype = "light", - collision_box = tall_pyr_cbox, - visual_scale = 2, - - groups = {dig_immediate=3}, -}) -core.register_node("testnodes:mesh_half", { - description = S("Half-sized Mesh Test Node"), - drawtype = "mesh", - mesh = "testnodes_pyramid.obj", - tiles = {"testnodes_mesh_stripes2.png"}, - paramtype = "light", - collision_box = tall_pyr_cbox, - visual_scale = 0.5, - - groups = {dig_immediate=3}, -}) - -core.register_node("testnodes:mesh_waving1", { - description = S("Plantlike-waving Mesh Test Node").."\n".. - S("Waves if waving plants are enabled by client"), - drawtype = "mesh", - mesh = "testnodes_pyramid.obj", - tiles = {"testnodes_mesh_stripes4.png^[multiply:#B0FFB0"}, - paramtype = "light", - collision_box = tall_pyr_cbox, - waving = 1, - - groups = {dig_immediate=3}, -}) -core.register_node("testnodes:mesh_waving2", { - description = S("Leaflike-waving Mesh Test Node").."\n".. - S("Waves if waving leaves are enabled by client"), - drawtype = "mesh", - mesh = "testnodes_pyramid.obj", - tiles = {"testnodes_mesh_stripes4.png^[multiply:#FFFFB0"}, - paramtype = "light", - collision_box = tall_pyr_cbox, - waving = 2, - - groups = {dig_immediate=3}, -}) -core.register_node("testnodes:mesh_waving3", { - description = S("Liquidlike-waving Mesh Test Node").."\n".. - S("Waves if waving liquids are enabled by client"), - drawtype = "mesh", - mesh = "testnodes_pyramid.obj", - tiles = {"testnodes_mesh_stripes4.png^[multiply:#B0B0FF"}, - paramtype = "light", - collision_box = tall_pyr_cbox, - waving = 3, - - groups = {dig_immediate=3}, -}) diff --git a/data/games/garage/mods/testnodes/mod.conf b/data/games/garage/mods/testnodes/mod.conf deleted file mode 100644 index d894c34..0000000 --- a/data/games/garage/mods/testnodes/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = testnodes -description = Contains a bunch of basic example nodes for demonstrative purposes, development and testing -depends = stairs diff --git a/data/games/garage/mods/testnodes/models/testnodes_marble_glass.obj b/data/games/garage/mods/testnodes/models/testnodes_marble_glass.obj deleted file mode 100644 index 5acd93e..0000000 --- a/data/games/garage/mods/testnodes/models/testnodes_marble_glass.obj +++ /dev/null @@ -1,1619 +0,0 @@ -# Blender 3.3.1 -# www.blender.org -o Cube -v 0.323728 0.323728 -0.323728 -v 0.323728 -0.323728 -0.323728 -v 0.323728 0.323728 0.323728 -v 0.323728 -0.323728 0.323728 -v -0.323728 0.323728 -0.323728 -v -0.323728 -0.323728 -0.323728 -v -0.323728 0.323728 0.323728 -v -0.323728 -0.323728 0.323728 -v -0.396318 -0.396318 0.000000 -v 0.000000 -0.396318 -0.396318 -v 0.396318 0.000000 -0.396318 -v -0.396318 0.000000 0.396318 -v 0.396318 0.000000 0.396318 -v -0.396318 0.000000 -0.396318 -v 0.000000 0.396318 0.396318 -v 0.396318 0.396318 0.000000 -v 0.000000 -0.396318 0.396318 -v -0.396318 0.396318 0.000000 -v 0.000000 0.396318 -0.396318 -v 0.396318 -0.396318 0.000000 -v 0.000000 0.561355 -0.000000 -v 0.000000 0.000000 0.561355 -v -0.561355 0.000000 0.000000 -v 0.000000 -0.561355 -0.000000 -v 0.561355 0.000000 -0.000000 -v -0.000000 0.000000 -0.561355 -v -0.378043 -0.378043 -0.169966 -v -0.378043 -0.378043 0.169966 -v 0.169966 -0.378043 -0.378043 -v -0.169966 -0.378043 -0.378043 -v 0.378043 0.169966 -0.378043 -v 0.378043 -0.169966 -0.378043 -v -0.378043 -0.169966 0.378043 -v -0.378043 0.169966 0.378043 -v 0.378043 0.169966 0.378043 -v 0.378043 -0.169966 0.378043 -v -0.378043 0.169966 -0.378043 -v -0.378043 -0.169966 -0.378043 -v 0.169966 0.378043 0.378043 -v -0.169966 0.378043 0.378043 -v 0.378043 0.378043 -0.169966 -v 0.378043 0.378043 0.169966 -v -0.169966 -0.378043 0.378043 -v 0.169966 -0.378043 0.378043 -v -0.378043 0.378043 0.169966 -v -0.378043 0.378043 -0.169966 -v -0.169966 0.378043 -0.378043 -v 0.169966 0.378043 -0.378043 -v 0.378043 -0.378043 0.169966 -v 0.378043 -0.378043 -0.169966 -v 0.000000 0.518474 -0.214562 -v -0.214562 0.518474 -0.000000 -v 0.000000 0.518474 0.214562 -v 0.214562 0.518474 -0.000000 -v 0.214562 0.000000 0.518474 -v 0.000000 0.214562 0.518474 -v -0.214562 0.000000 0.518474 -v 0.000000 -0.214562 0.518474 -v -0.518474 0.000000 0.214562 -v -0.518474 0.214562 0.000000 -v -0.518474 0.000000 -0.214562 -v -0.518474 -0.214562 0.000000 -v 0.000000 -0.518474 -0.214562 -v 0.214562 -0.518474 -0.000000 -v 0.000000 -0.518474 0.214562 -v -0.214562 -0.518474 -0.000000 -v 0.518474 0.000000 -0.214562 -v 0.518474 0.214562 -0.000000 -v 0.518474 0.000000 0.214562 -v 0.518474 -0.214562 -0.000000 -v -0.214562 0.000000 -0.518474 -v -0.000000 0.214562 -0.518474 -v 0.214562 0.000000 -0.518474 -v -0.000000 -0.214562 -0.518474 -v 0.205792 0.479498 -0.205792 -v -0.205792 0.479498 -0.205792 -v -0.205792 0.479498 0.205792 -v 0.205792 0.479498 0.205792 -v 0.205792 -0.205792 0.479498 -v 0.205792 0.205792 0.479498 -v -0.205792 0.205792 0.479498 -v -0.205792 -0.205792 0.479498 -v -0.479498 -0.205792 0.205792 -v -0.479498 0.205792 0.205792 -v -0.479498 0.205792 -0.205792 -v -0.479498 -0.205792 -0.205792 -v -0.205792 -0.479498 -0.205792 -v 0.205792 -0.479498 -0.205792 -v 0.205792 -0.479498 0.205792 -v -0.205792 -0.479498 0.205792 -v 0.479498 -0.205792 -0.205792 -v 0.479498 0.205792 -0.205792 -v 0.479498 0.205792 0.205792 -v 0.479498 -0.205792 0.205792 -v -0.205792 -0.205792 -0.479498 -v -0.205792 0.205792 -0.479498 -v 0.205792 0.205792 -0.479498 -v 0.205792 -0.205792 -0.479498 -v -0.355165 -0.355165 -0.249858 -v -0.391777 -0.391777 -0.085992 -v -0.391777 -0.391777 0.085992 -v -0.355165 -0.355165 0.249858 -v 0.249858 -0.355165 -0.355165 -v 0.085992 -0.391777 -0.391777 -v -0.085992 -0.391777 -0.391777 -v -0.249858 -0.355165 -0.355165 -v 0.355165 0.249858 -0.355165 -v 0.391777 0.085992 -0.391777 -v 0.391777 -0.085992 -0.391777 -v 0.355165 -0.249858 -0.355165 -v -0.355165 -0.249858 0.355165 -v -0.391777 -0.085992 0.391777 -v -0.391777 0.085992 0.391777 -v -0.355165 0.249858 0.355165 -v 0.355165 0.249858 0.355165 -v 0.391777 0.085992 0.391777 -v 0.391777 -0.085992 0.391777 -v 0.355165 -0.249858 0.355165 -v -0.355165 0.249858 -0.355165 -v -0.391777 0.085992 -0.391777 -v -0.391777 -0.085992 -0.391777 -v -0.355165 -0.249858 -0.355165 -v 0.249858 0.355165 0.355165 -v 0.085992 0.391777 0.391777 -v -0.085992 0.391777 0.391777 -v -0.249858 0.355165 0.355165 -v 0.355165 0.355165 -0.249858 -v 0.391777 0.391777 -0.085992 -v 0.391777 0.391777 0.085992 -v 0.355165 0.355165 0.249858 -v -0.249858 -0.355165 0.355165 -v -0.085992 -0.391777 0.391777 -v 0.085992 -0.391777 0.391777 -v 0.249858 -0.355165 0.355165 -v -0.355165 0.355165 0.249858 -v -0.391777 0.391777 0.085992 -v -0.391777 0.391777 -0.085992 -v -0.355165 0.355165 -0.249858 -v -0.249858 0.355165 -0.355165 -v -0.085992 0.391777 -0.391777 -v 0.085992 0.391777 -0.391777 -v 0.249858 0.355165 -0.355165 -v 0.355165 -0.355165 0.249858 -v 0.391777 -0.391777 0.085992 -v 0.391777 -0.391777 -0.085992 -v 0.355165 -0.355165 -0.249858 -v 0.000000 0.466551 -0.311553 -v 0.000000 0.550455 -0.109376 -v -0.311553 0.466551 0.000000 -v -0.109376 0.550455 0.000000 -v 0.000000 0.466551 0.311553 -v 0.000000 0.550455 0.109376 -v 0.311553 0.466551 0.000000 -v 0.109376 0.550455 0.000000 -v 0.311553 0.000000 0.466551 -v 0.109376 0.000000 0.550455 -v 0.000000 0.311553 0.466551 -v 0.000000 0.109376 0.550455 -v -0.311553 0.000000 0.466551 -v -0.109376 0.000000 0.550455 -v 0.000000 -0.311553 0.466551 -v 0.000000 -0.109376 0.550455 -v -0.466551 0.000000 0.311553 -v -0.550455 0.000000 0.109376 -v -0.466551 0.311553 0.000000 -v -0.550455 0.109376 0.000000 -v -0.466551 0.000000 -0.311553 -v -0.550455 0.000000 -0.109376 -v -0.466551 -0.311553 0.000000 -v -0.550455 -0.109376 0.000000 -v 0.000000 -0.466551 -0.311553 -v 0.000000 -0.550455 -0.109376 -v 0.311553 -0.466551 0.000000 -v 0.109376 -0.550455 0.000000 -v 0.000000 -0.466551 0.311553 -v 0.000000 -0.550455 0.109376 -v -0.311553 -0.466551 0.000000 -v -0.109376 -0.550455 0.000000 -v 0.466551 0.000000 -0.311553 -v 0.550455 0.000000 -0.109376 -v 0.466551 0.311553 0.000000 -v 0.550455 0.109376 0.000000 -v 0.466551 0.000000 0.311553 -v 0.550455 0.000000 0.109376 -v 0.466551 -0.311553 0.000000 -v 0.550455 -0.109376 0.000000 -v -0.311553 0.000000 -0.466551 -v -0.109376 0.000000 -0.550455 -v 0.000000 0.311553 -0.466551 -v 0.000000 0.109376 -0.550455 -v 0.311553 0.000000 -0.466551 -v 0.109376 0.000000 -0.550455 -v 0.000000 -0.311553 -0.466551 -v 0.000000 -0.109376 -0.550455 -v 0.190929 0.435731 -0.296656 -v 0.104690 0.507685 -0.213841 -v 0.213841 0.507685 -0.104690 -v 0.296656 0.435731 -0.190929 -v -0.190929 0.435731 -0.296656 -v -0.296656 0.435731 -0.190929 -v -0.213841 0.507685 -0.104690 -v -0.104690 0.507685 -0.213841 -v -0.213841 0.507685 0.104690 -v -0.296656 0.435731 0.190929 -v -0.190929 0.435731 0.296656 -v -0.104690 0.507685 0.213841 -v 0.213841 0.507685 0.104690 -v 0.104690 0.507685 0.213841 -v 0.190929 0.435731 0.296656 -v 0.296656 0.435731 0.190929 -v 0.296656 -0.190929 0.435731 -v 0.213841 -0.104690 0.507685 -v 0.104690 -0.213841 0.507685 -v 0.190929 -0.296656 0.435731 -v 0.296656 0.190929 0.435731 -v 0.190929 0.296656 0.435731 -v 0.104690 0.213841 0.507685 -v 0.213841 0.104690 0.507685 -v -0.104690 0.213841 0.507685 -v -0.190929 0.296656 0.435731 -v -0.296656 0.190929 0.435731 -v -0.213841 0.104690 0.507685 -v -0.104690 -0.213841 0.507685 -v -0.213841 -0.104690 0.507685 -v -0.296656 -0.190929 0.435731 -v -0.190929 -0.296656 0.435731 -v -0.435731 -0.190929 0.296656 -v -0.507685 -0.104690 0.213841 -v -0.507685 -0.213841 0.104690 -v -0.435731 -0.296656 0.190929 -v -0.435731 0.190929 0.296656 -v -0.435731 0.296656 0.190929 -v -0.507685 0.213841 0.104690 -v -0.507685 0.104690 0.213841 -v -0.507685 0.213841 -0.104690 -v -0.435731 0.296656 -0.190929 -v -0.435731 0.190929 -0.296656 -v -0.507685 0.104690 -0.213841 -v -0.507685 -0.213841 -0.104690 -v -0.507685 -0.104690 -0.213841 -v -0.435731 -0.190929 -0.296656 -v -0.435731 -0.296656 -0.190929 -v -0.190929 -0.435731 -0.296656 -v -0.104690 -0.507685 -0.213841 -v -0.213841 -0.507685 -0.104690 -v -0.296656 -0.435731 -0.190929 -v 0.190929 -0.435731 -0.296656 -v 0.296656 -0.435731 -0.190929 -v 0.213841 -0.507685 -0.104690 -v 0.104690 -0.507685 -0.213841 -v 0.213841 -0.507685 0.104690 -v 0.296656 -0.435731 0.190929 -v 0.190929 -0.435731 0.296656 -v 0.104690 -0.507685 0.213841 -v -0.213841 -0.507685 0.104690 -v -0.104690 -0.507685 0.213841 -v -0.190929 -0.435731 0.296656 -v -0.296656 -0.435731 0.190929 -v 0.435731 -0.190929 -0.296656 -v 0.507685 -0.104690 -0.213841 -v 0.507685 -0.213841 -0.104690 -v 0.435731 -0.296656 -0.190929 -v 0.435731 0.190929 -0.296656 -v 0.435731 0.296656 -0.190929 -v 0.507685 0.213841 -0.104690 -v 0.507685 0.104690 -0.213841 -v 0.507685 0.213841 0.104690 -v 0.435731 0.296656 0.190929 -v 0.435731 0.190929 0.296656 -v 0.507685 0.104690 0.213841 -v 0.507685 -0.213841 0.104690 -v 0.507685 -0.104690 0.213841 -v 0.435731 -0.190929 0.296656 -v 0.435731 -0.296656 0.190929 -v -0.296656 -0.190929 -0.435731 -v -0.213841 -0.104690 -0.507685 -v -0.104690 -0.213841 -0.507685 -v -0.190929 -0.296656 -0.435731 -v -0.296656 0.190929 -0.435731 -v -0.190929 0.296656 -0.435731 -v -0.104690 0.213841 -0.507685 -v -0.213841 0.104690 -0.507685 -v 0.104690 0.213841 -0.507685 -v 0.190929 0.296656 -0.435731 -v 0.296656 0.190929 -0.435731 -v 0.213841 0.104690 -0.507685 -v 0.104690 -0.213841 -0.507685 -v 0.213841 -0.104690 -0.507685 -v 0.296656 -0.190929 -0.435731 -v 0.190929 -0.296656 -0.435731 -v 0.277006 0.400861 -0.277006 -v 0.097104 0.458010 -0.308740 -v 0.109074 0.539153 -0.109074 -v 0.308740 0.458010 -0.097104 -v -0.097104 0.458010 -0.308740 -v -0.277006 0.400861 -0.277006 -v -0.308740 0.458010 -0.097104 -v -0.109074 0.539153 -0.109074 -v -0.109074 0.539153 0.109074 -v -0.308740 0.458010 0.097104 -v -0.277006 0.400861 0.277006 -v -0.097104 0.458010 0.308740 -v 0.308740 0.458010 0.097104 -v 0.109074 0.539153 0.109074 -v 0.097104 0.458010 0.308740 -v 0.277006 0.400861 0.277006 -v 0.277006 -0.277006 0.400861 -v 0.308740 -0.097104 0.458010 -v 0.109074 -0.109074 0.539153 -v 0.097104 -0.308740 0.458010 -v 0.308740 0.097104 0.458010 -v 0.277006 0.277006 0.400861 -v 0.097104 0.308740 0.458010 -v 0.109074 0.109074 0.539153 -v -0.109074 0.109074 0.539153 -v -0.097104 0.308740 0.458010 -v -0.277006 0.277006 0.400861 -v -0.308740 0.097104 0.458010 -v -0.097104 -0.308740 0.458010 -v -0.109074 -0.109074 0.539153 -v -0.308740 -0.097104 0.458010 -v -0.277006 -0.277006 0.400861 -v -0.400861 -0.277006 0.277006 -v -0.458010 -0.097104 0.308740 -v -0.539153 -0.109074 0.109074 -v -0.458010 -0.308740 0.097104 -v -0.458010 0.097104 0.308740 -v -0.400861 0.277006 0.277006 -v -0.458010 0.308740 0.097104 -v -0.539153 0.109074 0.109074 -v -0.539153 0.109074 -0.109074 -v -0.458010 0.308740 -0.097104 -v -0.400861 0.277006 -0.277006 -v -0.458010 0.097104 -0.308740 -v -0.458010 -0.308740 -0.097104 -v -0.539153 -0.109074 -0.109074 -v -0.458010 -0.097104 -0.308740 -v -0.400861 -0.277006 -0.277006 -v -0.277006 -0.400861 -0.277006 -v -0.097104 -0.458010 -0.308740 -v -0.109074 -0.539153 -0.109074 -v -0.308740 -0.458010 -0.097104 -v 0.097104 -0.458010 -0.308740 -v 0.277006 -0.400861 -0.277006 -v 0.308740 -0.458010 -0.097104 -v 0.109074 -0.539153 -0.109074 -v 0.109074 -0.539153 0.109074 -v 0.308740 -0.458010 0.097104 -v 0.277006 -0.400861 0.277006 -v 0.097104 -0.458010 0.308740 -v -0.308740 -0.458010 0.097104 -v -0.109074 -0.539153 0.109074 -v -0.097104 -0.458010 0.308740 -v -0.277006 -0.400861 0.277006 -v 0.400861 -0.277006 -0.277006 -v 0.458010 -0.097104 -0.308740 -v 0.539153 -0.109074 -0.109074 -v 0.458010 -0.308740 -0.097104 -v 0.458010 0.097104 -0.308740 -v 0.400861 0.277006 -0.277006 -v 0.458010 0.308740 -0.097104 -v 0.539153 0.109074 -0.109074 -v 0.539153 0.109074 0.109074 -v 0.458010 0.308740 0.097104 -v 0.400861 0.277006 0.277006 -v 0.458010 0.097104 0.308740 -v 0.458010 -0.308740 0.097104 -v 0.539153 -0.109074 0.109074 -v 0.458010 -0.097104 0.308740 -v 0.400861 -0.277006 0.277006 -v -0.277006 -0.277006 -0.400861 -v -0.308740 -0.097104 -0.458010 -v -0.109074 -0.109074 -0.539153 -v -0.097104 -0.308740 -0.458010 -v -0.308740 0.097104 -0.458010 -v -0.277006 0.277006 -0.400861 -v -0.097104 0.308740 -0.458010 -v -0.109074 0.109074 -0.539153 -v 0.109074 0.109074 -0.539153 -v 0.097104 0.308740 -0.458010 -v 0.277006 0.277006 -0.400861 -v 0.308740 0.097104 -0.458010 -v 0.097104 -0.308740 -0.458010 -v 0.109074 -0.109074 -0.539153 -v 0.308740 -0.097104 -0.458010 -v 0.277006 -0.277006 -0.400861 -vn 0.5774 0.5774 -0.5774 -vn 0.4530 0.6304 -0.6304 -vn 0.4902 0.7207 -0.4902 -vn 0.6304 0.6304 -0.4530 -vn 0.3090 0.6725 -0.6725 -vn 0.3371 0.7812 -0.5254 -vn 0.3638 0.8575 -0.3638 -vn 0.5254 0.7812 -0.3371 -vn 0.6725 0.6725 -0.3090 -vn 0.1560 0.6984 -0.6984 -vn 0.1715 0.8189 -0.5477 -vn -0.0000 0.7071 -0.7071 -vn -0.0000 0.8326 -0.5539 -vn -0.0000 0.9246 -0.3809 -vn 0.1869 0.9066 -0.3783 -vn 0.1950 0.9612 -0.1950 -vn 0.3783 0.9066 -0.1869 -vn -0.0000 0.9806 -0.1961 -vn -0.0000 1.0000 -0.0000 -vn 0.1961 0.9806 -0.0000 -vn 0.3809 0.9246 -0.0000 -vn 0.5477 0.8189 -0.1715 -vn 0.6984 0.6984 -0.1560 -vn 0.5539 0.8326 -0.0000 -vn 0.7071 0.7071 -0.0000 -vn -0.1560 0.6984 -0.6984 -vn -0.1715 0.8189 -0.5477 -vn -0.3090 0.6725 -0.6725 -vn -0.3371 0.7812 -0.5254 -vn -0.3638 0.8575 -0.3638 -vn -0.1869 0.9066 -0.3783 -vn -0.4530 0.6304 -0.6304 -vn -0.4902 0.7207 -0.4902 -vn -0.5774 0.5774 -0.5774 -vn -0.6304 0.6304 -0.4530 -vn -0.6725 0.6725 -0.3090 -vn -0.5254 0.7812 -0.3371 -vn -0.5477 0.8189 -0.1715 -vn -0.3783 0.9066 -0.1869 -vn -0.6984 0.6984 -0.1560 -vn -0.7071 0.7071 -0.0000 -vn -0.5539 0.8326 -0.0000 -vn -0.3809 0.9246 -0.0000 -vn -0.1950 0.9612 -0.1950 -vn -0.1961 0.9806 -0.0000 -vn -0.1950 0.9612 0.1950 -vn -0.0000 0.9806 0.1961 -vn -0.3783 0.9066 0.1869 -vn -0.3638 0.8575 0.3638 -vn -0.1869 0.9066 0.3783 -vn -0.0000 0.9246 0.3809 -vn -0.5477 0.8189 0.1715 -vn -0.6984 0.6984 0.1560 -vn -0.6725 0.6725 0.3090 -vn -0.5254 0.7812 0.3371 -vn -0.4902 0.7207 0.4902 -vn -0.3371 0.7812 0.5254 -vn -0.6304 0.6304 0.4530 -vn -0.5774 0.5774 0.5774 -vn -0.4530 0.6304 0.6304 -vn -0.3090 0.6725 0.6725 -vn -0.1715 0.8189 0.5477 -vn -0.0000 0.8326 0.5539 -vn -0.1560 0.6984 0.6984 -vn -0.0000 0.7071 0.7071 -vn 0.5477 0.8189 0.1715 -vn 0.6984 0.6984 0.1560 -vn 0.3783 0.9066 0.1869 -vn 0.3638 0.8575 0.3638 -vn 0.5254 0.7812 0.3371 -vn 0.6725 0.6725 0.3090 -vn 0.1950 0.9612 0.1950 -vn 0.1869 0.9066 0.3783 -vn 0.1715 0.8189 0.5477 -vn 0.3371 0.7812 0.5254 -vn 0.1560 0.6984 0.6984 -vn 0.3090 0.6725 0.6725 -vn 0.4902 0.7207 0.4902 -vn 0.6304 0.6304 0.4530 -vn 0.4530 0.6304 0.6304 -vn 0.5774 0.5774 0.5774 -vn 0.5774 -0.5774 0.5774 -vn 0.6304 -0.4530 0.6304 -vn 0.4902 -0.4902 0.7207 -vn 0.4530 -0.6304 0.6304 -vn 0.6725 -0.3090 0.6725 -vn 0.5254 -0.3371 0.7812 -vn 0.3638 -0.3638 0.8575 -vn 0.3371 -0.5254 0.7812 -vn 0.3090 -0.6725 0.6725 -vn 0.6984 -0.1560 0.6984 -vn 0.5477 -0.1715 0.8189 -vn 0.7071 -0.0000 0.7071 -vn 0.5539 -0.0000 0.8326 -vn 0.3809 -0.0000 0.9246 -vn 0.3783 -0.1869 0.9066 -vn 0.1950 -0.1950 0.9612 -vn 0.1869 -0.3783 0.9066 -vn 0.1961 -0.0000 0.9806 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -0.1961 0.9806 -vn -0.0000 -0.3809 0.9246 -vn 0.1715 -0.5477 0.8189 -vn 0.1560 -0.6984 0.6984 -vn -0.0000 -0.5539 0.8326 -vn -0.0000 -0.7071 0.7071 -vn 0.6984 0.1560 0.6984 -vn 0.5477 0.1715 0.8189 -vn 0.6725 0.3090 0.6725 -vn 0.5254 0.3371 0.7812 -vn 0.3638 0.3638 0.8575 -vn 0.3783 0.1869 0.9066 -vn 0.6304 0.4530 0.6304 -vn 0.4902 0.4902 0.7207 -vn 0.3371 0.5254 0.7812 -vn 0.1715 0.5477 0.8189 -vn 0.1869 0.3783 0.9066 -vn -0.0000 0.5539 0.8326 -vn -0.0000 0.3809 0.9246 -vn 0.1950 0.1950 0.9612 -vn -0.0000 0.1961 0.9806 -vn -0.1950 0.1950 0.9612 -vn -0.1961 -0.0000 0.9806 -vn -0.1869 0.3783 0.9066 -vn -0.3638 0.3638 0.8575 -vn -0.3783 0.1869 0.9066 -vn -0.3809 -0.0000 0.9246 -vn -0.1715 0.5477 0.8189 -vn -0.3371 0.5254 0.7812 -vn -0.4902 0.4902 0.7207 -vn -0.5254 0.3371 0.7812 -vn -0.6304 0.4530 0.6304 -vn -0.6725 0.3090 0.6725 -vn -0.5477 0.1715 0.8189 -vn -0.5539 -0.0000 0.8326 -vn -0.6984 0.1560 0.6984 -vn -0.7071 -0.0000 0.7071 -vn -0.1715 -0.5477 0.8189 -vn -0.1560 -0.6984 0.6984 -vn -0.1869 -0.3783 0.9066 -vn -0.3638 -0.3638 0.8575 -vn -0.3371 -0.5254 0.7812 -vn -0.3090 -0.6725 0.6725 -vn -0.1950 -0.1950 0.9612 -vn -0.3783 -0.1869 0.9066 -vn -0.5477 -0.1715 0.8189 -vn -0.5254 -0.3371 0.7812 -vn -0.6984 -0.1560 0.6984 -vn -0.6725 -0.3090 0.6725 -vn -0.4902 -0.4902 0.7207 -vn -0.4530 -0.6304 0.6304 -vn -0.6304 -0.4530 0.6304 -vn -0.5774 -0.5774 0.5774 -vn -0.7207 -0.4902 0.4902 -vn -0.6304 -0.6304 0.4530 -vn -0.7812 -0.3371 0.5254 -vn -0.8575 -0.3638 0.3638 -vn -0.7812 -0.5254 0.3371 -vn -0.6725 -0.6725 0.3090 -vn -0.8189 -0.1715 0.5477 -vn -0.8326 -0.0000 0.5539 -vn -0.9246 -0.0000 0.3809 -vn -0.9066 -0.1869 0.3783 -vn -0.9612 -0.1950 0.1950 -vn -0.9066 -0.3783 0.1869 -vn -0.9806 -0.0000 0.1961 -vn -1.0000 -0.0000 -0.0000 -vn -0.9806 -0.1961 -0.0000 -vn -0.9246 -0.3809 -0.0000 -vn -0.8189 -0.5477 0.1715 -vn -0.6984 -0.6984 0.1560 -vn -0.8326 -0.5539 -0.0000 -vn -0.7071 -0.7071 -0.0000 -vn -0.8189 0.1715 0.5477 -vn -0.7812 0.3371 0.5254 -vn -0.8575 0.3638 0.3638 -vn -0.9066 0.1869 0.3783 -vn -0.7207 0.4902 0.4902 -vn -0.7812 0.5254 0.3371 -vn -0.8189 0.5477 0.1715 -vn -0.9066 0.3783 0.1869 -vn -0.8326 0.5539 -0.0000 -vn -0.9246 0.3809 -0.0000 -vn -0.9612 0.1950 0.1950 -vn -0.9806 0.1961 -0.0000 -vn -0.9612 0.1950 -0.1950 -vn -0.9806 -0.0000 -0.1961 -vn -0.9066 0.3783 -0.1869 -vn -0.8575 0.3638 -0.3638 -vn -0.9066 0.1869 -0.3783 -vn -0.9246 -0.0000 -0.3809 -vn -0.8189 0.5477 -0.1715 -vn -0.7812 0.5254 -0.3371 -vn -0.7207 0.4902 -0.4902 -vn -0.7812 0.3371 -0.5254 -vn -0.6304 0.4530 -0.6304 -vn -0.6725 0.3090 -0.6725 -vn -0.8189 0.1715 -0.5477 -vn -0.8326 -0.0000 -0.5539 -vn -0.6984 0.1560 -0.6984 -vn -0.7071 -0.0000 -0.7071 -vn -0.8189 -0.5477 -0.1715 -vn -0.6984 -0.6984 -0.1560 -vn -0.9066 -0.3783 -0.1869 -vn -0.8575 -0.3638 -0.3638 -vn -0.7812 -0.5254 -0.3371 -vn -0.6725 -0.6725 -0.3090 -vn -0.9612 -0.1950 -0.1950 -vn -0.9066 -0.1869 -0.3783 -vn -0.8189 -0.1715 -0.5477 -vn -0.7812 -0.3371 -0.5254 -vn -0.6984 -0.1560 -0.6984 -vn -0.6725 -0.3090 -0.6725 -vn -0.7207 -0.4902 -0.4902 -vn -0.6304 -0.6304 -0.4530 -vn -0.6304 -0.4530 -0.6304 -vn -0.5774 -0.5774 -0.5774 -vn -0.4530 -0.6304 -0.6304 -vn -0.4902 -0.7207 -0.4902 -vn -0.3090 -0.6725 -0.6725 -vn -0.3371 -0.7812 -0.5254 -vn -0.3638 -0.8575 -0.3638 -vn -0.5254 -0.7812 -0.3371 -vn -0.1560 -0.6984 -0.6984 -vn -0.1715 -0.8189 -0.5477 -vn -0.0000 -0.7071 -0.7071 -vn -0.0000 -0.8326 -0.5539 -vn -0.0000 -0.9246 -0.3809 -vn -0.1869 -0.9066 -0.3783 -vn -0.1950 -0.9612 -0.1950 -vn -0.3783 -0.9066 -0.1869 -vn -0.0000 -0.9806 -0.1961 -vn -0.0000 -1.0000 -0.0000 -vn -0.1961 -0.9806 -0.0000 -vn -0.3809 -0.9246 -0.0000 -vn -0.5477 -0.8189 -0.1715 -vn -0.5539 -0.8326 -0.0000 -vn 0.1560 -0.6984 -0.6984 -vn 0.1715 -0.8189 -0.5477 -vn 0.3090 -0.6725 -0.6725 -vn 0.3371 -0.7812 -0.5254 -vn 0.3638 -0.8575 -0.3638 -vn 0.1869 -0.9066 -0.3783 -vn 0.4530 -0.6304 -0.6304 -vn 0.4902 -0.7207 -0.4902 -vn 0.5774 -0.5774 -0.5774 -vn 0.6304 -0.6304 -0.4530 -vn 0.6725 -0.6725 -0.3090 -vn 0.5254 -0.7812 -0.3371 -vn 0.5477 -0.8189 -0.1715 -vn 0.3783 -0.9066 -0.1869 -vn 0.6984 -0.6984 -0.1560 -vn 0.7071 -0.7071 -0.0000 -vn 0.5539 -0.8326 -0.0000 -vn 0.3809 -0.9246 -0.0000 -vn 0.1950 -0.9612 -0.1950 -vn 0.1961 -0.9806 -0.0000 -vn 0.1950 -0.9612 0.1950 -vn -0.0000 -0.9806 0.1961 -vn 0.3783 -0.9066 0.1869 -vn 0.3638 -0.8575 0.3638 -vn 0.1869 -0.9066 0.3783 -vn -0.0000 -0.9246 0.3809 -vn 0.5477 -0.8189 0.1715 -vn 0.6984 -0.6984 0.1560 -vn 0.6725 -0.6725 0.3090 -vn 0.5254 -0.7812 0.3371 -vn 0.4902 -0.7207 0.4902 -vn 0.3371 -0.7812 0.5254 -vn 0.6304 -0.6304 0.4530 -vn 0.1715 -0.8189 0.5477 -vn -0.0000 -0.8326 0.5539 -vn -0.5477 -0.8189 0.1715 -vn -0.3783 -0.9066 0.1869 -vn -0.3638 -0.8575 0.3638 -vn -0.5254 -0.7812 0.3371 -vn -0.1950 -0.9612 0.1950 -vn -0.1869 -0.9066 0.3783 -vn -0.1715 -0.8189 0.5477 -vn -0.3371 -0.7812 0.5254 -vn -0.4902 -0.7207 0.4902 -vn 0.6304 -0.4530 -0.6304 -vn 0.7207 -0.4902 -0.4902 -vn 0.6725 -0.3090 -0.6725 -vn 0.7812 -0.3371 -0.5254 -vn 0.8575 -0.3638 -0.3638 -vn 0.7812 -0.5254 -0.3371 -vn 0.6984 -0.1560 -0.6984 -vn 0.8189 -0.1715 -0.5477 -vn 0.7071 -0.0000 -0.7071 -vn 0.8326 -0.0000 -0.5539 -vn 0.9246 -0.0000 -0.3809 -vn 0.9066 -0.1869 -0.3783 -vn 0.9612 -0.1950 -0.1950 -vn 0.9066 -0.3783 -0.1869 -vn 0.9806 -0.0000 -0.1961 -vn 1.0000 -0.0000 -0.0000 -vn 0.9806 -0.1961 -0.0000 -vn 0.9246 -0.3809 -0.0000 -vn 0.8189 -0.5477 -0.1715 -vn 0.8326 -0.5539 -0.0000 -vn 0.6984 0.1560 -0.6984 -vn 0.8189 0.1715 -0.5477 -vn 0.6725 0.3090 -0.6725 -vn 0.7812 0.3371 -0.5254 -vn 0.8575 0.3638 -0.3638 -vn 0.9066 0.1869 -0.3783 -vn 0.6304 0.4530 -0.6304 -vn 0.7207 0.4902 -0.4902 -vn 0.7812 0.5254 -0.3371 -vn 0.8189 0.5477 -0.1715 -vn 0.9066 0.3783 -0.1869 -vn 0.8326 0.5539 -0.0000 -vn 0.9246 0.3809 -0.0000 -vn 0.9612 0.1950 -0.1950 -vn 0.9806 0.1961 -0.0000 -vn 0.9612 0.1950 0.1950 -vn 0.9806 -0.0000 0.1961 -vn 0.9066 0.3783 0.1869 -vn 0.8575 0.3638 0.3638 -vn 0.9066 0.1869 0.3783 -vn 0.9246 -0.0000 0.3809 -vn 0.8189 0.5477 0.1715 -vn 0.7812 0.5254 0.3371 -vn 0.7207 0.4902 0.4902 -vn 0.7812 0.3371 0.5254 -vn 0.8189 0.1715 0.5477 -vn 0.8326 -0.0000 0.5539 -vn 0.8189 -0.5477 0.1715 -vn 0.9066 -0.3783 0.1869 -vn 0.8575 -0.3638 0.3638 -vn 0.7812 -0.5254 0.3371 -vn 0.9612 -0.1950 0.1950 -vn 0.9066 -0.1869 0.3783 -vn 0.8189 -0.1715 0.5477 -vn 0.7812 -0.3371 0.5254 -vn 0.7207 -0.4902 0.4902 -vn -0.4902 -0.4902 -0.7207 -vn -0.5254 -0.3371 -0.7812 -vn -0.3638 -0.3638 -0.8575 -vn -0.3371 -0.5254 -0.7812 -vn -0.5477 -0.1715 -0.8189 -vn -0.5539 -0.0000 -0.8326 -vn -0.3809 -0.0000 -0.9246 -vn -0.3783 -0.1869 -0.9066 -vn -0.1950 -0.1950 -0.9612 -vn -0.1869 -0.3783 -0.9066 -vn -0.1961 -0.0000 -0.9806 -vn -0.0000 -0.0000 -1.0000 -vn -0.0000 -0.1961 -0.9806 -vn -0.0000 -0.3809 -0.9246 -vn -0.1715 -0.5477 -0.8189 -vn -0.0000 -0.5539 -0.8326 -vn -0.5477 0.1715 -0.8189 -vn -0.5254 0.3371 -0.7812 -vn -0.3638 0.3638 -0.8575 -vn -0.3783 0.1869 -0.9066 -vn -0.4902 0.4902 -0.7207 -vn -0.3371 0.5254 -0.7812 -vn -0.1715 0.5477 -0.8189 -vn -0.1869 0.3783 -0.9066 -vn -0.0000 0.5539 -0.8326 -vn -0.0000 0.3809 -0.9246 -vn -0.1950 0.1950 -0.9612 -vn -0.0000 0.1961 -0.9806 -vn 0.1950 0.1950 -0.9612 -vn 0.1961 -0.0000 -0.9806 -vn 0.1869 0.3783 -0.9066 -vn 0.3638 0.3638 -0.8575 -vn 0.3783 0.1869 -0.9066 -vn 0.3809 -0.0000 -0.9246 -vn 0.1715 0.5477 -0.8189 -vn 0.3371 0.5254 -0.7812 -vn 0.4902 0.4902 -0.7207 -vn 0.5254 0.3371 -0.7812 -vn 0.5477 0.1715 -0.8189 -vn 0.5539 -0.0000 -0.8326 -vn 0.1715 -0.5477 -0.8189 -vn 0.1869 -0.3783 -0.9066 -vn 0.3638 -0.3638 -0.8575 -vn 0.3371 -0.5254 -0.7812 -vn 0.1950 -0.1950 -0.9612 -vn 0.3783 -0.1869 -0.9066 -vn 0.5477 -0.1715 -0.8189 -vn 0.5254 -0.3371 -0.7812 -vn 0.4902 -0.4902 -0.7207 -vt 0.500000 1.000000 -vt 1.000000 0.500000 -vt -0.000000 0.500000 -vt 0.500000 1.000000 -vt 1.000000 0.000000 -vt -0.000000 0.000000 -vt 0.500000 0.500000 -vt 0.500000 0.500000 -vt 0.500000 0.000000 -vt -0.000000 1.000000 -vt 0.500000 0.500000 -vt 1.000000 1.000000 -vt 0.500000 0.000000 -vt -0.000000 0.500000 -vt 1.000000 0.500000 -vt -0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.750000 0.000000 -vt 1.000000 0.750000 -vt 0.750000 1.000000 -vt 0.250000 0.000000 -vt 1.000000 0.250000 -vt -0.000000 0.250000 -vt -0.000000 0.250000 -vt 1.000000 0.250000 -vt 0.500000 0.250000 -vt 0.500000 0.250000 -vt 0.250000 0.500000 -vt 0.500000 0.750000 -vt 0.750000 0.500000 -vt 0.250000 0.000000 -vt 0.750000 0.500000 -vt -0.000000 0.750000 -vt 0.750000 0.500000 -vt 0.250000 1.000000 -vt 0.250000 0.500000 -vt 0.500000 0.750000 -vt 0.750000 0.000000 -vt 0.250000 0.750001 -vt 0.250000 0.250000 -vt 0.750000 0.250000 -vt 0.750000 0.750000 -vt 0.750000 0.250000 -vt 0.250000 0.250000 -vt 0.625000 0.000000 -vt 1.000000 0.875000 -vt 0.875000 0.000000 -vt 1.000000 0.625000 -vt 0.625000 1.000000 -vt 0.125000 0.000000 -vt 0.875000 1.000000 -vt 0.375000 0.000000 -vt 1.000000 0.375000 -vt -0.000000 0.375000 -vt 1.000000 0.125000 -vt -0.000000 0.125000 -vt -0.000000 0.125000 -vt 1.000000 0.125000 -vt -0.000000 0.375000 -vt 1.000000 0.375000 -vt 0.500000 0.375000 -vt 0.500000 0.125000 -vt 0.500000 0.375000 -vt 0.500000 0.125000 -vt 0.375000 0.500000 -vt 0.125000 0.500000 -vt 0.500000 0.875000 -vt 0.875000 0.500000 -vt 0.500000 0.625000 -vt 0.625000 0.500000 -vt 0.125000 0.000000 -vt 0.875000 0.500000 -vt 0.375000 -0.000000 -vt 0.625000 0.500000 -vt -0.000000 0.625000 -vt 0.875000 0.500000 -vt -0.000000 0.875000 -vt 0.625000 0.500000 -vt 0.125000 1.000000 -vt 0.375000 0.500000 -vt 0.375000 1.000000 -vt 0.125000 0.500000 -vt 0.500000 0.625000 -vt 0.625000 0.000000 -vt 0.500000 0.875000 -vt 0.875000 0.000000 -vt 0.250000 0.875000 -vt 0.125000 0.750000 -vt 0.250000 0.625000 -vt 0.375000 0.750000 -vt 0.375000 0.250000 -vt 0.250000 0.375000 -vt 0.125000 0.250000 -vt 0.250000 0.125000 -vt 0.875000 0.250000 -vt 0.750000 0.375000 -vt 0.625000 0.250000 -vt 0.750000 0.125000 -vt 0.750000 0.875000 -vt 0.625000 0.750000 -vt 0.750000 0.625000 -vt 0.875000 0.750000 -vt 0.875000 0.250000 -vt 0.750000 0.375000 -vt 0.625000 0.250000 -vt 0.750000 0.125000 -vt 0.375000 0.250000 -vt 0.250000 0.375000 -vt 0.125000 0.250000 -vt 0.250000 0.125000 -vt 0.375000 0.875000 -vt 0.125000 0.875000 -vt 0.125000 0.625000 -vt 0.375000 0.625000 -vt 0.375000 0.125000 -vt 0.375000 0.375000 -vt 0.125000 0.375000 -vt 0.125000 0.125000 -vt 0.875000 0.125000 -vt 0.875000 0.375000 -vt 0.625000 0.375000 -vt 0.625000 0.125000 -vt 0.875000 0.875000 -vt 0.625000 0.875000 -vt 0.625000 0.625000 -vt 0.875000 0.625000 -vt 0.875000 0.125000 -vt 0.875000 0.375000 -vt 0.625000 0.375000 -vt 0.625000 0.125000 -vt 0.375000 0.125000 -vt 0.375000 0.375000 -vt 0.125000 0.375000 -vt 0.125000 0.125000 -vt 0.562500 0.000000 -vt 1.000000 0.937500 -vt 0.687500 0.000000 -vt 1.000000 0.812500 -vt 0.812500 0.000000 -vt 1.000000 0.687500 -vt 0.937500 0.000000 -vt 1.000000 0.562500 -vt 0.562500 1.000000 -vt 0.062500 0.000000 -vt 0.687500 1.000000 -vt 0.187500 0.000000 -vt 0.812500 1.000000 -vt 0.312500 0.000000 -vt 0.937500 1.000000 -vt 0.437500 0.000000 -vt 1.000000 0.437500 -vt -0.000000 0.437500 -vt 1.000000 0.312500 -vt -0.000000 0.312500 -vt 1.000000 0.187500 -vt -0.000000 0.187500 -vt 1.000000 0.062500 -vt -0.000000 0.062500 -vt -0.000000 0.062500 -vt 1.000000 0.062500 -vt -0.000000 0.187500 -vt 1.000000 0.187500 -vt -0.000000 0.312500 -vt 1.000000 0.312500 -vt -0.000000 0.437500 -vt 1.000000 0.437500 -vt 0.500000 0.437500 -vt 0.500000 0.312500 -vt 0.500000 0.187500 -vt 0.500000 0.062500 -vt 0.500000 0.437500 -vt 0.500000 0.312500 -vt 0.500000 0.187500 -vt 0.500000 0.062500 -vt 0.437500 0.500000 -vt 0.312500 0.500000 -vt 0.187500 0.500000 -vt 0.062500 0.500000 -vt 0.500000 0.937500 -vt 0.937500 0.500000 -vt 0.500000 0.812500 -vt 0.812500 0.500000 -vt 0.500000 0.687500 -vt 0.687500 0.500000 -vt 0.500000 0.562500 -vt 0.562500 0.500000 -vt 0.062500 0.000000 -vt 0.937500 0.500000 -vt 0.187500 0.000000 -vt 0.812500 0.500000 -vt 0.312500 -0.000000 -vt 0.687500 0.500000 -vt 0.437500 0.000000 -vt 0.562500 0.500000 -vt -0.000000 0.562500 -vt 0.937500 0.500000 -vt -0.000000 0.687500 -vt 0.812500 0.500000 -vt -0.000000 0.812500 -vt 0.687500 0.500000 -vt -0.000000 0.937500 -vt 0.562500 0.500000 -vt 0.062500 1.000000 -vt 0.437500 0.500000 -vt 0.187500 1.000000 -vt 0.312500 0.500000 -vt 0.312500 1.000000 -vt 0.187500 0.500000 -vt 0.437500 1.000000 -vt 0.062500 0.500000 -vt 0.500000 0.562500 -vt 0.562500 0.000000 -vt 0.500000 0.687500 -vt 0.687500 0.000000 -vt 0.500000 0.812500 -vt 0.812500 0.000000 -vt 0.500000 0.937500 -vt 0.937500 0.000000 -vt 0.250000 0.937500 -vt 0.250000 0.812501 -vt 0.062500 0.750000 -vt 0.187500 0.750001 -vt 0.250000 0.562500 -vt 0.250000 0.687500 -vt 0.437500 0.750000 -vt 0.312500 0.750001 -vt 0.437500 0.250000 -vt 0.312500 0.250000 -vt 0.250000 0.437500 -vt 0.250000 0.312500 -vt 0.062500 0.250000 -vt 0.187500 0.250000 -vt 0.250000 0.062500 -vt 0.250000 0.187500 -vt 0.937500 0.250000 -vt 0.812500 0.250000 -vt 0.750000 0.437500 -vt 0.750000 0.312500 -vt 0.562500 0.250000 -vt 0.687500 0.250000 -vt 0.750000 0.062500 -vt 0.750000 0.187500 -vt 0.750000 0.937500 -vt 0.750000 0.812500 -vt 0.562500 0.750000 -vt 0.687500 0.750000 -vt 0.750000 0.562500 -vt 0.750000 0.687500 -vt 0.937500 0.750000 -vt 0.812500 0.750000 -vt 0.937500 0.250000 -vt 0.812500 0.250000 -vt 0.750000 0.437500 -vt 0.750000 0.312500 -vt 0.562500 0.250000 -vt 0.687500 0.250000 -vt 0.750000 0.062500 -vt 0.750000 0.187500 -vt 0.437500 0.250000 -vt 0.312500 0.250000 -vt 0.250000 0.437500 -vt 0.250000 0.312500 -vt 0.062500 0.250000 -vt 0.187500 0.250000 -vt 0.250000 0.062500 -vt 0.250000 0.187500 -vt 0.375000 0.937500 -vt 0.312500 0.875000 -vt 0.375000 0.812500 -vt 0.437500 0.875000 -vt 0.125000 0.937500 -vt 0.062500 0.875000 -vt 0.125000 0.812500 -vt 0.187500 0.875000 -vt 0.125000 0.687500 -vt 0.062500 0.625000 -vt 0.125000 0.562500 -vt 0.187500 0.625000 -vt 0.375000 0.687500 -vt 0.312500 0.625000 -vt 0.375000 0.562500 -vt 0.437500 0.625000 -vt 0.437500 0.125000 -vt 0.375000 0.187500 -vt 0.312500 0.125000 -vt 0.375000 0.062500 -vt 0.437500 0.375000 -vt 0.375000 0.437500 -vt 0.312500 0.375000 -vt 0.375000 0.312500 -vt 0.187500 0.375000 -vt 0.125000 0.437500 -vt 0.062500 0.375000 -vt 0.125000 0.312500 -vt 0.187500 0.125000 -vt 0.125000 0.187500 -vt 0.062500 0.125000 -vt 0.125000 0.062500 -vt 0.937500 0.125000 -vt 0.875000 0.187500 -vt 0.812500 0.125000 -vt 0.875000 0.062500 -vt 0.937500 0.375000 -vt 0.875000 0.437500 -vt 0.812500 0.375000 -vt 0.875000 0.312500 -vt 0.687500 0.375000 -vt 0.625000 0.437500 -vt 0.562500 0.375000 -vt 0.625000 0.312500 -vt 0.687500 0.125000 -vt 0.625000 0.187500 -vt 0.562500 0.125000 -vt 0.625000 0.062500 -vt 0.875000 0.937500 -vt 0.812500 0.875000 -vt 0.875000 0.812500 -vt 0.937500 0.875000 -vt 0.625000 0.937500 -vt 0.562500 0.875000 -vt 0.625000 0.812500 -vt 0.687500 0.875000 -vt 0.625000 0.687500 -vt 0.562500 0.625000 -vt 0.625000 0.562500 -vt 0.687500 0.625000 -vt 0.875000 0.687500 -vt 0.812500 0.625000 -vt 0.875000 0.562500 -vt 0.937500 0.625000 -vt 0.937500 0.125000 -vt 0.875000 0.187500 -vt 0.812500 0.125000 -vt 0.875000 0.062500 -vt 0.937500 0.375000 -vt 0.875000 0.437500 -vt 0.812500 0.375000 -vt 0.875000 0.312500 -vt 0.687500 0.375000 -vt 0.625000 0.437500 -vt 0.562500 0.375000 -vt 0.625000 0.312500 -vt 0.687500 0.125000 -vt 0.625000 0.187500 -vt 0.562500 0.125000 -vt 0.625000 0.062500 -vt 0.437500 0.125000 -vt 0.375000 0.187500 -vt 0.312500 0.125000 -vt 0.375000 0.062500 -vt 0.437500 0.375000 -vt 0.375000 0.437500 -vt 0.312500 0.375000 -vt 0.375000 0.312500 -vt 0.187500 0.375000 -vt 0.125000 0.437500 -vt 0.062500 0.375000 -vt 0.125000 0.312500 -vt 0.187500 0.125000 -vt 0.125000 0.187500 -vt 0.062500 0.125000 -vt 0.125000 0.062500 -vt 0.437500 0.937500 -vt 0.312500 0.937500 -vt 0.312500 0.812500 -vt 0.437500 0.812500 -vt 0.187500 0.937500 -vt 0.062500 0.937500 -vt 0.062500 0.812500 -vt 0.187500 0.812501 -vt 0.187500 0.687500 -vt 0.062500 0.687500 -vt 0.062500 0.562500 -vt 0.187500 0.562500 -vt 0.437500 0.687500 -vt 0.312500 0.687500 -vt 0.312500 0.562500 -vt 0.437500 0.562500 -vt 0.437500 0.062500 -vt 0.437500 0.187500 -vt 0.312500 0.187500 -vt 0.312500 0.062500 -vt 0.437500 0.312500 -vt 0.437500 0.437500 -vt 0.312500 0.437500 -vt 0.312500 0.312500 -vt 0.187500 0.312500 -vt 0.187500 0.437500 -vt 0.062500 0.437500 -vt 0.062500 0.312500 -vt 0.187500 0.062500 -vt 0.187500 0.187500 -vt 0.062500 0.187500 -vt 0.062500 0.062500 -vt 0.937500 0.062500 -vt 0.937500 0.187500 -vt 0.812500 0.187500 -vt 0.812500 0.062500 -vt 0.937500 0.312500 -vt 0.937500 0.437500 -vt 0.812500 0.437500 -vt 0.812500 0.312500 -vt 0.687500 0.312500 -vt 0.687500 0.437500 -vt 0.562500 0.437500 -vt 0.562500 0.312500 -vt 0.687500 0.062500 -vt 0.687500 0.187500 -vt 0.562500 0.187500 -vt 0.562500 0.062500 -vt 0.937500 0.937500 -vt 0.812500 0.937500 -vt 0.812500 0.812500 -vt 0.937500 0.812500 -vt 0.687500 0.937500 -vt 0.562500 0.937500 -vt 0.562500 0.812500 -vt 0.687500 0.812500 -vt 0.687500 0.687500 -vt 0.562500 0.687500 -vt 0.562500 0.562500 -vt 0.687500 0.562500 -vt 0.937500 0.687500 -vt 0.812500 0.687500 -vt 0.812500 0.562500 -vt 0.937500 0.562500 -vt 0.937500 0.062500 -vt 0.937500 0.187500 -vt 0.812500 0.187500 -vt 0.812500 0.062500 -vt 0.937500 0.312500 -vt 0.937500 0.437500 -vt 0.812500 0.437500 -vt 0.812500 0.312500 -vt 0.687500 0.312500 -vt 0.687500 0.437500 -vt 0.562500 0.437500 -vt 0.562500 0.312500 -vt 0.687500 0.062500 -vt 0.687500 0.187500 -vt 0.562500 0.187500 -vt 0.562500 0.062500 -vt 0.437500 0.062500 -vt 0.437500 0.187500 -vt 0.312500 0.187500 -vt 0.312500 0.062500 -vt 0.437500 0.312500 -vt 0.437500 0.437500 -vt 0.312500 0.437500 -vt 0.312500 0.312500 -vt 0.187500 0.312500 -vt 0.187500 0.437500 -vt 0.062500 0.437500 -vt 0.062500 0.312500 -vt 0.187500 0.062500 -vt 0.187500 0.187500 -vt 0.062500 0.187500 -vt 0.062500 0.062500 -s 1 -f 1/1/1 142/210/2 291/364/3 127/180/4 -f 142/210/2 48/82/5 195/268/6 291/364/3 -f 291/364/3 195/268/6 75/112/7 198/271/8 -f 127/180/4 291/364/3 198/271/8 41/68/9 -f 48/82/5 141/208/10 292/365/11 195/268/6 -f 141/208/10 19/36/12 147/220/13 292/365/11 -f 292/365/11 147/220/13 51/88/14 196/269/15 -f 195/268/6 292/365/11 196/269/15 75/112/7 -f 75/112/7 196/269/15 293/366/16 197/270/17 -f 196/269/15 51/88/14 148/221/18 293/366/16 -f 293/366/16 148/221/18 21/40/19 154/227/20 -f 197/270/17 293/366/16 154/227/20 54/91/21 -f 41/68/9 198/271/8 294/367/22 128/182/23 -f 198/271/8 75/112/7 197/270/17 294/367/22 -f 294/367/22 197/270/17 54/91/21 153/226/24 -f 128/182/23 294/367/22 153/226/24 16/30/25 -f 19/36/12 140/206/26 295/368/27 147/220/13 -f 140/206/26 47/80/28 199/272/29 295/368/27 -f 295/368/27 199/272/29 76/113/30 202/275/31 -f 147/220/13 295/368/27 202/275/31 51/88/14 -f 47/80/28 139/204/32 296/369/33 199/272/29 -f 139/204/32 5/10/34 138/202/35 296/369/33 -f 296/369/33 138/202/35 46/78/36 200/273/37 -f 199/272/29 296/369/33 200/273/37 76/113/30 -f 76/113/30 200/273/37 297/370/38 201/274/39 -f 200/273/37 46/78/36 137/200/40 297/370/38 -f 297/370/38 137/200/40 18/34/41 149/222/42 -f 201/274/39 297/370/38 149/222/42 52/89/43 -f 51/88/14 202/275/31 298/371/44 148/221/18 -f 202/275/31 76/113/30 201/274/39 298/371/44 -f 298/371/44 201/274/39 52/89/43 150/223/45 -f 148/221/18 298/371/44 150/223/45 21/40/19 -f 21/40/19 150/223/45 299/372/46 152/225/47 -f 150/223/45 52/89/43 203/276/48 299/372/46 -f 299/372/46 203/276/48 77/114/49 206/279/50 -f 152/225/47 299/372/46 206/279/50 53/90/51 -f 52/89/43 149/222/42 300/373/52 203/276/48 -f 149/222/42 18/34/41 136/198/53 300/373/52 -f 300/373/52 136/198/53 45/76/54 204/277/55 -f 203/276/48 300/373/52 204/277/55 77/114/49 -f 77/114/49 204/277/55 301/374/56 205/278/57 -f 204/277/55 45/76/54 135/196/58 301/374/56 -f 301/374/56 135/196/58 7/14/59 126/179/60 -f 205/278/57 301/374/56 126/179/60 40/67/61 -f 53/90/51 206/279/50 302/375/62 151/224/63 -f 206/279/50 77/114/49 205/278/57 302/375/62 -f 302/375/62 205/278/57 40/67/61 125/178/64 -f 151/224/63 302/375/62 125/178/64 15/29/65 -f 16/30/25 153/226/24 303/376/66 129/184/67 -f 153/226/24 54/91/21 207/280/68 303/376/66 -f 303/376/66 207/280/68 78/115/69 210/283/70 -f 129/184/67 303/376/66 210/283/70 42/70/71 -f 54/91/21 154/227/20 304/377/72 207/280/68 -f 154/227/20 21/40/19 152/225/47 304/377/72 -f 304/377/72 152/225/47 53/90/51 208/281/73 -f 207/280/68 304/377/72 208/281/73 78/115/69 -f 78/115/69 208/281/73 305/378/74 209/282/75 -f 208/281/73 53/90/51 151/224/63 305/378/74 -f 305/378/74 151/224/63 15/29/65 124/177/76 -f 209/282/75 305/378/74 124/177/76 39/66/77 -f 42/70/71 210/283/70 306/379/78 130/186/79 -f 210/283/70 78/115/69 209/282/75 306/379/78 -f 306/379/78 209/282/75 39/66/77 123/176/80 -f 130/186/79 306/379/78 123/176/80 3/7/81 -f 4/9/82 118/171/83 307/380/84 134/194/85 -f 118/171/83 36/63/86 211/284/87 307/380/84 -f 307/380/84 211/284/87 79/116/88 214/287/89 -f 134/194/85 307/380/84 214/287/89 44/74/90 -f 36/63/86 117/170/91 308/381/92 211/284/87 -f 117/170/91 13/27/93 155/228/94 308/381/92 -f 308/381/92 155/228/94 55/92/95 212/285/96 -f 211/284/87 308/381/92 212/285/96 79/116/88 -f 79/116/88 212/285/96 309/382/97 213/286/98 -f 212/285/96 55/92/95 156/229/99 309/382/97 -f 309/382/97 156/229/99 22/41/100 162/235/101 -f 213/286/98 309/382/97 162/235/101 58/95/102 -f 44/74/90 214/287/89 310/383/103 133/192/104 -f 214/287/89 79/116/88 213/286/98 310/383/103 -f 310/383/103 213/286/98 58/95/102 161/234/105 -f 133/192/104 310/383/103 161/234/105 17/32/106 -f 13/27/93 116/169/107 311/384/108 155/228/94 -f 116/169/107 35/62/109 215/288/110 311/384/108 -f 311/384/108 215/288/110 80/117/111 218/291/112 -f 155/228/94 311/384/108 218/291/112 55/92/95 -f 35/62/109 115/168/113 312/385/114 215/288/110 -f 115/168/113 3/7/81 123/176/80 312/385/114 -f 312/385/114 123/176/80 39/66/77 216/289/115 -f 215/288/110 312/385/114 216/289/115 80/117/111 -f 80/117/111 216/289/115 313/386/116 217/290/117 -f 216/289/115 39/66/77 124/177/76 313/386/116 -f 313/386/116 124/177/76 15/29/65 157/230/118 -f 217/290/117 313/386/116 157/230/118 56/93/119 -f 55/92/95 218/291/112 314/387/120 156/229/99 -f 218/291/112 80/117/111 217/290/117 314/387/120 -f 314/387/120 217/290/117 56/93/119 158/231/121 -f 156/229/99 314/387/120 158/231/121 22/41/100 -f 22/41/100 158/231/121 315/388/122 160/233/123 -f 158/231/121 56/93/119 219/292/124 315/388/122 -f 315/388/122 219/292/124 81/118/125 222/295/126 -f 160/233/123 315/388/122 222/295/126 57/94/127 -f 56/93/119 157/230/118 316/389/128 219/292/124 -f 157/230/118 15/29/65 125/178/64 316/389/128 -f 316/389/128 125/178/64 40/67/61 220/293/129 -f 219/292/124 316/389/128 220/293/129 81/118/125 -f 81/118/125 220/293/129 317/390/130 221/294/131 -f 220/293/129 40/67/61 126/179/60 317/390/130 -f 317/390/130 126/179/60 7/14/59 114/166/132 -f 221/294/131 317/390/130 114/166/132 34/60/133 -f 57/94/127 222/295/126 318/391/134 159/232/135 -f 222/295/126 81/118/125 221/294/131 318/391/134 -f 318/391/134 221/294/131 34/60/133 113/164/136 -f 159/232/135 318/391/134 113/164/136 12/25/137 -f 17/32/106 161/234/105 319/392/138 132/190/139 -f 161/234/105 58/95/102 223/296/140 319/392/138 -f 319/392/138 223/296/140 82/119/141 226/299/142 -f 132/190/139 319/392/138 226/299/142 43/72/143 -f 58/95/102 162/235/101 320/393/144 223/296/140 -f 162/235/101 22/41/100 160/233/123 320/393/144 -f 320/393/144 160/233/123 57/94/127 224/297/145 -f 223/296/140 320/393/144 224/297/145 82/119/141 -f 82/119/141 224/297/145 321/394/146 225/298/147 -f 224/297/145 57/94/127 159/232/135 321/394/146 -f 321/394/146 159/232/135 12/25/137 112/162/148 -f 225/298/147 321/394/146 112/162/148 33/58/149 -f 43/72/143 226/299/142 322/395/150 131/188/151 -f 226/299/142 82/119/141 225/298/147 322/395/150 -f 322/395/150 225/298/147 33/58/149 111/160/152 -f 131/188/151 322/395/150 111/160/152 8/16/153 -f 8/17/153 111/161/152 323/396/154 102/142/155 -f 111/161/152 33/59/149 227/300/156 323/396/154 -f 323/396/154 227/300/156 83/120/157 230/303/158 -f 102/142/155 323/396/154 230/303/158 28/48/159 -f 33/59/149 112/163/148 324/397/160 227/300/156 -f 112/163/148 12/26/137 163/236/161 324/397/160 -f 324/397/160 163/236/161 59/96/162 228/301/163 -f 227/300/156 324/397/160 228/301/163 83/120/157 -f 83/120/157 228/301/163 325/398/164 229/302/165 -f 228/301/163 59/96/162 164/237/166 325/398/164 -f 325/398/164 164/237/166 23/42/167 170/243/168 -f 229/302/165 325/398/164 170/243/168 62/99/169 -f 28/48/159 230/303/158 326/399/170 101/140/171 -f 230/303/158 83/120/157 229/302/165 326/399/170 -f 326/399/170 229/302/165 62/99/169 169/242/172 -f 101/140/171 326/399/170 169/242/172 9/19/173 -f 12/26/137 113/165/136 327/400/174 163/236/161 -f 113/165/136 34/61/133 231/304/175 327/400/174 -f 327/400/174 231/304/175 84/121/176 234/307/177 -f 163/236/161 327/400/174 234/307/177 59/96/162 -f 34/61/133 114/167/132 328/401/178 231/304/175 -f 114/167/132 7/15/59 135/197/58 328/401/178 -f 328/401/178 135/197/58 45/77/54 232/305/179 -f 231/304/175 328/401/178 232/305/179 84/121/176 -f 84/121/176 232/305/179 329/402/180 233/306/181 -f 232/305/179 45/77/54 136/199/53 329/402/180 -f 329/402/180 136/199/53 18/35/41 165/238/182 -f 233/306/181 329/402/180 165/238/182 60/97/183 -f 59/96/162 234/307/177 330/403/184 164/237/166 -f 234/307/177 84/121/176 233/306/181 330/403/184 -f 330/403/184 233/306/181 60/97/183 166/239/185 -f 164/237/166 330/403/184 166/239/185 23/42/167 -f 23/42/167 166/239/185 331/404/186 168/241/187 -f 166/239/185 60/97/183 235/308/188 331/404/186 -f 331/404/186 235/308/188 85/122/189 238/311/190 -f 168/241/187 331/404/186 238/311/190 61/98/191 -f 60/97/183 165/238/182 332/405/192 235/308/188 -f 165/238/182 18/35/41 137/201/40 332/405/192 -f 332/405/192 137/201/40 46/79/36 236/309/193 -f 235/308/188 332/405/192 236/309/193 85/122/189 -f 85/122/189 236/309/193 333/406/194 237/310/195 -f 236/309/193 46/79/36 138/203/35 333/406/194 -f 333/406/194 138/203/35 5/11/34 119/172/196 -f 237/310/195 333/406/194 119/172/196 37/64/197 -f 61/98/191 238/311/190 334/407/198 167/240/199 -f 238/311/190 85/122/189 237/310/195 334/407/198 -f 334/407/198 237/310/195 37/64/197 120/173/200 -f 167/240/199 334/407/198 120/173/200 14/28/201 -f 9/19/173 169/242/172 335/408/202 100/138/203 -f 169/242/172 62/99/169 239/312/204 335/408/202 -f 335/408/202 239/312/204 86/123/205 242/315/206 -f 100/138/203 335/408/202 242/315/206 27/46/207 -f 62/99/169 170/243/168 336/409/208 239/312/204 -f 170/243/168 23/42/167 168/241/187 336/409/208 -f 336/409/208 168/241/187 61/98/191 240/313/209 -f 239/312/204 336/409/208 240/313/209 86/123/205 -f 86/123/205 240/313/209 337/410/210 241/314/211 -f 240/313/209 61/98/191 167/240/199 337/410/210 -f 337/410/210 167/240/199 14/28/201 121/174/212 -f 241/314/211 337/410/210 121/174/212 38/65/213 -f 27/46/207 242/315/206 338/411/214 99/136/215 -f 242/315/206 86/123/205 241/314/211 338/411/214 -f 338/411/214 241/314/211 38/65/213 122/175/216 -f 99/136/215 338/411/214 122/175/216 6/13/217 -f 6/12/217 106/150/218 339/412/219 99/137/215 -f 106/150/218 30/52/220 243/316/221 339/412/219 -f 339/412/219 243/316/221 87/124/222 246/319/223 -f 99/137/215 339/412/219 246/319/223 27/47/207 -f 30/52/220 105/148/224 340/413/225 243/316/221 -f 105/148/224 10/21/226 171/244/227 340/413/225 -f 340/413/225 171/244/227 63/100/228 244/317/229 -f 243/316/221 340/413/225 244/317/229 87/124/222 -f 87/124/222 244/317/229 341/414/230 245/318/231 -f 244/317/229 63/100/228 172/245/232 341/414/230 -f 341/414/230 172/245/232 24/43/233 178/251/234 -f 245/318/231 341/414/230 178/251/234 66/103/235 -f 27/47/207 246/319/223 342/415/236 100/139/203 -f 246/319/223 87/124/222 245/318/231 342/415/236 -f 342/415/236 245/318/231 66/103/235 177/250/237 -f 100/139/203 342/415/236 177/250/237 9/20/173 -f 10/21/226 104/146/238 343/416/239 171/244/227 -f 104/146/238 29/50/240 247/320/241 343/416/239 -f 343/416/239 247/320/241 88/125/242 250/323/243 -f 171/244/227 343/416/239 250/323/243 63/100/228 -f 29/50/240 103/144/244 344/417/245 247/320/241 -f 103/144/244 2/4/246 146/218/247 344/417/245 -f 344/417/245 146/218/247 50/86/248 248/321/249 -f 247/320/241 344/417/245 248/321/249 88/125/242 -f 88/125/242 248/321/249 345/418/250 249/322/251 -f 248/321/249 50/86/248 145/216/252 345/418/250 -f 345/418/250 145/216/252 20/38/253 173/246/254 -f 249/322/251 345/418/250 173/246/254 64/101/255 -f 63/100/228 250/323/243 346/419/256 172/245/232 -f 250/323/243 88/125/242 249/322/251 346/419/256 -f 346/419/256 249/322/251 64/101/255 174/247/257 -f 172/245/232 346/419/256 174/247/257 24/43/233 -f 24/43/233 174/247/257 347/420/258 176/249/259 -f 174/247/257 64/101/255 251/324/260 347/420/258 -f 347/420/258 251/324/260 89/126/261 254/327/262 -f 176/249/259 347/420/258 254/327/262 65/102/263 -f 64/101/255 173/246/254 348/421/264 251/324/260 -f 173/246/254 20/38/253 144/214/265 348/421/264 -f 348/421/264 144/214/265 49/84/266 252/325/267 -f 251/324/260 348/421/264 252/325/267 89/126/261 -f 89/126/261 252/325/267 349/422/268 253/326/269 -f 252/325/267 49/84/266 143/212/270 349/422/268 -f 349/422/268 143/212/270 4/8/82 134/195/85 -f 253/326/269 349/422/268 134/195/85 44/75/90 -f 65/102/263 254/327/262 350/423/271 175/248/272 -f 254/327/262 89/126/261 253/326/269 350/423/271 -f 350/423/271 253/326/269 44/75/90 133/193/104 -f 175/248/272 350/423/271 133/193/104 17/33/106 -f 9/20/173 177/250/237 351/424/273 101/141/171 -f 177/250/237 66/103/235 255/328/274 351/424/273 -f 351/424/273 255/328/274 90/127/275 258/331/276 -f 101/141/171 351/424/273 258/331/276 28/49/159 -f 66/103/235 178/251/234 352/425/277 255/328/274 -f 178/251/234 24/43/233 176/249/259 352/425/277 -f 352/425/277 176/249/259 65/102/263 256/329/278 -f 255/328/274 352/425/277 256/329/278 90/127/275 -f 90/127/275 256/329/278 353/426/279 257/330/280 -f 256/329/278 65/102/263 175/248/272 353/426/279 -f 353/426/279 175/248/272 17/33/106 132/191/139 -f 257/330/280 353/426/279 132/191/139 43/73/143 -f 28/49/159 258/331/276 354/427/281 102/143/155 -f 258/331/276 90/127/275 257/330/280 354/427/281 -f 354/427/281 257/330/280 43/73/143 131/189/151 -f 102/143/155 354/427/281 131/189/151 8/18/153 -f 2/5/246 110/158/282 355/428/283 146/219/247 -f 110/158/282 32/56/284 259/332/285 355/428/283 -f 355/428/283 259/332/285 91/128/286 262/335/287 -f 146/219/247 355/428/283 262/335/287 50/87/248 -f 32/56/284 109/156/288 356/429/289 259/332/285 -f 109/156/288 11/23/290 179/252/291 356/429/289 -f 356/429/289 179/252/291 67/104/292 260/333/293 -f 259/332/285 356/429/289 260/333/293 91/128/286 -f 91/128/286 260/333/293 357/430/294 261/334/295 -f 260/333/293 67/104/292 180/253/296 357/430/294 -f 357/430/294 180/253/296 25/44/297 186/259/298 -f 261/334/295 357/430/294 186/259/298 70/107/299 -f 50/87/248 262/335/287 358/431/300 145/217/252 -f 262/335/287 91/128/286 261/334/295 358/431/300 -f 358/431/300 261/334/295 70/107/299 185/258/301 -f 145/217/252 358/431/300 185/258/301 20/39/253 -f 11/23/290 108/154/302 359/432/303 179/252/291 -f 108/154/302 31/54/304 263/336/305 359/432/303 -f 359/432/303 263/336/305 92/129/306 266/339/307 -f 179/252/291 359/432/303 266/339/307 67/104/292 -f 31/54/304 107/152/308 360/433/309 263/336/305 -f 107/152/308 1/2/1 127/181/4 360/433/309 -f 360/433/309 127/181/4 41/69/9 264/337/310 -f 263/336/305 360/433/309 264/337/310 92/129/306 -f 92/129/306 264/337/310 361/434/311 265/338/312 -f 264/337/310 41/69/9 128/183/23 361/434/311 -f 361/434/311 128/183/23 16/31/25 181/254/313 -f 265/338/312 361/434/311 181/254/313 68/105/314 -f 67/104/292 266/339/307 362/435/315 180/253/296 -f 266/339/307 92/129/306 265/338/312 362/435/315 -f 362/435/315 265/338/312 68/105/314 182/255/316 -f 180/253/296 362/435/315 182/255/316 25/44/297 -f 25/44/297 182/255/316 363/436/317 184/257/318 -f 182/255/316 68/105/314 267/340/319 363/436/317 -f 363/436/317 267/340/319 93/130/320 270/343/321 -f 184/257/318 363/436/317 270/343/321 69/106/322 -f 68/105/314 181/254/313 364/437/323 267/340/319 -f 181/254/313 16/31/25 129/185/67 364/437/323 -f 364/437/323 129/185/67 42/71/71 268/341/324 -f 267/340/319 364/437/323 268/341/324 93/130/320 -f 93/130/320 268/341/324 365/438/325 269/342/326 -f 268/341/324 42/71/71 130/187/79 365/438/325 -f 365/438/325 130/187/79 3/7/81 115/168/113 -f 269/342/326 365/438/325 115/168/113 35/62/109 -f 69/106/322 270/343/321 366/439/327 183/256/328 -f 270/343/321 93/130/320 269/342/326 366/439/327 -f 366/439/327 269/342/326 35/62/109 116/169/107 -f 183/256/328 366/439/327 116/169/107 13/27/93 -f 20/39/253 185/258/301 367/440/329 144/215/265 -f 185/258/301 70/107/299 271/344/330 367/440/329 -f 367/440/329 271/344/330 94/131/331 274/347/332 -f 144/215/265 367/440/329 274/347/332 49/85/266 -f 70/107/299 186/259/298 368/441/333 271/344/330 -f 186/259/298 25/44/297 184/257/318 368/441/333 -f 368/441/333 184/257/318 69/106/322 272/345/334 -f 271/344/330 368/441/333 272/345/334 94/131/331 -f 94/131/331 272/345/334 369/442/335 273/346/336 -f 272/345/334 69/106/322 183/256/328 369/442/335 -f 369/442/335 183/256/328 13/27/93 117/170/91 -f 273/346/336 369/442/335 117/170/91 36/63/86 -f 49/85/266 274/347/332 370/443/337 143/213/270 -f 274/347/332 94/131/331 273/346/336 370/443/337 -f 370/443/337 273/346/336 36/63/86 118/171/83 -f 143/213/270 370/443/337 118/171/83 4/9/82 -f 6/13/217 122/175/216 371/444/338 106/151/218 -f 122/175/216 38/65/213 275/348/339 371/444/338 -f 371/444/338 275/348/339 95/132/340 278/351/341 -f 106/151/218 371/444/338 278/351/341 30/53/220 -f 38/65/213 121/174/212 372/445/342 275/348/339 -f 121/174/212 14/28/201 187/260/343 372/445/342 -f 372/445/342 187/260/343 71/108/344 276/349/345 -f 275/348/339 372/445/342 276/349/345 95/132/340 -f 95/132/340 276/349/345 373/446/346 277/350/347 -f 276/349/345 71/108/344 188/261/348 373/446/346 -f 373/446/346 188/261/348 26/45/349 194/267/350 -f 277/350/347 373/446/346 194/267/350 74/111/351 -f 30/53/220 278/351/341 374/447/352 105/149/224 -f 278/351/341 95/132/340 277/350/347 374/447/352 -f 374/447/352 277/350/347 74/111/351 193/266/353 -f 105/149/224 374/447/352 193/266/353 10/22/226 -f 14/28/201 120/173/200 375/448/354 187/260/343 -f 120/173/200 37/64/197 279/352/355 375/448/354 -f 375/448/354 279/352/355 96/133/356 282/355/357 -f 187/260/343 375/448/354 282/355/357 71/108/344 -f 37/64/197 119/172/196 376/449/358 279/352/355 -f 119/172/196 5/11/34 139/205/32 376/449/358 -f 376/449/358 139/205/32 47/81/28 280/353/359 -f 279/352/355 376/449/358 280/353/359 96/133/356 -f 96/133/356 280/353/359 377/450/360 281/354/361 -f 280/353/359 47/81/28 140/207/26 377/450/360 -f 377/450/360 140/207/26 19/37/12 189/262/362 -f 281/354/361 377/450/360 189/262/362 72/109/363 -f 71/108/344 282/355/357 378/451/364 188/261/348 -f 282/355/357 96/133/356 281/354/361 378/451/364 -f 378/451/364 281/354/361 72/109/363 190/263/365 -f 188/261/348 378/451/364 190/263/365 26/45/349 -f 26/45/349 190/263/365 379/452/366 192/265/367 -f 190/263/365 72/109/363 283/356/368 379/452/366 -f 379/452/366 283/356/368 97/134/369 286/359/370 -f 192/265/367 379/452/366 286/359/370 73/110/371 -f 72/109/363 189/262/362 380/453/372 283/356/368 -f 189/262/362 19/37/12 141/209/10 380/453/372 -f 380/453/372 141/209/10 48/83/5 284/357/373 -f 283/356/368 380/453/372 284/357/373 97/134/369 -f 97/134/369 284/357/373 381/454/374 285/358/375 -f 284/357/373 48/83/5 142/211/2 381/454/374 -f 381/454/374 142/211/2 1/3/1 107/153/308 -f 285/358/375 381/454/374 107/153/308 31/55/304 -f 73/110/371 286/359/370 382/455/376 191/264/377 -f 286/359/370 97/134/369 285/358/375 382/455/376 -f 382/455/376 285/358/375 31/55/304 108/155/302 -f 191/264/377 382/455/376 108/155/302 11/24/290 -f 10/22/226 193/266/353 383/456/378 104/147/238 -f 193/266/353 74/111/351 287/360/379 383/456/378 -f 383/456/378 287/360/379 98/135/380 290/363/381 -f 104/147/238 383/456/378 290/363/381 29/51/240 -f 74/111/351 194/267/350 384/457/382 287/360/379 -f 194/267/350 26/45/349 192/265/367 384/457/382 -f 384/457/382 192/265/367 73/110/371 288/361/383 -f 287/360/379 384/457/382 288/361/383 98/135/380 -f 98/135/380 288/361/383 385/458/384 289/362/385 -f 288/361/383 73/110/371 191/264/377 385/458/384 -f 385/458/384 191/264/377 11/24/290 109/157/288 -f 289/362/385 385/458/384 109/157/288 32/57/284 -f 29/51/240 290/363/381 386/459/386 103/145/244 -f 290/363/381 98/135/380 289/362/385 386/459/386 -f 386/459/386 289/362/385 32/57/284 110/159/282 -f 103/145/244 386/459/386 110/159/282 2/6/246 diff --git a/data/games/garage/mods/testnodes/models/testnodes_marble_metal.obj b/data/games/garage/mods/testnodes/models/testnodes_marble_metal.obj deleted file mode 100644 index c3bc70c..0000000 --- a/data/games/garage/mods/testnodes/models/testnodes_marble_metal.obj +++ /dev/null @@ -1,2470 +0,0 @@ -# Blender 3.3.1 -# www.blender.org -o Sphere -v 0.000000 0.465623 -0.311119 -v 0.000000 0.395980 -0.395980 -v 0.000000 0.214303 -0.517373 -v 0.000000 0.109251 -0.549240 -v 0.000000 0.000000 -0.560000 -v 0.000000 -0.109251 -0.549240 -v 0.000000 -0.214303 -0.517373 -v 0.000000 -0.311119 -0.465623 -v 0.000000 -0.465623 -0.311119 -v 0.021314 0.549240 -0.107151 -v 0.041808 0.517373 -0.210185 -v 0.060696 0.465623 -0.305141 -v 0.077252 0.395980 -0.388371 -v 0.090839 0.311119 -0.456676 -v 0.100934 0.214303 -0.507431 -v 0.107151 0.109251 -0.538686 -v 0.109251 0.000000 -0.549240 -v 0.107151 -0.109251 -0.538686 -v 0.100934 -0.214303 -0.507431 -v 0.090839 -0.311119 -0.456676 -v 0.077252 -0.395980 -0.388371 -v 0.060696 -0.465623 -0.305141 -v 0.041808 -0.517373 -0.210185 -v 0.021314 -0.549240 -0.107151 -v 0.041808 0.549240 -0.100934 -v 0.082010 0.517373 -0.197990 -v 0.119060 0.465623 -0.287437 -v 0.151535 0.395980 -0.365838 -v 0.178186 0.311119 -0.430180 -v 0.197990 0.214303 -0.477990 -v 0.210185 0.109251 -0.507431 -v 0.214303 0.000000 -0.517373 -v 0.210185 -0.109251 -0.507431 -v 0.197990 -0.214303 -0.477990 -v 0.178186 -0.311119 -0.430180 -v 0.151535 -0.395980 -0.365838 -v 0.119060 -0.465623 -0.287437 -v 0.082010 -0.517373 -0.197990 -v 0.041808 -0.549240 -0.100934 -v 0.060696 0.549240 -0.090839 -v 0.119060 0.517373 -0.178186 -v 0.172849 0.465623 -0.258686 -v 0.219995 0.395980 -0.329245 -v 0.258686 0.311119 -0.387151 -v 0.287437 0.214303 -0.430180 -v 0.305141 0.109251 -0.456676 -v 0.311119 0.000000 -0.465623 -v 0.305141 -0.109251 -0.456676 -v 0.287437 -0.214303 -0.430180 -v 0.258686 -0.311119 -0.387151 -v 0.219995 -0.395980 -0.329245 -v 0.172849 -0.465623 -0.258686 -v 0.119060 -0.517373 -0.178186 -v 0.060696 -0.549240 -0.090839 -v 0.000000 -0.560000 0.000000 -v 0.077252 0.549240 -0.077252 -v 0.151535 0.517373 -0.151535 -v 0.219995 0.465623 -0.219995 -v 0.280000 0.395980 -0.280000 -v 0.329245 0.311119 -0.329245 -v 0.365838 0.214303 -0.365838 -v 0.388371 0.109251 -0.388371 -v 0.395980 0.000000 -0.395980 -v 0.388371 -0.109251 -0.388371 -v 0.365838 -0.214303 -0.365838 -v 0.329245 -0.311119 -0.329245 -v 0.280000 -0.395980 -0.280000 -v 0.219995 -0.465623 -0.219995 -v 0.151535 -0.517373 -0.151535 -v 0.077252 -0.549240 -0.077252 -v 0.090839 0.549240 -0.060696 -v 0.178186 0.517373 -0.119060 -v 0.258686 0.465623 -0.172849 -v 0.329245 0.395980 -0.219995 -v 0.387151 0.311119 -0.258686 -v 0.430180 0.214303 -0.287437 -v 0.456676 0.109251 -0.305141 -v 0.465623 0.000000 -0.311119 -v 0.456676 -0.109251 -0.305141 -v 0.430180 -0.214303 -0.287437 -v 0.387151 -0.311119 -0.258686 -v 0.329245 -0.395980 -0.219995 -v 0.258686 -0.465623 -0.172849 -v 0.178186 -0.517373 -0.119060 -v 0.090839 -0.549240 -0.060696 -v 0.100934 0.549240 -0.041808 -v 0.197990 0.517373 -0.082010 -v 0.287437 0.465623 -0.119060 -v 0.365838 0.395980 -0.151535 -v 0.430179 0.311119 -0.178186 -v 0.477990 0.214303 -0.197990 -v 0.507431 0.109251 -0.210185 -v 0.517372 0.000000 -0.214303 -v 0.507431 -0.109251 -0.210185 -v 0.477990 -0.214303 -0.197990 -v 0.430179 -0.311119 -0.178186 -v 0.365838 -0.395980 -0.151535 -v 0.287437 -0.465623 -0.119060 -v 0.197990 -0.517373 -0.082010 -v 0.100934 -0.549240 -0.041808 -v 0.107151 0.549240 -0.021314 -v 0.210185 0.517373 -0.041808 -v 0.305141 0.465623 -0.060696 -v 0.388371 0.395980 -0.077252 -v 0.456676 0.311119 -0.090838 -v 0.507431 0.214303 -0.100934 -v 0.538686 0.109251 -0.107151 -v 0.549240 0.000000 -0.109251 -v 0.538686 -0.109251 -0.107151 -v 0.507431 -0.214303 -0.100934 -v 0.456676 -0.311119 -0.090838 -v 0.388371 -0.395980 -0.077252 -v 0.305141 -0.465623 -0.060696 -v 0.210185 -0.517373 -0.041808 -v 0.107151 -0.549240 -0.021314 -v 0.109251 0.549240 0.000000 -v 0.214303 0.517373 0.000000 -v 0.311119 0.465623 0.000000 -v 0.395980 0.395980 0.000000 -v 0.465623 0.311119 0.000000 -v 0.517372 0.214303 0.000000 -v 0.549240 0.109251 0.000000 -v 0.560000 0.000000 -0.000000 -v 0.549240 -0.109251 0.000000 -v 0.517372 -0.214303 0.000000 -v 0.465623 -0.311119 0.000000 -v 0.395980 -0.395980 0.000000 -v 0.311119 -0.465623 0.000000 -v 0.214303 -0.517373 0.000000 -v 0.109251 -0.549240 0.000000 -v 0.107151 0.549240 0.021314 -v 0.210185 0.517373 0.041808 -v 0.305141 0.465623 0.060696 -v 0.388371 0.395980 0.077252 -v 0.456676 0.311119 0.090839 -v 0.507431 0.214303 0.100934 -v 0.538686 0.109251 0.107151 -v 0.549240 0.000000 0.109251 -v 0.538686 -0.109251 0.107151 -v 0.507431 -0.214303 0.100934 -v 0.456676 -0.311119 0.090839 -v 0.388371 -0.395980 0.077252 -v 0.305141 -0.465623 0.060696 -v 0.210185 -0.517373 0.041808 -v 0.107151 -0.549240 0.021314 -v 0.100934 0.549240 0.041808 -v 0.197990 0.517373 0.082010 -v 0.287437 0.465623 0.119060 -v 0.365838 0.395980 0.151535 -v 0.430179 0.311119 0.178186 -v 0.477990 0.214303 0.197990 -v 0.507431 0.109251 0.210185 -v 0.517372 0.000000 0.214303 -v 0.507431 -0.109251 0.210185 -v 0.477990 -0.214303 0.197990 -v 0.430179 -0.311119 0.178186 -v 0.365838 -0.395980 0.151535 -v 0.287437 -0.465623 0.119060 -v 0.197990 -0.517373 0.082010 -v 0.100934 -0.549240 0.041808 -v 0.090839 0.549240 0.060696 -v 0.178186 0.517373 0.119060 -v 0.258686 0.465623 0.172849 -v 0.329245 0.395980 0.219995 -v 0.387151 0.311119 0.258686 -v 0.430179 0.214303 0.287437 -v 0.456676 0.109251 0.305141 -v 0.465623 0.000000 0.311119 -v 0.456676 -0.109251 0.305141 -v 0.430179 -0.214303 0.287437 -v 0.387151 -0.311119 0.258686 -v 0.329245 -0.395980 0.219995 -v 0.258686 -0.465623 0.172849 -v 0.178186 -0.517373 0.119060 -v 0.090839 -0.549240 0.060696 -v 0.077252 0.549240 0.077252 -v 0.151535 0.517373 0.151535 -v 0.219995 0.465623 0.219995 -v 0.280000 0.395980 0.280000 -v 0.329245 0.311119 0.329245 -v 0.365838 0.214303 0.365838 -v 0.388371 0.109251 0.388371 -v 0.395980 0.000000 0.395980 -v 0.388371 -0.109251 0.388371 -v 0.365838 -0.214303 0.365838 -v 0.329245 -0.311119 0.329245 -v 0.280000 -0.395980 0.280000 -v 0.219995 -0.465623 0.219995 -v 0.151535 -0.517373 0.151535 -v 0.077252 -0.549240 0.077252 -v 0.060696 0.549240 0.090839 -v 0.119060 0.517373 0.178186 -v 0.172849 0.465623 0.258686 -v 0.219995 0.395980 0.329245 -v 0.258686 0.311119 0.387151 -v 0.287437 0.214303 0.430179 -v 0.305141 0.109251 0.456676 -v 0.311119 0.000000 0.465623 -v 0.305141 -0.109251 0.456676 -v 0.287437 -0.214303 0.430179 -v 0.258686 -0.311119 0.387151 -v 0.219995 -0.395980 0.329245 -v 0.172849 -0.465623 0.258686 -v 0.119060 -0.517373 0.178186 -v 0.060696 -0.549240 0.090839 -v 0.041808 0.549240 0.100934 -v 0.082010 0.517373 0.197990 -v 0.119060 0.465623 0.287437 -v 0.151535 0.395980 0.365838 -v 0.178186 0.311119 0.430179 -v 0.197990 0.214303 0.477990 -v 0.210185 0.109251 0.507431 -v 0.214303 0.000000 0.517372 -v 0.210185 -0.109251 0.507431 -v 0.197990 -0.214303 0.477990 -v 0.178186 -0.311119 0.430179 -v 0.151535 -0.395980 0.365838 -v 0.119060 -0.465623 0.287437 -v 0.082010 -0.517373 0.197990 -v 0.041808 -0.549240 0.100934 -v 0.021314 0.549240 0.107151 -v 0.041808 0.517373 0.210185 -v 0.060696 0.465623 0.305141 -v 0.077252 0.395980 0.388371 -v 0.090838 0.311119 0.456676 -v 0.100934 0.214303 0.507431 -v 0.107151 0.109251 0.538686 -v 0.109251 0.000000 0.549240 -v 0.107151 -0.109251 0.538686 -v 0.100934 -0.214303 0.507431 -v 0.090838 -0.311119 0.456676 -v 0.077252 -0.395980 0.388371 -v 0.060696 -0.465623 0.305141 -v 0.041808 -0.517373 0.210185 -v 0.021314 -0.549240 0.107151 -v -0.000000 0.549240 0.109251 -v -0.000000 0.517373 0.214303 -v -0.000000 0.465623 0.311119 -v 0.000000 0.395980 0.395980 -v -0.000000 0.311119 0.465623 -v -0.000000 0.214303 0.517372 -v -0.000000 0.109251 0.549240 -v -0.000000 0.000000 0.560000 -v -0.000000 -0.109251 0.549240 -v -0.000000 -0.214303 0.517372 -v -0.000000 -0.311119 0.465623 -v 0.000000 -0.395980 0.395980 -v -0.000000 -0.465623 0.311119 -v -0.000000 -0.517373 0.214303 -v -0.000000 -0.549240 0.109251 -v 0.000000 0.560000 0.000000 -v -0.021314 0.549240 0.107151 -v -0.041808 0.517373 0.210185 -v -0.060696 0.465623 0.305141 -v -0.077252 0.395980 0.388371 -v -0.090839 0.311119 0.456676 -v -0.100934 0.214303 0.507431 -v -0.107151 0.109251 0.538686 -v -0.109251 0.000000 0.549240 -v -0.107151 -0.109251 0.538686 -v -0.100934 -0.214303 0.507431 -v -0.090839 -0.311119 0.456676 -v -0.077252 -0.395980 0.388371 -v -0.060696 -0.465623 0.305141 -v -0.041808 -0.517373 0.210185 -v -0.021314 -0.549240 0.107151 -v -0.041808 0.549240 0.100934 -v -0.082010 0.517373 0.197990 -v -0.119060 0.465623 0.287437 -v -0.151535 0.395980 0.365838 -v -0.178186 0.311119 0.430179 -v -0.197990 0.214303 0.477990 -v -0.210185 0.109251 0.507431 -v -0.214303 0.000000 0.517372 -v -0.210185 -0.109251 0.507431 -v -0.197990 -0.214303 0.477990 -v -0.178186 -0.311119 0.430179 -v -0.151535 -0.395980 0.365838 -v -0.119060 -0.465623 0.287437 -v -0.082010 -0.517373 0.197990 -v -0.041808 -0.549240 0.100934 -v -0.060696 0.549240 0.090838 -v -0.119060 0.517373 0.178186 -v -0.172849 0.465623 0.258686 -v -0.219995 0.395980 0.329245 -v -0.258686 0.311119 0.387151 -v -0.287437 0.214303 0.430179 -v -0.305141 0.109251 0.456676 -v -0.311119 0.000000 0.465623 -v -0.305141 -0.109251 0.456676 -v -0.287437 -0.214303 0.430179 -v -0.258686 -0.311119 0.387151 -v -0.219995 -0.395980 0.329245 -v -0.172849 -0.465623 0.258686 -v -0.119060 -0.517373 0.178186 -v -0.060696 -0.549240 0.090838 -v -0.077252 0.549240 0.077252 -v -0.151535 0.517373 0.151535 -v -0.219995 0.465623 0.219994 -v -0.280000 0.395980 0.280000 -v -0.329245 0.311119 0.329245 -v -0.365838 0.214303 0.365837 -v -0.388371 0.109251 0.388371 -v -0.395980 0.000000 0.395980 -v -0.388371 -0.109251 0.388371 -v -0.365838 -0.214303 0.365837 -v -0.329245 -0.311119 0.329245 -v -0.280000 -0.395980 0.280000 -v -0.219995 -0.465623 0.219994 -v -0.151535 -0.517373 0.151535 -v -0.077252 -0.549240 0.077252 -v -0.090838 0.549240 0.060696 -v -0.178186 0.517373 0.119060 -v -0.258686 0.465623 0.172849 -v -0.329245 0.395980 0.219995 -v -0.387151 0.311119 0.258686 -v -0.430179 0.214303 0.287437 -v -0.456676 0.109251 0.305141 -v -0.465623 0.000000 0.311119 -v -0.456676 -0.109251 0.305141 -v -0.430179 -0.214303 0.287437 -v -0.387151 -0.311119 0.258686 -v -0.329245 -0.395980 0.219995 -v -0.258686 -0.465623 0.172849 -v -0.178186 -0.517373 0.119060 -v -0.090838 -0.549240 0.060696 -v -0.100934 0.549240 0.041808 -v -0.197990 0.517373 0.082010 -v -0.287437 0.465623 0.119060 -v -0.365838 0.395980 0.151535 -v -0.430179 0.311119 0.178186 -v -0.477990 0.214303 0.197990 -v -0.507431 0.109251 0.210185 -v -0.517372 0.000000 0.214303 -v -0.507431 -0.109251 0.210185 -v -0.477990 -0.214303 0.197990 -v -0.430179 -0.311119 0.178186 -v -0.365838 -0.395980 0.151535 -v -0.287437 -0.465623 0.119060 -v -0.197990 -0.517373 0.082010 -v -0.100934 -0.549240 0.041808 -v -0.107151 0.549240 0.021314 -v -0.210185 0.517373 0.041808 -v -0.305141 0.465623 0.060696 -v -0.388371 0.395980 0.077252 -v -0.456676 0.311119 0.090838 -v -0.507431 0.214303 0.100934 -v -0.538686 0.109251 0.107151 -v -0.549240 0.000000 0.109251 -v -0.538686 -0.109251 0.107151 -v -0.507431 -0.214303 0.100934 -v -0.456676 -0.311119 0.090838 -v -0.388371 -0.395980 0.077252 -v -0.305141 -0.465623 0.060696 -v -0.210185 -0.517373 0.041808 -v -0.107151 -0.549240 0.021314 -v -0.109251 0.549240 -0.000000 -v -0.214303 0.517373 -0.000000 -v -0.311119 0.465623 -0.000000 -v -0.395980 0.395980 -0.000000 -v -0.465623 0.311119 -0.000000 -v -0.517372 0.214303 -0.000000 -v -0.549240 0.109251 -0.000000 -v -0.560000 0.000000 -0.000000 -v -0.549240 -0.109251 -0.000000 -v -0.517372 -0.214303 -0.000000 -v -0.465623 -0.311119 -0.000000 -v -0.395980 -0.395980 -0.000000 -v -0.311119 -0.465623 -0.000000 -v -0.214303 -0.517373 -0.000000 -v -0.109251 -0.549240 -0.000000 -v -0.107151 0.549240 -0.021314 -v -0.210185 0.517373 -0.041808 -v -0.305141 0.465623 -0.060696 -v -0.388371 0.395980 -0.077252 -v -0.456676 0.311119 -0.090839 -v -0.507431 0.214303 -0.100934 -v -0.538686 0.109251 -0.107151 -v -0.549240 0.000000 -0.109251 -v -0.538686 -0.109251 -0.107151 -v -0.507431 -0.214303 -0.100934 -v -0.456676 -0.311119 -0.090839 -v -0.388371 -0.395980 -0.077252 -v -0.305141 -0.465623 -0.060696 -v -0.210185 -0.517373 -0.041808 -v -0.107151 -0.549240 -0.021314 -v -0.100934 0.549240 -0.041808 -v -0.197990 0.517373 -0.082010 -v -0.287437 0.465623 -0.119060 -v -0.365837 0.395980 -0.151535 -v -0.430179 0.311119 -0.178186 -v -0.477990 0.214303 -0.197990 -v -0.507431 0.109251 -0.210185 -v -0.517372 0.000000 -0.214303 -v -0.507431 -0.109251 -0.210185 -v -0.477990 -0.214303 -0.197990 -v -0.430179 -0.311119 -0.178186 -v -0.365837 -0.395980 -0.151535 -v -0.287437 -0.465623 -0.119060 -v -0.197990 -0.517373 -0.082010 -v -0.100934 -0.549240 -0.041808 -v -0.090838 0.549240 -0.060696 -v -0.178186 0.517373 -0.119060 -v -0.258686 0.465623 -0.172849 -v -0.329245 0.395980 -0.219995 -v -0.387151 0.311119 -0.258686 -v -0.430179 0.214303 -0.287437 -v -0.456676 0.109251 -0.305141 -v -0.465623 0.000000 -0.311119 -v -0.456676 -0.109251 -0.305141 -v -0.430179 -0.214303 -0.287437 -v -0.387151 -0.311119 -0.258686 -v -0.329245 -0.395980 -0.219995 -v -0.258686 -0.465623 -0.172849 -v -0.178186 -0.517373 -0.119060 -v -0.090838 -0.549240 -0.060696 -v -0.077252 0.549240 -0.077252 -v -0.151535 0.517373 -0.151535 -v -0.219994 0.465623 -0.219994 -v -0.280000 0.395980 -0.280000 -v -0.329245 0.311119 -0.329245 -v -0.365837 0.214303 -0.365838 -v -0.388371 0.109251 -0.388371 -v -0.395980 0.000000 -0.395980 -v -0.388371 -0.109251 -0.388371 -v -0.365837 -0.214303 -0.365838 -v -0.329245 -0.311119 -0.329245 -v -0.280000 -0.395980 -0.280000 -v -0.219994 -0.465623 -0.219994 -v -0.151535 -0.517373 -0.151535 -v -0.077252 -0.549240 -0.077252 -v -0.060696 0.549240 -0.090838 -v -0.119060 0.517373 -0.178186 -v -0.172848 0.465623 -0.258686 -v -0.219994 0.395980 -0.329245 -v -0.258686 0.311119 -0.387151 -v -0.287437 0.214303 -0.430179 -v -0.305141 0.109251 -0.456676 -v -0.311119 0.000000 -0.465623 -v -0.305141 -0.109251 -0.456676 -v -0.287437 -0.214303 -0.430179 -v -0.258686 -0.311119 -0.387151 -v -0.219994 -0.395980 -0.329245 -v -0.172848 -0.465623 -0.258686 -v -0.119060 -0.517373 -0.178186 -v -0.060696 -0.549240 -0.090838 -v -0.041808 0.549240 -0.100934 -v -0.082010 0.517373 -0.197990 -v -0.119060 0.465623 -0.287437 -v -0.151535 0.395980 -0.365837 -v -0.178186 0.311119 -0.430179 -v -0.197990 0.214303 -0.477990 -v -0.210185 0.109251 -0.507431 -v -0.214303 0.000000 -0.517372 -v -0.210185 -0.109251 -0.507431 -v -0.197990 -0.214303 -0.477990 -v -0.178186 -0.311119 -0.430179 -v -0.151535 -0.395980 -0.365837 -v -0.119060 -0.465623 -0.287437 -v -0.082010 -0.517373 -0.197990 -v -0.041808 -0.549240 -0.100934 -v -0.021314 0.549240 -0.107151 -v -0.041808 0.517373 -0.210185 -v -0.060696 0.465623 -0.305141 -v -0.077252 0.395980 -0.388371 -v -0.090838 0.311119 -0.456676 -v -0.100934 0.214303 -0.507431 -v -0.107151 0.109251 -0.538686 -v -0.109250 0.000000 -0.549240 -v -0.107151 -0.109251 -0.538686 -v -0.100934 -0.214303 -0.507431 -v -0.090838 -0.311119 -0.456676 -v -0.077252 -0.395980 -0.388371 -v -0.060696 -0.465623 -0.305141 -v -0.041808 -0.517373 -0.210185 -v -0.021314 -0.549240 -0.107151 -v 0.000000 0.549240 -0.109250 -v 0.000000 0.517373 -0.214303 -v 0.000000 0.311119 -0.465623 -v 0.000000 -0.395980 -0.395980 -v 0.000000 -0.517373 -0.214303 -v 0.000000 -0.549240 -0.109250 -vn -0.0000 -0.8286 -0.5598 -vn 0.0757 -0.9217 -0.3804 -vn -0.0000 -0.9217 -0.3879 -vn -0.0000 0.1939 -0.9810 -vn 0.1804 0.3805 -0.9070 -vn 0.1914 0.1939 -0.9622 -vn 0.0392 -0.9796 -0.1971 -vn -0.0000 -0.9796 -0.2010 -vn -0.0000 -0.0000 -1.0000 -vn 0.1951 -0.0000 -0.9808 -vn -0.0000 0.9796 -0.2010 -vn -0.0000 1.0000 -0.0000 -vn 0.0392 0.9796 -0.1971 -vn -0.0000 -1.0000 -0.0000 -vn 0.1914 -0.1939 -0.9622 -vn -0.0000 -0.1939 -0.9810 -vn -0.0000 0.9217 -0.3879 -vn 0.0757 0.9217 -0.3804 -vn 0.1804 -0.3805 -0.9070 -vn -0.0000 -0.3805 -0.9248 -vn -0.0000 0.8286 -0.5598 -vn 0.1092 0.8286 -0.5490 -vn 0.1626 -0.5528 -0.8173 -vn -0.0000 -0.5528 -0.8333 -vn -0.0000 0.7041 -0.7101 -vn 0.1385 0.7041 -0.6965 -vn 0.1385 -0.7041 -0.6965 -vn -0.0000 -0.7041 -0.7101 -vn -0.0000 0.5528 -0.8333 -vn 0.1626 0.5528 -0.8173 -vn 0.1092 -0.8286 -0.5490 -vn -0.0000 0.3805 -0.9248 -vn 0.2142 -0.8286 -0.5172 -vn 0.3189 0.5528 -0.7699 -vn 0.3539 0.3805 -0.8544 -vn 0.1484 -0.9217 -0.3584 -vn 0.3754 0.1939 -0.9063 -vn 0.0769 -0.9796 -0.1857 -vn 0.3827 -0.0000 -0.9239 -vn 0.0769 0.9796 -0.1857 -vn 0.3754 -0.1939 -0.9063 -vn 0.1484 0.9217 -0.3584 -vn 0.3539 -0.3805 -0.8544 -vn 0.2142 0.8286 -0.5172 -vn 0.3189 -0.5528 -0.7699 -vn 0.2718 0.7041 -0.6561 -vn 0.2718 -0.7041 -0.6561 -vn 0.1117 0.9796 -0.1671 -vn 0.2155 0.9217 -0.3225 -vn 0.5138 -0.3805 -0.7689 -vn 0.3110 0.8286 -0.4654 -vn 0.4630 -0.5528 -0.6929 -vn 0.3945 0.7041 -0.5905 -vn 0.3945 -0.7041 -0.5905 -vn 0.4630 0.5528 -0.6929 -vn 0.3110 -0.8286 -0.4654 -vn 0.5138 0.3805 -0.7689 -vn 0.2155 -0.9217 -0.3225 -vn 0.5450 0.1939 -0.8157 -vn 0.1117 -0.9796 -0.1671 -vn 0.5556 -0.0000 -0.8315 -vn 0.5450 -0.1939 -0.8157 -vn 0.5893 0.5528 -0.5893 -vn 0.6539 0.3805 -0.6539 -vn 0.2743 -0.9217 -0.2743 -vn 0.6937 0.1939 -0.6937 -vn 0.1421 -0.9796 -0.1421 -vn 0.7071 -0.0000 -0.7071 -vn 0.1421 0.9796 -0.1421 -vn 0.6937 -0.1939 -0.6937 -vn 0.2743 0.9217 -0.2743 -vn 0.6539 -0.3805 -0.6539 -vn 0.3958 0.8286 -0.3958 -vn 0.5893 -0.5528 -0.5893 -vn 0.5021 0.7041 -0.5021 -vn 0.5021 -0.7041 -0.5021 -vn 0.3958 -0.8286 -0.3958 -vn 0.7689 -0.3805 -0.5138 -vn 0.3225 0.9217 -0.2155 -vn 0.4654 0.8286 -0.3110 -vn 0.6929 -0.5528 -0.4630 -vn 0.5905 0.7041 -0.3945 -vn 0.5905 -0.7041 -0.3945 -vn 0.6929 0.5528 -0.4630 -vn 0.4654 -0.8286 -0.3110 -vn 0.7689 0.3805 -0.5138 -vn 0.3225 -0.9217 -0.2155 -vn 0.8157 0.1939 -0.5450 -vn 0.1671 -0.9796 -0.1117 -vn 0.8315 -0.0000 -0.5556 -vn 0.1671 0.9796 -0.1117 -vn 0.8157 -0.1939 -0.5450 -vn 0.3584 -0.9217 -0.1484 -vn 0.8544 0.3805 -0.3539 -vn 0.9063 0.1939 -0.3754 -vn 0.1857 -0.9796 -0.0769 -vn 0.9239 -0.0000 -0.3827 -vn 0.1857 0.9796 -0.0769 -vn 0.9063 -0.1939 -0.3754 -vn 0.3584 0.9217 -0.1484 -vn 0.8544 -0.3805 -0.3539 -vn 0.5172 0.8286 -0.2142 -vn 0.7699 -0.5528 -0.3189 -vn 0.6561 0.7041 -0.2718 -vn 0.6561 -0.7041 -0.2718 -vn 0.7699 0.5528 -0.3189 -vn 0.5172 -0.8286 -0.2142 -vn 0.8173 -0.5528 -0.1626 -vn 0.5490 0.8286 -0.1092 -vn 0.6965 0.7041 -0.1385 -vn 0.6965 -0.7041 -0.1385 -vn 0.8173 0.5528 -0.1626 -vn 0.5490 -0.8286 -0.1092 -vn 0.9070 0.3805 -0.1804 -vn 0.3804 -0.9217 -0.0757 -vn 0.9622 0.1939 -0.1914 -vn 0.1971 -0.9796 -0.0392 -vn 0.9808 -0.0000 -0.1951 -vn 0.1971 0.9796 -0.0392 -vn 0.9622 -0.1939 -0.1914 -vn 0.3804 0.9217 -0.0757 -vn 0.9070 -0.3805 -0.1804 -vn 0.2010 -0.9796 -0.0000 -vn 0.9810 0.1939 -0.0000 -vn 1.0000 -0.0000 -0.0000 -vn 0.2010 0.9796 -0.0000 -vn 0.9810 -0.1939 -0.0000 -vn 0.3879 0.9217 -0.0000 -vn 0.9248 -0.3805 -0.0000 -vn 0.5598 0.8286 -0.0000 -vn 0.8333 -0.5528 -0.0000 -vn 0.7101 0.7041 -0.0000 -vn 0.7101 -0.7041 -0.0000 -vn 0.8333 0.5528 -0.0000 -vn 0.5598 -0.8286 -0.0000 -vn 0.9248 0.3805 -0.0000 -vn 0.3879 -0.9217 -0.0000 -vn 0.6965 0.7041 0.1385 -vn 0.8173 -0.5528 0.1626 -vn 0.6965 -0.7041 0.1385 -vn 0.8173 0.5528 0.1626 -vn 0.5490 -0.8286 0.1092 -vn 0.9070 0.3805 0.1804 -vn 0.3804 -0.9217 0.0757 -vn 0.9622 0.1939 0.1914 -vn 0.1971 -0.9796 0.0392 -vn 0.9808 -0.0000 0.1951 -vn 0.1971 0.9796 0.0392 -vn 0.9622 -0.1939 0.1914 -vn 0.3804 0.9217 0.0757 -vn 0.9070 -0.3805 0.1804 -vn 0.5490 0.8286 0.1092 -vn 0.9239 -0.0000 0.3827 -vn 0.1857 0.9796 0.0769 -vn 0.1857 -0.9796 0.0769 -vn 0.9063 -0.1939 0.3754 -vn 0.3584 0.9217 0.1484 -vn 0.8544 -0.3805 0.3539 -vn 0.5172 0.8286 0.2142 -vn 0.7699 -0.5528 0.3189 -vn 0.6561 0.7041 0.2718 -vn 0.6561 -0.7041 0.2718 -vn 0.7699 0.5528 0.3189 -vn 0.5172 -0.8286 0.2142 -vn 0.8544 0.3805 0.3539 -vn 0.3584 -0.9217 0.1484 -vn 0.9063 0.1939 0.3754 -vn 0.6929 -0.5528 0.4630 -vn 0.5905 -0.7041 0.3945 -vn 0.6929 0.5528 0.4630 -vn 0.4654 -0.8286 0.3110 -vn 0.7689 0.3805 0.5138 -vn 0.3225 -0.9217 0.2155 -vn 0.8157 0.1939 0.5450 -vn 0.1671 -0.9796 0.1117 -vn 0.8315 -0.0000 0.5556 -vn 0.1671 0.9796 0.1117 -vn 0.8157 -0.1939 0.5450 -vn 0.3225 0.9217 0.2155 -vn 0.7689 -0.3805 0.5138 -vn 0.4654 0.8286 0.3110 -vn 0.5905 0.7041 0.3945 -vn 0.1421 0.9796 0.1421 -vn 0.1421 -0.9796 0.1421 -vn 0.7071 -0.0000 0.7071 -vn 0.6937 -0.1939 0.6937 -vn 0.2743 0.9217 0.2743 -vn 0.6539 -0.3805 0.6539 -vn 0.3958 0.8286 0.3958 -vn 0.5893 -0.5528 0.5893 -vn 0.5021 0.7041 0.5021 -vn 0.5021 -0.7041 0.5021 -vn 0.5893 0.5528 0.5893 -vn 0.3958 -0.8286 0.3958 -vn 0.6539 0.3805 0.6539 -vn 0.2743 -0.9217 0.2743 -vn 0.6937 0.1939 0.6937 -vn 0.4630 0.5528 0.6929 -vn 0.3945 -0.7041 0.5905 -vn 0.3110 -0.8286 0.4654 -vn 0.5138 0.3805 0.7689 -vn 0.2155 -0.9217 0.3225 -vn 0.5450 0.1939 0.8157 -vn 0.1117 -0.9796 0.1671 -vn 0.5556 -0.0000 0.8315 -vn 0.1117 0.9796 0.1671 -vn 0.5450 -0.1939 0.8157 -vn 0.2155 0.9217 0.3225 -vn 0.5138 -0.3805 0.7689 -vn 0.3110 0.8286 0.4654 -vn 0.4630 -0.5528 0.6929 -vn 0.3945 0.7041 0.5905 -vn 0.3827 -0.0000 0.9239 -vn 0.3754 -0.1939 0.9063 -vn 0.1484 0.9217 0.3584 -vn 0.3539 -0.3805 0.8544 -vn 0.2142 0.8286 0.5172 -vn 0.3189 -0.5528 0.7699 -vn 0.2718 0.7041 0.6561 -vn 0.2718 -0.7041 0.6561 -vn 0.3189 0.5528 0.7699 -vn 0.2142 -0.8286 0.5172 -vn 0.3539 0.3805 0.8544 -vn 0.1484 -0.9217 0.3584 -vn 0.3754 0.1939 0.9063 -vn 0.0769 -0.9796 0.1857 -vn 0.0769 0.9796 0.1857 -vn 0.1385 -0.7041 0.6965 -vn 0.1092 -0.8286 0.5490 -vn 0.1804 0.3805 0.9070 -vn 0.0757 -0.9217 0.3804 -vn 0.1914 0.1939 0.9622 -vn 0.0392 -0.9796 0.1971 -vn 0.1951 -0.0000 0.9808 -vn 0.0392 0.9796 0.1971 -vn 0.1914 -0.1939 0.9622 -vn 0.0757 0.9217 0.3804 -vn 0.1804 -0.3805 0.9070 -vn 0.1092 0.8286 0.5490 -vn 0.1626 -0.5528 0.8173 -vn 0.1385 0.7041 0.6965 -vn 0.1626 0.5528 0.8173 -vn -0.0000 -0.1939 0.9810 -vn -0.0000 -0.3805 0.9248 -vn -0.0000 0.8286 0.5598 -vn -0.0000 -0.5528 0.8333 -vn -0.0000 0.7041 0.7101 -vn -0.0000 -0.7041 0.7101 -vn -0.0000 0.5528 0.8333 -vn -0.0000 -0.8286 0.5598 -vn -0.0000 0.3805 0.9248 -vn -0.0000 -0.9217 0.3879 -vn -0.0000 0.1939 0.9810 -vn -0.0000 -0.9796 0.2010 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 0.9796 0.2010 -vn -0.0000 0.9217 0.3879 -vn -0.0757 -0.9217 0.3804 -vn -0.1804 0.3805 0.9070 -vn -0.1914 0.1939 0.9622 -vn -0.0392 -0.9796 0.1971 -vn -0.1951 -0.0000 0.9808 -vn -0.0392 0.9796 0.1971 -vn -0.1914 -0.1939 0.9622 -vn -0.0757 0.9217 0.3804 -vn -0.1804 -0.3805 0.9070 -vn -0.1092 0.8286 0.5490 -vn -0.1626 -0.5528 0.8173 -vn -0.1385 0.7041 0.6965 -vn -0.1385 -0.7041 0.6965 -vn -0.1626 0.5528 0.8173 -vn -0.1092 -0.8286 0.5490 -vn -0.1484 0.9217 0.3584 -vn -0.2142 0.8286 0.5172 -vn -0.3189 -0.5528 0.7699 -vn -0.2718 0.7041 0.6561 -vn -0.2718 -0.7041 0.6561 -vn -0.3189 0.5528 0.7699 -vn -0.2142 -0.8286 0.5172 -vn -0.3539 0.3805 0.8544 -vn -0.1484 -0.9217 0.3584 -vn -0.3754 0.1939 0.9063 -vn -0.0769 -0.9796 0.1857 -vn -0.3827 -0.0000 0.9239 -vn -0.0769 0.9796 0.1857 -vn -0.3754 -0.1939 0.9063 -vn -0.3539 -0.3805 0.8544 -vn -0.5138 0.3805 0.7689 -vn -0.5450 0.1939 0.8157 -vn -0.1117 -0.9796 0.1671 -vn -0.5556 -0.0000 0.8315 -vn -0.1117 0.9796 0.1671 -vn -0.5450 -0.1939 0.8157 -vn -0.2155 0.9217 0.3225 -vn -0.5138 -0.3805 0.7689 -vn -0.3110 0.8286 0.4654 -vn -0.4630 -0.5528 0.6929 -vn -0.3945 0.7041 0.5905 -vn -0.3945 -0.7041 0.5905 -vn -0.4630 0.5528 0.6929 -vn -0.3110 -0.8286 0.4654 -vn -0.2155 -0.9217 0.3225 -vn -0.5893 -0.5528 0.5893 -vn -0.3958 0.8286 0.3958 -vn -0.5021 0.7041 0.5021 -vn -0.5021 -0.7041 0.5021 -vn -0.5893 0.5528 0.5893 -vn -0.3958 -0.8286 0.3958 -vn -0.6539 0.3805 0.6539 -vn -0.2743 -0.9217 0.2743 -vn -0.6937 0.1939 0.6937 -vn -0.1421 -0.9796 0.1421 -vn -0.7071 -0.0000 0.7071 -vn -0.1421 0.9796 0.1421 -vn -0.6937 -0.1939 0.6937 -vn -0.2743 0.9217 0.2743 -vn -0.6539 -0.3805 0.6539 -vn -0.1671 -0.9796 0.1117 -vn -0.8157 0.1939 0.5450 -vn -0.8315 -0.0000 0.5556 -vn -0.1671 0.9796 0.1117 -vn -0.8157 -0.1939 0.5450 -vn -0.3225 0.9217 0.2155 -vn -0.7689 -0.3805 0.5138 -vn -0.4654 0.8286 0.3110 -vn -0.6929 -0.5528 0.4630 -vn -0.5905 0.7041 0.3945 -vn -0.5905 -0.7041 0.3945 -vn -0.6929 0.5528 0.4630 -vn -0.4654 -0.8286 0.3110 -vn -0.7689 0.3805 0.5138 -vn -0.3225 -0.9217 0.2155 -vn -0.5172 0.8286 0.2142 -vn -0.6561 0.7041 0.2718 -vn -0.6561 -0.7041 0.2718 -vn -0.7699 0.5528 0.3189 -vn -0.5172 -0.8286 0.2142 -vn -0.8544 0.3805 0.3539 -vn -0.3584 -0.9217 0.1484 -vn -0.9063 0.1939 0.3754 -vn -0.1857 -0.9796 0.0769 -vn -0.9239 -0.0000 0.3827 -vn -0.1857 0.9796 0.0769 -vn -0.9063 -0.1939 0.3754 -vn -0.3584 0.9217 0.1484 -vn -0.8544 -0.3805 0.3539 -vn -0.7699 -0.5528 0.3189 -vn -0.9622 0.1939 0.1914 -vn -0.9808 -0.0000 0.1951 -vn -0.1971 0.9796 0.0392 -vn -0.1971 -0.9796 0.0392 -vn -0.9622 -0.1939 0.1914 -vn -0.3804 0.9217 0.0757 -vn -0.9070 -0.3805 0.1804 -vn -0.5490 0.8286 0.1092 -vn -0.8173 -0.5528 0.1626 -vn -0.6965 0.7041 0.1385 -vn -0.6965 -0.7041 0.1385 -vn -0.8173 0.5528 0.1626 -vn -0.5490 -0.8286 0.1092 -vn -0.9070 0.3805 0.1804 -vn -0.3804 -0.9217 0.0757 -vn -0.7101 -0.7041 -0.0000 -vn -0.7101 0.7041 -0.0000 -vn -0.8333 0.5528 -0.0000 -vn -0.5598 -0.8286 -0.0000 -vn -0.9248 0.3805 -0.0000 -vn -0.3879 -0.9217 -0.0000 -vn -0.9810 0.1939 -0.0000 -vn -0.2010 -0.9796 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.2010 0.9796 -0.0000 -vn -0.9810 -0.1939 -0.0000 -vn -0.3879 0.9217 -0.0000 -vn -0.9248 -0.3805 -0.0000 -vn -0.5598 0.8286 -0.0000 -vn -0.8333 -0.5528 -0.0000 -vn -0.1971 -0.9796 -0.0392 -vn -0.9808 -0.0000 -0.1951 -vn -0.9622 -0.1939 -0.1914 -vn -0.3804 0.9217 -0.0757 -vn -0.9070 -0.3805 -0.1804 -vn -0.5490 0.8286 -0.1092 -vn -0.8173 -0.5528 -0.1626 -vn -0.6965 0.7041 -0.1385 -vn -0.6965 -0.7041 -0.1385 -vn -0.8173 0.5528 -0.1626 -vn -0.5490 -0.8286 -0.1092 -vn -0.9070 0.3805 -0.1804 -vn -0.3804 -0.9217 -0.0757 -vn -0.9622 0.1939 -0.1914 -vn -0.1971 0.9796 -0.0392 -vn -0.6561 -0.7041 -0.2718 -vn -0.5172 -0.8286 -0.2142 -vn -0.8544 0.3805 -0.3539 -vn -0.3584 -0.9217 -0.1484 -vn -0.9063 0.1939 -0.3754 -vn -0.1857 -0.9796 -0.0769 -vn -0.9239 -0.0000 -0.3827 -vn -0.1857 0.9796 -0.0769 -vn -0.9063 -0.1939 -0.3754 -vn -0.3584 0.9217 -0.1484 -vn -0.8544 -0.3805 -0.3539 -vn -0.5172 0.8286 -0.2142 -vn -0.7699 -0.5528 -0.3189 -vn -0.6561 0.7041 -0.2718 -vn -0.7699 0.5528 -0.3189 -vn -0.3225 0.9217 -0.2155 -vn -0.8157 -0.1939 -0.5450 -vn -0.7689 -0.3805 -0.5138 -vn -0.4654 0.8286 -0.3110 -vn -0.6929 -0.5528 -0.4630 -vn -0.5905 0.7041 -0.3945 -vn -0.5905 -0.7041 -0.3945 -vn -0.6929 0.5528 -0.4630 -vn -0.4654 -0.8286 -0.3110 -vn -0.7689 0.3805 -0.5138 -vn -0.3225 -0.9217 -0.2155 -vn -0.8157 0.1939 -0.5450 -vn -0.1671 -0.9796 -0.1117 -vn -0.8315 -0.0000 -0.5556 -vn -0.1671 0.9796 -0.1117 -vn -0.6539 0.3805 -0.6539 -vn -0.3958 -0.8286 -0.3958 -vn -0.2743 -0.9217 -0.2743 -vn -0.6937 0.1939 -0.6937 -vn -0.1421 -0.9796 -0.1421 -vn -0.7071 -0.0000 -0.7071 -vn -0.1421 0.9796 -0.1421 -vn -0.6937 -0.1939 -0.6937 -vn -0.2743 0.9217 -0.2743 -vn -0.6539 -0.3805 -0.6539 -vn -0.3958 0.8286 -0.3958 -vn -0.5893 -0.5528 -0.5893 -vn -0.5021 0.7041 -0.5021 -vn -0.5021 -0.7041 -0.5021 -vn -0.5893 0.5528 -0.5893 -vn -0.5450 -0.1939 -0.8157 -vn -0.5138 -0.3805 -0.7689 -vn -0.3110 0.8286 -0.4654 -vn -0.4630 -0.5528 -0.6929 -vn -0.3945 0.7041 -0.5905 -vn -0.3945 -0.7041 -0.5905 -vn -0.4630 0.5528 -0.6929 -vn -0.3110 -0.8286 -0.4654 -vn -0.5138 0.3805 -0.7689 -vn -0.2155 -0.9217 -0.3225 -vn -0.5450 0.1939 -0.8157 -vn -0.1117 -0.9796 -0.1671 -vn -0.5556 -0.0000 -0.8315 -vn -0.1117 0.9796 -0.1671 -vn -0.2155 0.9217 -0.3225 -vn -0.2142 -0.8286 -0.5172 -vn -0.1484 -0.9217 -0.3584 -vn -0.3754 0.1939 -0.9063 -vn -0.0769 -0.9796 -0.1857 -vn -0.3827 -0.0000 -0.9239 -vn -0.0769 0.9796 -0.1857 -vn -0.3754 -0.1939 -0.9063 -vn -0.1484 0.9217 -0.3584 -vn -0.3539 -0.3805 -0.8544 -vn -0.2142 0.8286 -0.5172 -vn -0.3189 -0.5528 -0.7699 -vn -0.2718 0.7041 -0.6561 -vn -0.2718 -0.7041 -0.6561 -vn -0.3189 0.5528 -0.7699 -vn -0.3539 0.3805 -0.8544 -vn -0.1092 0.8286 -0.5490 -vn -0.1804 -0.3805 -0.9070 -vn -0.1626 -0.5528 -0.8173 -vn -0.1385 0.7041 -0.6965 -vn -0.1385 -0.7041 -0.6965 -vn -0.1626 0.5528 -0.8173 -vn -0.1092 -0.8286 -0.5490 -vn -0.1804 0.3805 -0.9070 -vn -0.0757 -0.9217 -0.3804 -vn -0.1914 0.1939 -0.9622 -vn -0.0392 -0.9796 -0.1971 -vn -0.1951 -0.0000 -0.9808 -vn -0.0392 0.9796 -0.1971 -vn -0.1914 -0.1939 -0.9622 -vn -0.0757 0.9217 -0.3804 -vt 0.500000 0.812500 -vt 0.500000 0.750000 -vt 0.500000 0.625000 -vt 0.500000 0.562500 -vt 0.500000 0.500000 -vt 0.500000 0.437500 -vt 0.500000 0.375000 -vt 0.500000 0.312500 -vt 0.500000 0.187500 -vt 0.437500 0.937500 -vt 0.437500 0.875000 -vt 0.437500 0.812500 -vt 0.437500 0.750000 -vt 0.437500 0.687500 -vt 0.437500 0.625000 -vt 0.437500 0.562500 -vt 0.437500 0.500000 -vt 0.437500 0.437500 -vt 0.437500 0.375000 -vt 0.437500 0.312500 -vt 0.437500 0.250000 -vt 0.437500 0.187500 -vt 0.437500 0.125000 -vt 0.437500 0.062500 -vt 0.375000 0.937500 -vt 0.375000 0.875000 -vt 0.375000 0.812500 -vt 0.375000 0.750000 -vt 0.375000 0.687500 -vt 0.375000 0.625000 -vt 0.375000 0.562500 -vt 0.375000 0.500000 -vt 0.375000 0.437500 -vt 0.375000 0.375000 -vt 0.375000 0.312500 -vt 0.375000 0.250000 -vt 0.375000 0.187500 -vt 0.375000 0.125000 -vt 0.375000 0.062500 -vt 0.312500 0.937500 -vt 0.312500 0.875000 -vt 0.312500 0.812500 -vt 0.312500 0.750000 -vt 0.312500 0.687500 -vt 0.312500 0.625000 -vt 0.312500 0.562500 -vt 0.312500 0.500000 -vt 0.312500 0.437500 -vt 0.312500 0.375000 -vt 0.312500 0.312500 -vt 0.312500 0.250000 -vt 0.312500 0.187500 -vt 0.312500 0.125000 -vt 0.312500 0.062500 -vt 0.468750 0.000000 -vt 0.406250 0.000000 -vt 0.343750 0.000000 -vt 0.281250 0.000000 -vt 0.218750 0.000000 -vt 0.156250 0.000000 -vt 0.093750 0.000000 -vt 0.031250 0.000000 -vt 0.968750 0.000000 -vt 0.906250 0.000000 -vt 0.843750 0.000000 -vt 0.781250 0.000000 -vt 0.718750 0.000000 -vt 0.656250 0.000000 -vt 0.593750 0.000000 -vt 0.531250 0.000000 -vt 0.250000 0.937500 -vt 0.250000 0.875000 -vt 0.250000 0.812500 -vt 0.250000 0.750000 -vt 0.250000 0.687500 -vt 0.250000 0.625000 -vt 0.250000 0.562500 -vt 0.250000 0.500000 -vt 0.250000 0.437500 -vt 0.250000 0.375000 -vt 0.250000 0.312500 -vt 0.250000 0.250000 -vt 0.250000 0.187500 -vt 0.250000 0.125000 -vt 0.250000 0.062500 -vt 0.187500 0.937500 -vt 0.187500 0.875000 -vt 0.187500 0.812500 -vt 0.187500 0.750000 -vt 0.187500 0.687500 -vt 0.187500 0.625000 -vt 0.187500 0.562500 -vt 0.187500 0.500000 -vt 0.187500 0.437500 -vt 0.187500 0.375000 -vt 0.187500 0.312500 -vt 0.187500 0.250000 -vt 0.187500 0.187500 -vt 0.187500 0.125000 -vt 0.187500 0.062500 -vt 0.125000 0.937500 -vt 0.125000 0.875000 -vt 0.125000 0.812500 -vt 0.125000 0.750000 -vt 0.125000 0.687500 -vt 0.125000 0.625000 -vt 0.125000 0.562500 -vt 0.125000 0.500000 -vt 0.125000 0.437500 -vt 0.125000 0.375000 -vt 0.125000 0.312500 -vt 0.125000 0.250000 -vt 0.125000 0.187500 -vt 0.125000 0.125000 -vt 0.125000 0.062500 -vt 0.062500 0.937500 -vt 0.062500 0.875000 -vt 0.062500 0.812500 -vt 0.062500 0.750000 -vt 0.062500 0.687500 -vt 0.062500 0.625000 -vt 0.062500 0.562500 -vt 0.062500 0.500000 -vt 0.062500 0.437500 -vt 0.062500 0.375000 -vt 0.062500 0.312500 -vt 0.062500 0.250000 -vt 0.062500 0.187500 -vt 0.062500 0.125000 -vt 0.062500 0.062500 -vt 0.000000 0.937500 -vt 1.000000 0.937500 -vt -0.000000 0.875000 -vt 1.000000 0.875000 -vt 0.000000 0.812500 -vt 1.000000 0.812500 -vt 0.000000 0.750000 -vt 1.000000 0.750000 -vt 0.000000 0.687500 -vt 1.000000 0.687500 -vt 0.000000 0.625000 -vt 1.000000 0.625000 -vt 0.000000 0.562500 -vt 1.000000 0.562500 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 1.000000 0.437500 -vt 0.000000 0.437500 -vt 1.000000 0.375000 -vt 0.000000 0.375000 -vt 1.000000 0.312500 -vt 0.000000 0.312500 -vt 1.000000 0.250000 -vt 0.000000 0.250000 -vt 1.000000 0.187500 -vt 0.000000 0.187500 -vt 1.000000 0.125000 -vt -0.000000 0.125000 -vt 1.000000 0.062500 -vt 0.000000 0.062500 -vt 0.937500 0.937500 -vt 0.937500 0.875000 -vt 0.937500 0.812500 -vt 0.937500 0.750000 -vt 0.937500 0.687500 -vt 0.937500 0.625000 -vt 0.937500 0.562500 -vt 0.937500 0.500000 -vt 0.937500 0.437500 -vt 0.937500 0.375000 -vt 0.937500 0.312500 -vt 0.937500 0.250000 -vt 0.937500 0.187500 -vt 0.937500 0.125000 -vt 0.937500 0.062500 -vt 0.875000 0.937500 -vt 0.875000 0.875000 -vt 0.875000 0.812500 -vt 0.875000 0.750000 -vt 0.875000 0.687500 -vt 0.875000 0.625000 -vt 0.875000 0.562500 -vt 0.875000 0.500000 -vt 0.875000 0.437500 -vt 0.875000 0.375000 -vt 0.875000 0.312500 -vt 0.875000 0.250000 -vt 0.875000 0.187500 -vt 0.875000 0.125000 -vt 0.875000 0.062500 -vt 0.812500 0.937500 -vt 0.812500 0.875000 -vt 0.812500 0.812500 -vt 0.812500 0.750000 -vt 0.812500 0.687500 -vt 0.812500 0.625000 -vt 0.812500 0.562500 -vt 0.812500 0.500000 -vt 0.812500 0.437500 -vt 0.812500 0.375000 -vt 0.812500 0.312500 -vt 0.812500 0.250000 -vt 0.812500 0.187500 -vt 0.812500 0.125000 -vt 0.812500 0.062500 -vt 0.750000 0.937500 -vt 0.750000 0.875000 -vt 0.750000 0.812500 -vt 0.750000 0.750000 -vt 0.750000 0.687500 -vt 0.750000 0.625000 -vt 0.750000 0.562500 -vt 0.750000 0.500000 -vt 0.750000 0.437500 -vt 0.750000 0.375000 -vt 0.750000 0.312500 -vt 0.750000 0.250000 -vt 0.750000 0.187500 -vt 0.750000 0.125000 -vt 0.750000 0.062500 -vt 0.687500 0.937500 -vt 0.687500 0.875000 -vt 0.687500 0.812500 -vt 0.687500 0.750000 -vt 0.687500 0.687500 -vt 0.687500 0.625000 -vt 0.687500 0.562500 -vt 0.687500 0.500000 -vt 0.687500 0.437500 -vt 0.687500 0.375000 -vt 0.687500 0.312500 -vt 0.687500 0.250000 -vt 0.687500 0.187500 -vt 0.687500 0.125000 -vt 0.687500 0.062500 -vt 0.625000 0.937500 -vt 0.625000 0.875000 -vt 0.625000 0.812500 -vt 0.625000 0.750000 -vt 0.625000 0.687500 -vt 0.625000 0.625000 -vt 0.625000 0.562500 -vt 0.625000 0.500000 -vt 0.625000 0.437500 -vt 0.625000 0.375000 -vt 0.625000 0.312500 -vt 0.625000 0.250000 -vt 0.625000 0.187500 -vt 0.625000 0.125000 -vt 0.625000 0.062500 -vt 0.562500 0.937500 -vt 0.562500 0.875000 -vt 0.562500 0.812500 -vt 0.562500 0.750000 -vt 0.562500 0.687500 -vt 0.562500 0.625000 -vt 0.562500 0.562500 -vt 0.562500 0.500000 -vt 0.562500 0.437500 -vt 0.562500 0.375000 -vt 0.562500 0.312500 -vt 0.562500 0.250000 -vt 0.562500 0.187500 -vt 0.562500 0.125000 -vt 0.562500 0.062500 -vt 0.500000 0.937500 -vt 0.500000 0.875000 -vt 0.500000 0.812500 -vt 0.500000 0.750000 -vt 0.500000 0.687500 -vt 0.500000 0.625000 -vt 0.500000 0.562500 -vt 0.500000 0.500000 -vt 0.500000 0.437500 -vt 0.500000 0.375000 -vt 0.500000 0.312500 -vt 0.500000 0.250000 -vt 0.500000 0.187500 -vt 0.500000 0.125000 -vt 0.500000 0.062500 -vt 0.468750 1.000000 -vt 0.406250 1.000000 -vt 0.343750 1.000000 -vt 0.281250 1.000000 -vt 0.218750 1.000000 -vt 0.156250 1.000000 -vt 0.093750 1.000000 -vt 0.031250 1.000000 -vt 0.968750 1.000000 -vt 0.906250 1.000000 -vt 0.843750 1.000000 -vt 0.781250 1.000000 -vt 0.718750 1.000000 -vt 0.656250 1.000000 -vt 0.593750 1.000000 -vt 0.531250 1.000000 -vt 0.437500 0.937500 -vt 0.437500 0.875000 -vt 0.437500 0.812500 -vt 0.437500 0.750000 -vt 0.437500 0.687500 -vt 0.437500 0.625000 -vt 0.437500 0.562500 -vt 0.437500 0.500000 -vt 0.437500 0.437500 -vt 0.437500 0.375000 -vt 0.437500 0.312500 -vt 0.437500 0.250000 -vt 0.437500 0.187500 -vt 0.437500 0.125000 -vt 0.437500 0.062500 -vt 0.375000 0.937500 -vt 0.375000 0.875000 -vt 0.375000 0.812500 -vt 0.375000 0.750000 -vt 0.375000 0.687500 -vt 0.375000 0.625000 -vt 0.375000 0.562500 -vt 0.375000 0.500000 -vt 0.375000 0.437500 -vt 0.375000 0.375000 -vt 0.375000 0.312500 -vt 0.375000 0.250000 -vt 0.375000 0.187500 -vt 0.375000 0.125000 -vt 0.375000 0.062500 -vt 0.312500 0.937500 -vt 0.312500 0.875000 -vt 0.312500 0.812500 -vt 0.312500 0.750000 -vt 0.312500 0.687500 -vt 0.312500 0.625000 -vt 0.312500 0.562500 -vt 0.312500 0.500000 -vt 0.312500 0.437500 -vt 0.312500 0.375000 -vt 0.312500 0.312500 -vt 0.312500 0.250000 -vt 0.312500 0.187500 -vt 0.312500 0.125000 -vt 0.312500 0.062500 -vt 0.250000 0.937500 -vt 0.250000 0.875000 -vt 0.250000 0.812500 -vt 0.250000 0.750000 -vt 0.250000 0.687500 -vt 0.250000 0.625000 -vt 0.250000 0.562500 -vt 0.250000 0.500000 -vt 0.250000 0.437500 -vt 0.250000 0.375000 -vt 0.250000 0.312500 -vt 0.250000 0.250000 -vt 0.250000 0.187500 -vt 0.250000 0.125000 -vt 0.250000 0.062500 -vt 0.187500 0.937500 -vt 0.187500 0.875000 -vt 0.187500 0.812500 -vt 0.187500 0.750000 -vt 0.187500 0.687500 -vt 0.187500 0.625000 -vt 0.187500 0.562500 -vt 0.187500 0.500000 -vt 0.187500 0.437500 -vt 0.187500 0.375000 -vt 0.187500 0.312500 -vt 0.187500 0.250000 -vt 0.187500 0.187500 -vt 0.187500 0.125000 -vt 0.187500 0.062500 -vt 0.125000 0.937500 -vt 0.125000 0.875000 -vt 0.125000 0.812500 -vt 0.125000 0.750000 -vt 0.125000 0.687500 -vt 0.125000 0.625000 -vt 0.125000 0.562500 -vt 0.125000 0.500000 -vt 0.125000 0.437500 -vt 0.125000 0.375000 -vt 0.125000 0.312500 -vt 0.125000 0.250000 -vt 0.125000 0.187500 -vt 0.125000 0.125000 -vt 0.125000 0.062500 -vt 0.062500 0.937500 -vt 0.062500 0.875000 -vt 0.062500 0.812500 -vt 0.062500 0.750000 -vt 0.062500 0.687500 -vt 0.062500 0.625000 -vt 0.062500 0.562500 -vt 0.062500 0.500000 -vt 0.062500 0.437500 -vt 0.062500 0.375000 -vt 0.062500 0.312500 -vt 0.062500 0.250000 -vt 0.062500 0.187500 -vt 0.062500 0.125000 -vt 0.062500 0.062500 -vt 0.000000 0.937500 -vt 1.000000 0.937500 -vt 0.000000 0.875000 -vt 1.000000 0.875000 -vt 0.000000 0.812500 -vt 1.000000 0.812500 -vt 0.000000 0.750000 -vt 1.000000 0.750000 -vt 0.000000 0.687500 -vt 1.000000 0.687500 -vt 0.000000 0.625000 -vt 1.000000 0.625000 -vt 0.000000 0.562500 -vt 1.000000 0.562500 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 1.000000 0.437500 -vt 0.000000 0.437500 -vt 1.000000 0.375000 -vt 0.000000 0.375000 -vt 1.000000 0.312500 -vt 0.000000 0.312500 -vt 1.000000 0.250000 -vt 0.000000 0.250000 -vt 1.000000 0.187500 -vt 0.000000 0.187500 -vt 1.000000 0.125000 -vt 0.000000 0.125000 -vt 1.000000 0.062500 -vt 0.000000 0.062500 -vt 0.937500 0.937500 -vt 0.937500 0.875000 -vt 0.937500 0.812500 -vt 0.937500 0.750000 -vt 0.937500 0.687500 -vt 0.937500 0.625000 -vt 0.937500 0.562500 -vt 0.937500 0.500000 -vt 0.937500 0.437500 -vt 0.937500 0.375000 -vt 0.937500 0.312500 -vt 0.937500 0.250000 -vt 0.937500 0.187500 -vt 0.937500 0.125000 -vt 0.937500 0.062500 -vt 0.875000 0.937500 -vt 0.875000 0.875000 -vt 0.875000 0.812500 -vt 0.875000 0.750000 -vt 0.875000 0.687500 -vt 0.875000 0.625000 -vt 0.875000 0.562500 -vt 0.875000 0.500000 -vt 0.875000 0.437500 -vt 0.875000 0.375000 -vt 0.875000 0.312500 -vt 0.875000 0.250000 -vt 0.875000 0.187500 -vt 0.875000 0.125000 -vt 0.875000 0.062500 -vt 0.812500 0.937500 -vt 0.812500 0.875000 -vt 0.812500 0.812500 -vt 0.812500 0.750000 -vt 0.812500 0.687500 -vt 0.812500 0.625000 -vt 0.812500 0.562500 -vt 0.812500 0.500000 -vt 0.812500 0.437500 -vt 0.812500 0.375000 -vt 0.812500 0.312500 -vt 0.812500 0.250000 -vt 0.812500 0.187500 -vt 0.812500 0.125000 -vt 0.812500 0.062500 -vt 0.750000 0.937500 -vt 0.750000 0.875000 -vt 0.750000 0.812500 -vt 0.750000 0.750000 -vt 0.750000 0.687500 -vt 0.750000 0.625000 -vt 0.750000 0.562500 -vt 0.750000 0.500000 -vt 0.750000 0.437500 -vt 0.750000 0.375000 -vt 0.750000 0.312500 -vt 0.750000 0.250000 -vt 0.750000 0.187500 -vt 0.750000 0.125000 -vt 0.750000 0.062500 -vt 0.687500 0.937500 -vt 0.687500 0.875000 -vt 0.687500 0.812500 -vt 0.687500 0.750000 -vt 0.687500 0.687500 -vt 0.687500 0.625000 -vt 0.687500 0.562500 -vt 0.687500 0.500000 -vt 0.687500 0.437500 -vt 0.687500 0.375000 -vt 0.687500 0.312500 -vt 0.687500 0.250000 -vt 0.687500 0.187500 -vt 0.687500 0.125000 -vt 0.687500 0.062500 -vt 0.625000 0.937500 -vt 0.625000 0.875000 -vt 0.625000 0.812500 -vt 0.625000 0.750000 -vt 0.625000 0.687500 -vt 0.625000 0.625000 -vt 0.625000 0.562500 -vt 0.625000 0.500000 -vt 0.625000 0.437500 -vt 0.625000 0.375000 -vt 0.625000 0.312500 -vt 0.625000 0.250000 -vt 0.625000 0.187500 -vt 0.625000 0.125000 -vt 0.625000 0.062500 -vt 0.562500 0.937500 -vt 0.562500 0.875000 -vt 0.562500 0.812500 -vt 0.562500 0.750000 -vt 0.562500 0.687500 -vt 0.562500 0.625000 -vt 0.562500 0.562500 -vt 0.562500 0.500000 -vt 0.562500 0.437500 -vt 0.562500 0.375000 -vt 0.562500 0.312500 -vt 0.562500 0.250000 -vt 0.562500 0.187500 -vt 0.562500 0.125000 -vt 0.562500 0.062500 -vt 0.500000 0.937500 -vt 0.500000 0.875000 -vt 0.500000 0.687500 -vt 0.500000 0.250000 -vt 0.500000 0.125000 -vt 0.500000 0.062500 -s 1 -f 9/9/1 23/23/2 481/541/3 -f 4/4/4 15/15/5 16/16/6 -f 481/541/3 24/24/7 482/542/8 -f 5/5/9 16/16/6 17/17/10 -f 477/537/11 251/281/12 10/10/13 -f 55/55/14 482/542/8 24/24/7 -f 5/5/9 18/18/15 6/6/16 -f 478/538/17 10/10/13 11/11/18 -f 6/6/16 19/19/19 7/7/20 -f 1/1/21 11/11/18 12/12/22 -f 7/7/20 20/20/23 8/8/24 -f 2/2/25 12/12/22 13/13/26 -f 8/8/24 21/21/27 480/540/28 -f 479/539/29 13/13/26 14/14/30 -f 480/540/28 22/22/31 9/9/1 -f 3/3/32 14/14/30 15/15/5 -f 21/21/27 37/37/33 22/22/31 -f 15/15/5 29/29/34 30/30/35 -f 22/22/31 38/38/36 23/23/2 -f 16/16/6 30/30/35 31/31/37 -f 23/23/2 39/39/38 24/24/7 -f 17/17/10 31/31/37 32/32/39 -f 10/10/13 251/282/12 25/25/40 -f 55/56/14 24/24/7 39/39/38 -f 17/17/10 33/33/41 18/18/15 -f 11/11/18 25/25/40 26/26/42 -f 18/18/15 34/34/43 19/19/19 -f 12/12/22 26/26/42 27/27/44 -f 19/19/19 35/35/45 20/20/23 -f 13/13/26 27/27/44 28/28/46 -f 20/20/23 36/36/47 21/21/27 -f 14/14/30 28/28/46 29/29/34 -f 26/26/42 40/40/48 41/41/49 -f 33/33/41 49/49/50 34/34/43 -f 27/27/44 41/41/49 42/42/51 -f 34/34/43 50/50/52 35/35/45 -f 28/28/46 42/42/51 43/43/53 -f 35/35/45 51/51/54 36/36/47 -f 29/29/34 43/43/53 44/44/55 -f 36/36/47 52/52/56 37/37/33 -f 30/30/35 44/44/55 45/45/57 -f 37/37/33 53/53/58 38/38/36 -f 31/31/37 45/45/57 46/46/59 -f 38/38/36 54/54/60 39/39/38 -f 32/32/39 46/46/59 47/47/61 -f 25/25/40 251/283/12 40/40/48 -f 55/57/14 39/39/38 54/54/60 -f 32/32/39 48/48/62 33/33/41 -f 45/45/57 60/75/63 61/76/64 -f 52/52/56 69/84/65 53/53/58 -f 46/46/59 61/76/64 62/77/66 -f 53/53/58 70/85/67 54/54/60 -f 47/47/61 62/77/66 63/78/68 -f 40/40/48 251/284/12 56/71/69 -f 55/58/14 54/54/60 70/85/67 -f 47/47/61 64/79/70 48/48/62 -f 41/41/49 56/71/69 57/72/71 -f 48/48/62 65/80/72 49/49/50 -f 42/42/51 57/72/71 58/73/73 -f 49/49/50 66/81/74 50/50/52 -f 43/43/53 58/73/73 59/74/75 -f 50/50/52 67/82/76 51/51/54 -f 44/44/55 59/74/75 60/75/63 -f 51/51/54 68/83/77 52/52/56 -f 64/79/70 80/95/78 65/80/72 -f 58/73/73 72/87/79 73/88/80 -f 65/80/72 81/96/81 66/81/74 -f 59/74/75 73/88/80 74/89/82 -f 66/81/74 82/97/83 67/82/76 -f 60/75/63 74/89/82 75/90/84 -f 67/82/76 83/98/85 68/83/77 -f 61/76/64 75/90/84 76/91/86 -f 68/83/77 84/99/87 69/84/65 -f 62/77/66 76/91/86 77/92/88 -f 69/84/65 85/100/89 70/85/67 -f 63/78/68 77/92/88 78/93/90 -f 56/71/69 251/285/12 71/86/91 -f 55/59/14 70/85/67 85/100/89 -f 63/78/68 79/94/92 64/79/70 -f 57/72/71 71/86/91 72/87/79 -f 83/98/85 99/114/93 84/99/87 -f 77/92/88 91/106/94 92/107/95 -f 84/99/87 100/115/96 85/100/89 -f 78/93/90 92/107/95 93/108/97 -f 71/86/91 251/286/12 86/101/98 -f 55/60/14 85/100/89 100/115/96 -f 78/93/90 94/109/99 79/94/92 -f 72/87/79 86/101/98 87/102/100 -f 79/94/92 95/110/101 80/95/78 -f 73/88/80 87/102/100 88/103/102 -f 80/95/78 96/111/103 81/96/81 -f 74/89/82 88/103/102 89/104/104 -f 81/96/81 97/112/105 82/97/83 -f 75/90/84 89/104/104 90/105/106 -f 82/97/83 98/113/107 83/98/85 -f 76/91/86 90/105/106 91/106/94 -f 95/110/101 111/126/108 96/111/103 -f 89/104/104 103/118/109 104/119/110 -f 96/111/103 112/127/111 97/112/105 -f 90/105/106 104/119/110 105/120/112 -f 97/112/105 113/128/113 98/113/107 -f 91/106/94 105/120/112 106/121/114 -f 98/113/107 114/129/115 99/114/93 -f 92/107/95 106/121/114 107/122/116 -f 99/114/93 115/130/117 100/115/96 -f 93/108/97 107/122/116 108/123/118 -f 86/101/98 251/287/12 101/116/119 -f 55/61/14 100/115/96 115/130/117 -f 93/108/97 109/124/120 94/109/99 -f 87/102/100 101/116/119 102/117/121 -f 94/109/99 110/125/122 95/110/101 -f 88/103/102 102/117/121 103/118/109 -f 114/129/115 130/160/123 115/130/117 -f 108/123/118 122/143/124 123/146/125 -f 101/116/119 251/288/12 116/131/126 -f 55/62/14 115/130/117 130/160/123 -f 108/123/118 124/148/127 109/124/120 -f 102/117/121 116/131/126 117/133/128 -f 109/124/120 125/150/129 110/125/122 -f 103/118/109 117/133/128 118/135/130 -f 110/125/122 126/152/131 111/126/108 -f 104/119/110 118/135/130 119/137/132 -f 111/126/108 127/154/133 112/127/111 -f 105/120/112 119/137/132 120/139/134 -f 112/127/111 128/156/135 113/128/113 -f 106/121/114 120/139/134 121/141/136 -f 113/128/113 129/158/137 114/129/115 -f 107/122/116 121/141/136 122/143/124 -f 118/136/130 134/164/138 119/138/132 -f 127/153/133 141/171/139 142/172/140 -f 119/138/132 135/165/141 120/140/134 -f 128/155/135 142/172/140 143/173/142 -f 120/140/134 136/166/143 121/142/136 -f 129/157/137 143/173/142 144/174/144 -f 121/142/136 137/167/145 122/144/124 -f 130/159/123 144/174/144 145/175/146 -f 122/144/124 138/168/147 123/145/125 -f 116/132/126 251/289/12 131/161/148 -f 55/63/14 130/159/123 145/175/146 -f 124/147/127 138/168/147 139/169/149 -f 116/132/126 132/162/150 117/134/128 -f 125/149/129 139/169/149 140/170/151 -f 117/134/128 133/163/152 118/136/130 -f 126/151/131 140/170/151 141/171/139 -f 137/167/145 153/183/153 138/168/147 -f 131/161/148 251/290/12 146/176/154 -f 55/64/14 145/175/146 160/190/155 -f 139/169/149 153/183/153 154/184/156 -f 131/161/148 147/177/157 132/162/150 -f 140/170/151 154/184/156 155/185/158 -f 132/162/150 148/178/159 133/163/152 -f 141/171/139 155/185/158 156/186/160 -f 133/163/152 149/179/161 134/164/138 -f 142/172/140 156/186/160 157/187/162 -f 134/164/138 150/180/163 135/165/141 -f 143/173/142 157/187/162 158/188/164 -f 135/165/141 151/181/165 136/166/143 -f 144/174/144 158/188/164 159/189/166 -f 136/166/143 152/182/167 137/167/145 -f 145/175/146 159/189/166 160/190/155 -f 157/187/162 171/201/168 172/202/169 -f 149/179/161 165/195/170 150/180/163 -f 158/188/164 172/202/169 173/203/171 -f 150/180/163 166/196/172 151/181/165 -f 159/189/166 173/203/171 174/204/173 -f 151/181/165 167/197/174 152/182/167 -f 160/190/155 174/204/173 175/205/175 -f 152/182/167 168/198/176 153/183/153 -f 146/176/154 251/291/12 161/191/177 -f 55/65/14 160/190/155 175/205/175 -f 154/184/156 168/198/176 169/199/178 -f 146/176/154 162/192/179 147/177/157 -f 155/185/158 169/199/178 170/200/180 -f 147/177/157 163/193/181 148/178/159 -f 156/186/160 170/200/180 171/201/168 -f 148/178/159 164/194/182 149/179/161 -f 161/191/177 251/292/12 176/206/183 -f 55/66/14 175/205/175 190/220/184 -f 169/199/178 183/213/185 184/214/186 -f 161/191/177 177/207/187 162/192/179 -f 170/200/180 184/214/186 185/215/188 -f 162/192/179 178/208/189 163/193/181 -f 171/201/168 185/215/188 186/216/190 -f 163/193/181 179/209/191 164/194/182 -f 172/202/169 186/216/190 187/217/192 -f 164/194/182 180/210/193 165/195/170 -f 173/203/171 187/217/192 188/218/194 -f 165/195/170 181/211/195 166/196/172 -f 174/204/173 188/218/194 189/219/196 -f 166/196/172 182/212/197 167/197/174 -f 175/205/175 189/219/196 190/220/184 -f 167/197/174 183/213/185 168/198/176 -f 179/209/191 195/225/198 180/210/193 -f 188/218/194 202/232/199 203/233/200 -f 180/210/193 196/226/201 181/211/195 -f 189/219/196 203/233/200 204/234/202 -f 181/211/195 197/227/203 182/212/197 -f 190/220/184 204/234/202 205/235/204 -f 182/212/197 198/228/205 183/213/185 -f 176/206/183 251/293/12 191/221/206 -f 55/67/14 190/220/184 205/235/204 -f 184/214/186 198/228/205 199/229/207 -f 176/206/183 192/222/208 177/207/187 -f 185/215/188 199/229/207 200/230/209 -f 177/207/187 193/223/210 178/208/189 -f 186/216/190 200/230/209 201/231/211 -f 178/208/189 194/224/212 179/209/191 -f 187/217/192 201/231/211 202/232/199 -f 199/229/207 213/243/213 214/244/214 -f 191/221/206 207/237/215 192/222/208 -f 200/230/209 214/244/214 215/245/216 -f 192/222/208 208/238/217 193/223/210 -f 201/231/211 215/245/216 216/246/218 -f 193/223/210 209/239/219 194/224/212 -f 202/232/199 216/246/218 217/247/220 -f 194/224/212 210/240/221 195/225/198 -f 203/233/200 217/247/220 218/248/222 -f 195/225/198 211/241/223 196/226/201 -f 204/234/202 218/248/222 219/249/224 -f 196/226/201 212/242/225 197/227/203 -f 205/235/204 219/249/224 220/250/226 -f 197/227/203 213/243/213 198/228/205 -f 191/221/206 251/294/12 206/236/227 -f 55/68/14 205/235/204 220/250/226 -f 218/248/222 232/262/228 233/263/229 -f 210/240/221 226/256/230 211/241/223 -f 219/249/224 233/263/229 234/264/231 -f 211/241/223 227/257/232 212/242/225 -f 220/250/226 234/264/231 235/265/233 -f 212/242/225 228/258/234 213/243/213 -f 206/236/227 251/295/12 221/251/235 -f 55/69/14 220/250/226 235/265/233 -f 214/244/214 228/258/234 229/259/236 -f 206/236/227 222/252/237 207/237/215 -f 215/245/216 229/259/236 230/260/238 -f 207/237/215 223/253/239 208/238/217 -f 216/246/218 230/260/238 231/261/240 -f 208/238/217 224/254/241 209/239/219 -f 217/247/220 231/261/240 232/262/228 -f 209/239/219 225/255/242 210/240/221 -f 230/260/238 244/274/243 245/275/244 -f 222/252/237 238/268/245 223/253/239 -f 231/261/240 245/275/244 246/276/246 -f 223/253/239 239/269/247 224/254/241 -f 232/262/228 246/276/246 247/277/248 -f 224/254/241 240/270/249 225/255/242 -f 233/263/229 247/277/248 248/278/250 -f 225/255/242 241/271/251 226/256/230 -f 234/264/231 248/278/250 249/279/252 -f 226/256/230 242/272/253 227/257/232 -f 235/265/233 249/279/252 250/280/254 -f 227/257/232 243/273/255 228/258/234 -f 221/251/235 251/296/12 236/266/256 -f 55/70/14 235/265/233 250/280/254 -f 229/259/236 243/273/255 244/274/243 -f 221/251/235 237/267/257 222/252/237 -f 248/278/250 265/310/258 249/279/252 -f 242/272/253 257/302/259 258/303/260 -f 249/279/252 266/311/261 250/280/254 -f 243/273/255 258/303/260 259/304/262 -f 236/266/256 251/281/12 252/297/263 -f 55/55/14 250/280/254 266/311/261 -f 243/273/255 260/305/264 244/274/243 -f 237/267/257 252/297/263 253/298/265 -f 244/274/243 261/306/266 245/275/244 -f 238/268/245 253/298/265 254/299/267 -f 245/275/244 262/307/268 246/276/246 -f 239/269/247 254/299/267 255/300/269 -f 246/276/246 263/308/270 247/277/248 -f 240/270/249 255/300/269 256/301/271 -f 247/277/248 264/309/272 248/278/250 -f 241/271/251 256/301/271 257/302/259 -f 254/299/267 268/313/273 269/314/274 -f 261/306/266 277/322/275 262/307/268 -f 255/300/269 269/314/274 270/315/276 -f 262/307/268 278/323/277 263/308/270 -f 256/301/271 270/315/276 271/316/278 -f 263/308/270 279/324/279 264/309/272 -f 257/302/259 271/316/278 272/317/280 -f 264/309/272 280/325/281 265/310/258 -f 258/303/260 272/317/280 273/318/282 -f 265/310/258 281/326/283 266/311/261 -f 259/304/262 273/318/282 274/319/284 -f 252/297/263 251/282/12 267/312/285 -f 55/56/14 266/311/261 281/326/283 -f 259/304/262 275/320/286 260/305/264 -f 253/298/265 267/312/285 268/313/273 -f 260/305/264 276/321/287 261/306/266 -f 273/318/282 287/332/288 288/333/289 -f 280/325/281 296/341/290 281/326/283 -f 274/319/284 288/333/289 289/334/291 -f 267/312/285 251/283/12 282/327/292 -f 55/57/14 281/326/283 296/341/290 -f 274/319/284 290/335/293 275/320/286 -f 268/313/273 282/327/292 283/328/294 -f 275/320/286 291/336/295 276/321/287 -f 269/314/274 283/328/294 284/329/296 -f 276/321/287 292/337/297 277/322/275 -f 270/315/276 284/329/296 285/330/298 -f 277/322/275 293/338/299 278/323/277 -f 271/316/278 285/330/298 286/331/300 -f 278/323/277 294/339/301 279/324/279 -f 272/317/280 286/331/300 287/332/288 -f 279/324/279 295/340/302 280/325/281 -f 291/336/295 307/352/303 292/337/297 -f 285/330/298 299/344/304 300/345/305 -f 292/337/297 308/353/306 293/338/299 -f 286/331/300 300/345/305 301/346/307 -f 293/338/299 309/354/308 294/339/301 -f 287/332/288 301/346/307 302/347/309 -f 294/339/301 310/355/310 295/340/302 -f 288/333/289 302/347/309 303/348/311 -f 295/340/302 311/356/312 296/341/290 -f 289/334/291 303/348/311 304/349/313 -f 282/327/292 251/284/12 297/342/314 -f 55/58/14 296/341/290 311/356/312 -f 289/334/291 305/350/315 290/335/293 -f 283/328/294 297/342/314 298/343/316 -f 290/335/293 306/351/317 291/336/295 -f 284/329/296 298/343/316 299/344/304 -f 310/355/310 326/371/318 311/356/312 -f 304/349/313 318/363/319 319/364/320 -f 297/342/314 251/285/12 312/357/321 -f 55/59/14 311/356/312 326/371/318 -f 304/349/313 320/365/322 305/350/315 -f 298/343/316 312/357/321 313/358/323 -f 305/350/315 321/366/324 306/351/317 -f 299/344/304 313/358/323 314/359/325 -f 306/351/317 322/367/326 307/352/303 -f 300/345/305 314/359/325 315/360/327 -f 307/352/303 323/368/328 308/353/306 -f 301/346/307 315/360/327 316/361/329 -f 308/353/306 324/369/330 309/354/308 -f 302/347/309 316/361/329 317/362/331 -f 309/354/308 325/370/332 310/355/310 -f 303/348/311 317/362/331 318/363/319 -f 315/360/327 329/374/333 330/375/334 -f 322/367/326 338/383/335 323/368/328 -f 316/361/329 330/375/334 331/376/336 -f 323/368/328 339/384/337 324/369/330 -f 317/362/331 331/376/336 332/377/338 -f 324/369/330 340/385/339 325/370/332 -f 318/363/319 332/377/338 333/378/340 -f 325/370/332 341/386/341 326/371/318 -f 319/364/320 333/378/340 334/379/342 -f 312/357/321 251/286/12 327/372/343 -f 55/60/14 326/371/318 341/386/341 -f 319/364/320 335/380/344 320/365/322 -f 313/358/323 327/372/343 328/373/345 -f 320/365/322 336/381/346 321/366/324 -f 314/359/325 328/373/345 329/374/333 -f 321/366/324 337/382/347 322/367/326 -f 334/379/342 348/393/348 349/394/349 -f 327/372/343 251/287/12 342/387/350 -f 55/61/14 341/386/341 356/401/351 -f 334/379/342 350/395/352 335/380/344 -f 328/373/345 342/387/350 343/388/353 -f 335/380/344 351/396/354 336/381/346 -f 329/374/333 343/388/353 344/389/355 -f 336/381/346 352/397/356 337/382/347 -f 330/375/334 344/389/355 345/390/357 -f 337/382/347 353/398/358 338/383/335 -f 331/376/336 345/390/357 346/391/359 -f 338/383/335 354/399/360 339/384/337 -f 332/377/338 346/391/359 347/392/361 -f 339/384/337 355/400/362 340/385/339 -f 333/378/340 347/392/361 348/393/348 -f 340/385/339 356/401/351 341/386/341 -f 352/397/356 368/425/363 353/398/358 -f 346/391/359 360/408/364 361/410/365 -f 353/398/358 369/427/366 354/399/360 -f 347/392/361 361/410/365 362/412/367 -f 354/399/360 370/429/368 355/400/362 -f 348/393/348 362/412/367 363/414/369 -f 355/400/362 371/431/370 356/401/351 -f 349/394/349 363/414/369 364/417/371 -f 342/387/350 251/288/12 357/402/372 -f 55/62/14 356/401/351 371/431/370 -f 349/394/349 365/419/373 350/395/352 -f 343/388/353 357/402/372 358/404/374 -f 350/395/352 366/421/375 351/396/354 -f 344/389/355 358/404/374 359/406/376 -f 351/396/354 367/423/377 352/397/356 -f 345/390/357 359/406/376 360/408/364 -f 55/63/14 371/430/370 386/446/378 -f 365/418/373 379/439/379 380/440/380 -f 357/403/372 373/433/381 358/405/374 -f 366/420/375 380/440/380 381/441/382 -f 358/405/374 374/434/383 359/407/376 -f 367/422/377 381/441/382 382/442/384 -f 359/407/376 375/435/385 360/409/364 -f 368/424/363 382/442/384 383/443/386 -f 360/409/364 376/436/387 361/411/365 -f 369/426/366 383/443/386 384/444/388 -f 361/411/365 377/437/389 362/413/367 -f 370/428/368 384/444/388 385/445/390 -f 362/413/367 378/438/391 363/415/369 -f 371/430/370 385/445/390 386/446/378 -f 363/415/369 379/439/379 364/416/371 -f 357/403/372 251/289/12 372/432/392 -f 384/444/388 398/458/393 399/459/394 -f 376/436/387 392/452/395 377/437/389 -f 385/445/390 399/459/394 400/460/396 -f 377/437/389 393/453/397 378/438/391 -f 386/446/378 400/460/396 401/461/398 -f 378/438/391 394/454/399 379/439/379 -f 372/432/392 251/290/12 387/447/400 -f 55/64/14 386/446/378 401/461/398 -f 380/440/380 394/454/399 395/455/401 -f 372/432/392 388/448/402 373/433/381 -f 381/441/382 395/455/401 396/456/403 -f 373/433/381 389/449/404 374/434/383 -f 382/442/384 396/456/403 397/457/405 -f 374/434/383 390/450/406 375/435/385 -f 383/443/386 397/457/405 398/458/393 -f 375/435/385 391/451/407 376/436/387 -f 387/447/400 403/463/408 388/448/402 -f 396/456/403 410/470/409 411/471/410 -f 388/448/402 404/464/411 389/449/404 -f 397/457/405 411/471/410 412/472/412 -f 389/449/404 405/465/413 390/450/406 -f 398/458/393 412/472/412 413/473/414 -f 390/450/406 406/466/415 391/451/407 -f 399/459/394 413/473/414 414/474/416 -f 391/451/407 407/467/417 392/452/395 -f 400/460/396 414/474/416 415/475/418 -f 392/452/395 408/468/419 393/453/397 -f 401/461/398 415/475/418 416/476/420 -f 393/453/397 409/469/421 394/454/399 -f 387/447/400 251/291/12 402/462/422 -f 55/65/14 401/461/398 416/476/420 -f 395/455/401 409/469/421 410/470/409 -f 406/466/415 422/482/423 407/467/417 -f 415/475/418 429/489/424 430/490/425 -f 407/467/417 423/483/426 408/468/419 -f 416/476/420 430/490/425 431/491/427 -f 408/468/419 424/484/428 409/469/421 -f 402/462/422 251/292/12 417/477/429 -f 55/66/14 416/476/420 431/491/427 -f 410/470/409 424/484/428 425/485/430 -f 402/462/422 418/478/431 403/463/408 -f 411/471/410 425/485/430 426/486/432 -f 403/463/408 419/479/433 404/464/411 -f 412/472/412 426/486/432 427/487/434 -f 404/464/411 420/480/435 405/465/413 -f 413/473/414 427/487/434 428/488/436 -f 405/465/413 421/481/437 406/466/415 -f 414/474/416 428/488/436 429/489/424 -f 426/486/432 440/500/438 441/501/439 -f 418/478/431 434/494/440 419/479/433 -f 427/487/434 441/501/439 442/502/441 -f 419/479/433 435/495/442 420/480/435 -f 428/488/436 442/502/441 443/503/443 -f 420/480/435 436/496/444 421/481/437 -f 429/489/424 443/503/443 444/504/445 -f 421/481/437 437/497/446 422/482/423 -f 430/490/425 444/504/445 445/505/447 -f 422/482/423 438/498/448 423/483/426 -f 431/491/427 445/505/447 446/506/449 -f 423/483/426 439/499/450 424/484/428 -f 417/477/429 251/293/12 432/492/451 -f 55/67/14 431/491/427 446/506/449 -f 425/485/430 439/499/450 440/500/438 -f 417/477/429 433/493/452 418/478/431 -f 445/505/447 459/519/453 460/520/454 -f 437/497/446 453/513/455 438/498/448 -f 446/506/449 460/520/454 461/521/456 -f 438/498/448 454/514/457 439/499/450 -f 432/492/451 251/294/12 447/507/458 -f 55/68/14 446/506/449 461/521/456 -f 440/500/438 454/514/457 455/515/459 -f 432/492/451 448/508/460 433/493/452 -f 441/501/439 455/515/459 456/516/461 -f 433/493/452 449/509/462 434/494/440 -f 442/502/441 456/516/461 457/517/463 -f 434/494/440 450/510/464 435/495/442 -f 443/503/443 457/517/463 458/518/465 -f 435/495/442 451/511/466 436/496/444 -f 444/504/445 458/518/465 459/519/453 -f 436/496/444 452/512/467 437/497/446 -f 448/508/460 464/524/468 449/509/462 -f 457/517/463 471/531/469 472/532/470 -f 449/509/462 465/525/471 450/510/464 -f 458/518/465 472/532/470 473/533/472 -f 450/510/464 466/526/473 451/511/466 -f 459/519/453 473/533/472 474/534/474 -f 451/511/466 467/527/475 452/512/467 -f 460/520/454 474/534/474 475/535/476 -f 452/512/467 468/528/477 453/513/455 -f 461/521/456 475/535/476 476/536/478 -f 453/513/455 469/529/479 454/514/457 -f 447/507/458 251/295/12 462/522/480 -f 55/69/14 461/521/456 476/536/478 -f 455/515/459 469/529/479 470/530/481 -f 447/507/458 463/523/482 448/508/460 -f 456/516/461 470/530/481 471/531/469 -f 467/527/475 4/4/4 468/528/477 -f 476/536/478 481/541/3 482/542/8 -f 468/528/477 5/5/9 469/529/479 -f 462/522/480 251/296/12 477/537/11 -f 55/70/14 476/536/478 482/542/8 -f 470/530/481 5/5/9 6/6/16 -f 462/522/480 478/538/17 463/523/482 -f 471/531/469 6/6/16 7/7/20 -f 463/523/482 1/1/21 464/524/468 -f 472/532/470 7/7/20 8/8/24 -f 464/524/468 2/2/25 465/525/471 -f 473/533/472 8/8/24 480/540/28 -f 465/525/471 479/539/29 466/526/473 -f 474/534/474 480/540/28 9/9/1 -f 466/526/473 3/3/32 467/527/475 -f 475/535/476 9/9/1 481/541/3 -f 4/4/4 3/3/32 15/15/5 -f 5/5/9 4/4/4 16/16/6 -f 478/538/17 477/537/11 10/10/13 -f 1/1/21 478/538/17 11/11/18 -f 2/2/25 1/1/21 12/12/22 -f 479/539/29 2/2/25 13/13/26 -f 3/3/32 479/539/29 14/14/30 -f 15/15/5 14/14/30 29/29/34 -f 16/16/6 15/15/5 30/30/35 -f 17/17/10 16/16/6 31/31/37 -f 11/11/18 10/10/13 25/25/40 -f 12/12/22 11/11/18 26/26/42 -f 13/13/26 12/12/22 27/27/44 -f 14/14/30 13/13/26 28/28/46 -f 26/26/42 25/25/40 40/40/48 -f 27/27/44 26/26/42 41/41/49 -f 28/28/46 27/27/44 42/42/51 -f 29/29/34 28/28/46 43/43/53 -f 30/30/35 29/29/34 44/44/55 -f 31/31/37 30/30/35 45/45/57 -f 32/32/39 31/31/37 46/46/59 -f 45/45/57 44/44/55 60/75/63 -f 46/46/59 45/45/57 61/76/64 -f 47/47/61 46/46/59 62/77/66 -f 41/41/49 40/40/48 56/71/69 -f 42/42/51 41/41/49 57/72/71 -f 43/43/53 42/42/51 58/73/73 -f 44/44/55 43/43/53 59/74/75 -f 58/73/73 57/72/71 72/87/79 -f 59/74/75 58/73/73 73/88/80 -f 60/75/63 59/74/75 74/89/82 -f 61/76/64 60/75/63 75/90/84 -f 62/77/66 61/76/64 76/91/86 -f 63/78/68 62/77/66 77/92/88 -f 57/72/71 56/71/69 71/86/91 -f 77/92/88 76/91/86 91/106/94 -f 78/93/90 77/92/88 92/107/95 -f 72/87/79 71/86/91 86/101/98 -f 73/88/80 72/87/79 87/102/100 -f 74/89/82 73/88/80 88/103/102 -f 75/90/84 74/89/82 89/104/104 -f 76/91/86 75/90/84 90/105/106 -f 89/104/104 88/103/102 103/118/109 -f 90/105/106 89/104/104 104/119/110 -f 91/106/94 90/105/106 105/120/112 -f 92/107/95 91/106/94 106/121/114 -f 93/108/97 92/107/95 107/122/116 -f 87/102/100 86/101/98 101/116/119 -f 88/103/102 87/102/100 102/117/121 -f 108/123/118 107/122/116 122/143/124 -f 102/117/121 101/116/119 116/131/126 -f 103/118/109 102/117/121 117/133/128 -f 104/119/110 103/118/109 118/135/130 -f 105/120/112 104/119/110 119/137/132 -f 106/121/114 105/120/112 120/139/134 -f 107/122/116 106/121/114 121/141/136 -f 127/153/133 126/151/131 141/171/139 -f 128/155/135 127/153/133 142/172/140 -f 129/157/137 128/155/135 143/173/142 -f 130/159/123 129/157/137 144/174/144 -f 124/147/127 123/145/125 138/168/147 -f 125/149/129 124/147/127 139/169/149 -f 126/151/131 125/149/129 140/170/151 -f 139/169/149 138/168/147 153/183/153 -f 140/170/151 139/169/149 154/184/156 -f 141/171/139 140/170/151 155/185/158 -f 142/172/140 141/171/139 156/186/160 -f 143/173/142 142/172/140 157/187/162 -f 144/174/144 143/173/142 158/188/164 -f 145/175/146 144/174/144 159/189/166 -f 157/187/162 156/186/160 171/201/168 -f 158/188/164 157/187/162 172/202/169 -f 159/189/166 158/188/164 173/203/171 -f 160/190/155 159/189/166 174/204/173 -f 154/184/156 153/183/153 168/198/176 -f 155/185/158 154/184/156 169/199/178 -f 156/186/160 155/185/158 170/200/180 -f 169/199/178 168/198/176 183/213/185 -f 170/200/180 169/199/178 184/214/186 -f 171/201/168 170/200/180 185/215/188 -f 172/202/169 171/201/168 186/216/190 -f 173/203/171 172/202/169 187/217/192 -f 174/204/173 173/203/171 188/218/194 -f 175/205/175 174/204/173 189/219/196 -f 188/218/194 187/217/192 202/232/199 -f 189/219/196 188/218/194 203/233/200 -f 190/220/184 189/219/196 204/234/202 -f 184/214/186 183/213/185 198/228/205 -f 185/215/188 184/214/186 199/229/207 -f 186/216/190 185/215/188 200/230/209 -f 187/217/192 186/216/190 201/231/211 -f 199/229/207 198/228/205 213/243/213 -f 200/230/209 199/229/207 214/244/214 -f 201/231/211 200/230/209 215/245/216 -f 202/232/199 201/231/211 216/246/218 -f 203/233/200 202/232/199 217/247/220 -f 204/234/202 203/233/200 218/248/222 -f 205/235/204 204/234/202 219/249/224 -f 218/248/222 217/247/220 232/262/228 -f 219/249/224 218/248/222 233/263/229 -f 220/250/226 219/249/224 234/264/231 -f 214/244/214 213/243/213 228/258/234 -f 215/245/216 214/244/214 229/259/236 -f 216/246/218 215/245/216 230/260/238 -f 217/247/220 216/246/218 231/261/240 -f 230/260/238 229/259/236 244/274/243 -f 231/261/240 230/260/238 245/275/244 -f 232/262/228 231/261/240 246/276/246 -f 233/263/229 232/262/228 247/277/248 -f 234/264/231 233/263/229 248/278/250 -f 235/265/233 234/264/231 249/279/252 -f 229/259/236 228/258/234 243/273/255 -f 242/272/253 241/271/251 257/302/259 -f 243/273/255 242/272/253 258/303/260 -f 237/267/257 236/266/256 252/297/263 -f 238/268/245 237/267/257 253/298/265 -f 239/269/247 238/268/245 254/299/267 -f 240/270/249 239/269/247 255/300/269 -f 241/271/251 240/270/249 256/301/271 -f 254/299/267 253/298/265 268/313/273 -f 255/300/269 254/299/267 269/314/274 -f 256/301/271 255/300/269 270/315/276 -f 257/302/259 256/301/271 271/316/278 -f 258/303/260 257/302/259 272/317/280 -f 259/304/262 258/303/260 273/318/282 -f 253/298/265 252/297/263 267/312/285 -f 273/318/282 272/317/280 287/332/288 -f 274/319/284 273/318/282 288/333/289 -f 268/313/273 267/312/285 282/327/292 -f 269/314/274 268/313/273 283/328/294 -f 270/315/276 269/314/274 284/329/296 -f 271/316/278 270/315/276 285/330/298 -f 272/317/280 271/316/278 286/331/300 -f 285/330/298 284/329/296 299/344/304 -f 286/331/300 285/330/298 300/345/305 -f 287/332/288 286/331/300 301/346/307 -f 288/333/289 287/332/288 302/347/309 -f 289/334/291 288/333/289 303/348/311 -f 283/328/294 282/327/292 297/342/314 -f 284/329/296 283/328/294 298/343/316 -f 304/349/313 303/348/311 318/363/319 -f 298/343/316 297/342/314 312/357/321 -f 299/344/304 298/343/316 313/358/323 -f 300/345/305 299/344/304 314/359/325 -f 301/346/307 300/345/305 315/360/327 -f 302/347/309 301/346/307 316/361/329 -f 303/348/311 302/347/309 317/362/331 -f 315/360/327 314/359/325 329/374/333 -f 316/361/329 315/360/327 330/375/334 -f 317/362/331 316/361/329 331/376/336 -f 318/363/319 317/362/331 332/377/338 -f 319/364/320 318/363/319 333/378/340 -f 313/358/323 312/357/321 327/372/343 -f 314/359/325 313/358/323 328/373/345 -f 334/379/342 333/378/340 348/393/348 -f 328/373/345 327/372/343 342/387/350 -f 329/374/333 328/373/345 343/388/353 -f 330/375/334 329/374/333 344/389/355 -f 331/376/336 330/375/334 345/390/357 -f 332/377/338 331/376/336 346/391/359 -f 333/378/340 332/377/338 347/392/361 -f 346/391/359 345/390/357 360/408/364 -f 347/392/361 346/391/359 361/410/365 -f 348/393/348 347/392/361 362/412/367 -f 349/394/349 348/393/348 363/414/369 -f 343/388/353 342/387/350 357/402/372 -f 344/389/355 343/388/353 358/404/374 -f 345/390/357 344/389/355 359/406/376 -f 365/418/373 364/416/371 379/439/379 -f 366/420/375 365/418/373 380/440/380 -f 367/422/377 366/420/375 381/441/382 -f 368/424/363 367/422/377 382/442/384 -f 369/426/366 368/424/363 383/443/386 -f 370/428/368 369/426/366 384/444/388 -f 371/430/370 370/428/368 385/445/390 -f 384/444/388 383/443/386 398/458/393 -f 385/445/390 384/444/388 399/459/394 -f 386/446/378 385/445/390 400/460/396 -f 380/440/380 379/439/379 394/454/399 -f 381/441/382 380/440/380 395/455/401 -f 382/442/384 381/441/382 396/456/403 -f 383/443/386 382/442/384 397/457/405 -f 396/456/403 395/455/401 410/470/409 -f 397/457/405 396/456/403 411/471/410 -f 398/458/393 397/457/405 412/472/412 -f 399/459/394 398/458/393 413/473/414 -f 400/460/396 399/459/394 414/474/416 -f 401/461/398 400/460/396 415/475/418 -f 395/455/401 394/454/399 409/469/421 -f 415/475/418 414/474/416 429/489/424 -f 416/476/420 415/475/418 430/490/425 -f 410/470/409 409/469/421 424/484/428 -f 411/471/410 410/470/409 425/485/430 -f 412/472/412 411/471/410 426/486/432 -f 413/473/414 412/472/412 427/487/434 -f 414/474/416 413/473/414 428/488/436 -f 426/486/432 425/485/430 440/500/438 -f 427/487/434 426/486/432 441/501/439 -f 428/488/436 427/487/434 442/502/441 -f 429/489/424 428/488/436 443/503/443 -f 430/490/425 429/489/424 444/504/445 -f 431/491/427 430/490/425 445/505/447 -f 425/485/430 424/484/428 439/499/450 -f 445/505/447 444/504/445 459/519/453 -f 446/506/449 445/505/447 460/520/454 -f 440/500/438 439/499/450 454/514/457 -f 441/501/439 440/500/438 455/515/459 -f 442/502/441 441/501/439 456/516/461 -f 443/503/443 442/502/441 457/517/463 -f 444/504/445 443/503/443 458/518/465 -f 457/517/463 456/516/461 471/531/469 -f 458/518/465 457/517/463 472/532/470 -f 459/519/453 458/518/465 473/533/472 -f 460/520/454 459/519/453 474/534/474 -f 461/521/456 460/520/454 475/535/476 -f 455/515/459 454/514/457 469/529/479 -f 456/516/461 455/515/459 470/530/481 -f 476/536/478 475/535/476 481/541/3 -f 470/530/481 469/529/479 5/5/9 -f 471/531/469 470/530/481 6/6/16 -f 472/532/470 471/531/469 7/7/20 -f 473/533/472 472/532/470 8/8/24 -f 474/534/474 473/533/472 480/540/28 -f 475/535/476 474/534/474 9/9/1 -f 9/9/1 22/22/31 23/23/2 -f 481/541/3 23/23/2 24/24/7 -f 5/5/9 17/17/10 18/18/15 -f 6/6/16 18/18/15 19/19/19 -f 7/7/20 19/19/19 20/20/23 -f 8/8/24 20/20/23 21/21/27 -f 480/540/28 21/21/27 22/22/31 -f 21/21/27 36/36/47 37/37/33 -f 22/22/31 37/37/33 38/38/36 -f 23/23/2 38/38/36 39/39/38 -f 17/17/10 32/32/39 33/33/41 -f 18/18/15 33/33/41 34/34/43 -f 19/19/19 34/34/43 35/35/45 -f 20/20/23 35/35/45 36/36/47 -f 33/33/41 48/48/62 49/49/50 -f 34/34/43 49/49/50 50/50/52 -f 35/35/45 50/50/52 51/51/54 -f 36/36/47 51/51/54 52/52/56 -f 37/37/33 52/52/56 53/53/58 -f 38/38/36 53/53/58 54/54/60 -f 32/32/39 47/47/61 48/48/62 -f 52/52/56 68/83/77 69/84/65 -f 53/53/58 69/84/65 70/85/67 -f 47/47/61 63/78/68 64/79/70 -f 48/48/62 64/79/70 65/80/72 -f 49/49/50 65/80/72 66/81/74 -f 50/50/52 66/81/74 67/82/76 -f 51/51/54 67/82/76 68/83/77 -f 64/79/70 79/94/92 80/95/78 -f 65/80/72 80/95/78 81/96/81 -f 66/81/74 81/96/81 82/97/83 -f 67/82/76 82/97/83 83/98/85 -f 68/83/77 83/98/85 84/99/87 -f 69/84/65 84/99/87 85/100/89 -f 63/78/68 78/93/90 79/94/92 -f 83/98/85 98/113/107 99/114/93 -f 84/99/87 99/114/93 100/115/96 -f 78/93/90 93/108/97 94/109/99 -f 79/94/92 94/109/99 95/110/101 -f 80/95/78 95/110/101 96/111/103 -f 81/96/81 96/111/103 97/112/105 -f 82/97/83 97/112/105 98/113/107 -f 95/110/101 110/125/122 111/126/108 -f 96/111/103 111/126/108 112/127/111 -f 97/112/105 112/127/111 113/128/113 -f 98/113/107 113/128/113 114/129/115 -f 99/114/93 114/129/115 115/130/117 -f 93/108/97 108/123/118 109/124/120 -f 94/109/99 109/124/120 110/125/122 -f 114/129/115 129/158/137 130/160/123 -f 108/123/118 123/146/125 124/148/127 -f 109/124/120 124/148/127 125/150/129 -f 110/125/122 125/150/129 126/152/131 -f 111/126/108 126/152/131 127/154/133 -f 112/127/111 127/154/133 128/156/135 -f 113/128/113 128/156/135 129/158/137 -f 118/136/130 133/163/152 134/164/138 -f 119/138/132 134/164/138 135/165/141 -f 120/140/134 135/165/141 136/166/143 -f 121/142/136 136/166/143 137/167/145 -f 122/144/124 137/167/145 138/168/147 -f 116/132/126 131/161/148 132/162/150 -f 117/134/128 132/162/150 133/163/152 -f 137/167/145 152/182/167 153/183/153 -f 131/161/148 146/176/154 147/177/157 -f 132/162/150 147/177/157 148/178/159 -f 133/163/152 148/178/159 149/179/161 -f 134/164/138 149/179/161 150/180/163 -f 135/165/141 150/180/163 151/181/165 -f 136/166/143 151/181/165 152/182/167 -f 149/179/161 164/194/182 165/195/170 -f 150/180/163 165/195/170 166/196/172 -f 151/181/165 166/196/172 167/197/174 -f 152/182/167 167/197/174 168/198/176 -f 146/176/154 161/191/177 162/192/179 -f 147/177/157 162/192/179 163/193/181 -f 148/178/159 163/193/181 164/194/182 -f 161/191/177 176/206/183 177/207/187 -f 162/192/179 177/207/187 178/208/189 -f 163/193/181 178/208/189 179/209/191 -f 164/194/182 179/209/191 180/210/193 -f 165/195/170 180/210/193 181/211/195 -f 166/196/172 181/211/195 182/212/197 -f 167/197/174 182/212/197 183/213/185 -f 179/209/191 194/224/212 195/225/198 -f 180/210/193 195/225/198 196/226/201 -f 181/211/195 196/226/201 197/227/203 -f 182/212/197 197/227/203 198/228/205 -f 176/206/183 191/221/206 192/222/208 -f 177/207/187 192/222/208 193/223/210 -f 178/208/189 193/223/210 194/224/212 -f 191/221/206 206/236/227 207/237/215 -f 192/222/208 207/237/215 208/238/217 -f 193/223/210 208/238/217 209/239/219 -f 194/224/212 209/239/219 210/240/221 -f 195/225/198 210/240/221 211/241/223 -f 196/226/201 211/241/223 212/242/225 -f 197/227/203 212/242/225 213/243/213 -f 210/240/221 225/255/242 226/256/230 -f 211/241/223 226/256/230 227/257/232 -f 212/242/225 227/257/232 228/258/234 -f 206/236/227 221/251/235 222/252/237 -f 207/237/215 222/252/237 223/253/239 -f 208/238/217 223/253/239 224/254/241 -f 209/239/219 224/254/241 225/255/242 -f 222/252/237 237/267/257 238/268/245 -f 223/253/239 238/268/245 239/269/247 -f 224/254/241 239/269/247 240/270/249 -f 225/255/242 240/270/249 241/271/251 -f 226/256/230 241/271/251 242/272/253 -f 227/257/232 242/272/253 243/273/255 -f 221/251/235 236/266/256 237/267/257 -f 248/278/250 264/309/272 265/310/258 -f 249/279/252 265/310/258 266/311/261 -f 243/273/255 259/304/262 260/305/264 -f 244/274/243 260/305/264 261/306/266 -f 245/275/244 261/306/266 262/307/268 -f 246/276/246 262/307/268 263/308/270 -f 247/277/248 263/308/270 264/309/272 -f 261/306/266 276/321/287 277/322/275 -f 262/307/268 277/322/275 278/323/277 -f 263/308/270 278/323/277 279/324/279 -f 264/309/272 279/324/279 280/325/281 -f 265/310/258 280/325/281 281/326/283 -f 259/304/262 274/319/284 275/320/286 -f 260/305/264 275/320/286 276/321/287 -f 280/325/281 295/340/302 296/341/290 -f 274/319/284 289/334/291 290/335/293 -f 275/320/286 290/335/293 291/336/295 -f 276/321/287 291/336/295 292/337/297 -f 277/322/275 292/337/297 293/338/299 -f 278/323/277 293/338/299 294/339/301 -f 279/324/279 294/339/301 295/340/302 -f 291/336/295 306/351/317 307/352/303 -f 292/337/297 307/352/303 308/353/306 -f 293/338/299 308/353/306 309/354/308 -f 294/339/301 309/354/308 310/355/310 -f 295/340/302 310/355/310 311/356/312 -f 289/334/291 304/349/313 305/350/315 -f 290/335/293 305/350/315 306/351/317 -f 310/355/310 325/370/332 326/371/318 -f 304/349/313 319/364/320 320/365/322 -f 305/350/315 320/365/322 321/366/324 -f 306/351/317 321/366/324 322/367/326 -f 307/352/303 322/367/326 323/368/328 -f 308/353/306 323/368/328 324/369/330 -f 309/354/308 324/369/330 325/370/332 -f 322/367/326 337/382/347 338/383/335 -f 323/368/328 338/383/335 339/384/337 -f 324/369/330 339/384/337 340/385/339 -f 325/370/332 340/385/339 341/386/341 -f 319/364/320 334/379/342 335/380/344 -f 320/365/322 335/380/344 336/381/346 -f 321/366/324 336/381/346 337/382/347 -f 334/379/342 349/394/349 350/395/352 -f 335/380/344 350/395/352 351/396/354 -f 336/381/346 351/396/354 352/397/356 -f 337/382/347 352/397/356 353/398/358 -f 338/383/335 353/398/358 354/399/360 -f 339/384/337 354/399/360 355/400/362 -f 340/385/339 355/400/362 356/401/351 -f 352/397/356 367/423/377 368/425/363 -f 353/398/358 368/425/363 369/427/366 -f 354/399/360 369/427/366 370/429/368 -f 355/400/362 370/429/368 371/431/370 -f 349/394/349 364/417/371 365/419/373 -f 350/395/352 365/419/373 366/421/375 -f 351/396/354 366/421/375 367/423/377 -f 357/403/372 372/432/392 373/433/381 -f 358/405/374 373/433/381 374/434/383 -f 359/407/376 374/434/383 375/435/385 -f 360/409/364 375/435/385 376/436/387 -f 361/411/365 376/436/387 377/437/389 -f 362/413/367 377/437/389 378/438/391 -f 363/415/369 378/438/391 379/439/379 -f 376/436/387 391/451/407 392/452/395 -f 377/437/389 392/452/395 393/453/397 -f 378/438/391 393/453/397 394/454/399 -f 372/432/392 387/447/400 388/448/402 -f 373/433/381 388/448/402 389/449/404 -f 374/434/383 389/449/404 390/450/406 -f 375/435/385 390/450/406 391/451/407 -f 387/447/400 402/462/422 403/463/408 -f 388/448/402 403/463/408 404/464/411 -f 389/449/404 404/464/411 405/465/413 -f 390/450/406 405/465/413 406/466/415 -f 391/451/407 406/466/415 407/467/417 -f 392/452/395 407/467/417 408/468/419 -f 393/453/397 408/468/419 409/469/421 -f 406/466/415 421/481/437 422/482/423 -f 407/467/417 422/482/423 423/483/426 -f 408/468/419 423/483/426 424/484/428 -f 402/462/422 417/477/429 418/478/431 -f 403/463/408 418/478/431 419/479/433 -f 404/464/411 419/479/433 420/480/435 -f 405/465/413 420/480/435 421/481/437 -f 418/478/431 433/493/452 434/494/440 -f 419/479/433 434/494/440 435/495/442 -f 420/480/435 435/495/442 436/496/444 -f 421/481/437 436/496/444 437/497/446 -f 422/482/423 437/497/446 438/498/448 -f 423/483/426 438/498/448 439/499/450 -f 417/477/429 432/492/451 433/493/452 -f 437/497/446 452/512/467 453/513/455 -f 438/498/448 453/513/455 454/514/457 -f 432/492/451 447/507/458 448/508/460 -f 433/493/452 448/508/460 449/509/462 -f 434/494/440 449/509/462 450/510/464 -f 435/495/442 450/510/464 451/511/466 -f 436/496/444 451/511/466 452/512/467 -f 448/508/460 463/523/482 464/524/468 -f 449/509/462 464/524/468 465/525/471 -f 450/510/464 465/525/471 466/526/473 -f 451/511/466 466/526/473 467/527/475 -f 452/512/467 467/527/475 468/528/477 -f 453/513/455 468/528/477 469/529/479 -f 447/507/458 462/522/480 463/523/482 -f 467/527/475 3/3/32 4/4/4 -f 468/528/477 4/4/4 5/5/9 -f 462/522/480 477/537/11 478/538/17 -f 463/523/482 478/538/17 1/1/21 -f 464/524/468 1/1/21 2/2/25 -f 465/525/471 2/2/25 479/539/29 -f 466/526/473 479/539/29 3/3/32 diff --git a/data/games/garage/mods/testnodes/models/testnodes_ocorner.obj b/data/games/garage/mods/testnodes/models/testnodes_ocorner.obj deleted file mode 100644 index 231d705..0000000 --- a/data/games/garage/mods/testnodes/models/testnodes_ocorner.obj +++ /dev/null @@ -1,23 +0,0 @@ -# Blender v2.73 (sub 0) OBJ File: 'slope_test_ocorner_onetexture.blend' -# www.blender.org -o Cube_Cube.002 -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 -v 0.500000 -0.500000 -0.500000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vn 0.000000 -1.000000 -0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn -0.707100 0.707100 0.000000 -vn 0.000000 0.707100 -0.707100 -s off -f 3/1/1 2/2/1 4/3/1 5/4/1 -f 1/2/2 3/3/2 5/4/2 -f 1/1/3 2/3/3 3/4/3 -f 1/1/4 4/3/4 2/4/4 -f 1/2/5 5/3/5 4/4/5 diff --git a/data/games/garage/mods/testnodes/models/testnodes_pyramid.obj b/data/games/garage/mods/testnodes/models/testnodes_pyramid.obj deleted file mode 100644 index b305af2..0000000 --- a/data/games/garage/mods/testnodes/models/testnodes_pyramid.obj +++ /dev/null @@ -1,24 +0,0 @@ -# Blender v2.73 (sub 0) OBJ File: 'slope_test_pyramid_onetexture.blend' -# www.blender.org -o Cube -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 -v -0.000000 0.500000 -0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 0.500000 1.000000 -vn 0.000000 -1.000000 0.000000 -vn -0.894400 0.447200 -0.000000 -vn 0.000000 0.447200 -0.894400 -vn 0.894400 0.447200 0.000000 -vn -0.000000 0.447200 0.894400 -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 3/4/2 5/5/2 4/3/2 -f 5/5/3 1/3/3 4/4/3 -f 1/4/4 5/5/4 2/3/4 -f 2/4/5 5/5/5 3/3/5 diff --git a/data/games/garage/mods/testnodes/nodeboxes.lua b/data/games/garage/mods/testnodes/nodeboxes.lua deleted file mode 100644 index 0025ee0..0000000 --- a/data/games/garage/mods/testnodes/nodeboxes.lua +++ /dev/null @@ -1,242 +0,0 @@ -local S = core.get_translator("testnodes") - --- Nodebox examples and tests. - --- An simple example nodebox with one centered box -core.register_node("testnodes:nodebox_fixed", { - description = S("Fixed Nodebox Test Node").."\n".. - S("Nodebox is always the same"), - tiles = {"testnodes_nodebox.png"}, - drawtype = "nodebox", - paramtype = "light", - node_box = { - type = "fixed", - fixed = {-0.25, -0.25, -0.25, 0.25, 0.25, 0.25}, - }, - - groups = {dig_immediate=3}, -}) - --- 50% higher than a regular node -core.register_node("testnodes:nodebox_overhigh", { - description = S("+50% high Nodebox Test Node"), - tiles = {"testnodes_nodebox.png"}, - drawtype = "nodebox", - paramtype = "light", - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 1, 0.5}, - }, - - groups = {dig_immediate=3}, -}) - --- 95% higher than a regular node -core.register_node("testnodes:nodebox_overhigh2", { - description = S("+95% high Nodebox Test Node"), - tiles = {"testnodes_nodebox.png"}, - drawtype = "nodebox", - paramtype = "light", - node_box = { - type = "fixed", - -- Y max: more is possible, but glitchy - fixed = {-0.5, -0.5, -0.5, 0.5, 1.45, 0.5}, - }, - - groups = {dig_immediate=3}, -}) - --- Height of nodebox changes with its param2 value -core.register_node("testnodes:nodebox_leveled", { - description = S("Leveled Nodebox Test Node").."\n".. - S("param2 = height (0..127)"), - tiles = {"testnodes_nodebox.png^[colorize:#0F0:32"}, - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "leveled", - node_box = { - type = "leveled", - fixed = {-0.5, 0.0, -0.5, 0.5, -0.499, 0.5}, - }, - - groups = {dig_immediate=3}, -}) - - -local nodebox_wall = { - type = "connected", - fixed = {-0.125, -0.500, -0.125, 0.125, 0.500, 0.125}, - connect_front = {-0.125, -0.500, -0.500, 0.125, 0.400, -0.125}, - connect_back = {-0.125, -0.500, 0.125, 0.125, 0.400, 0.500}, - connect_left = {-0.500, -0.500, -0.125, -0.125, 0.400, 0.125}, - connect_right = {0.125, -0.500, -0.125, 0.500, 0.400, 0.125}, -} - -local nodebox_cable = { - type = "connected", - fixed = {-2/16, -2/16, -2/16, 2/16, 2/16, 2/16}, - connect_front = {-1/16, -1/16, -8/16, 1/16, 1/16, -2/16}, - connect_back = {-1/16, -1/16, 2/16, 1/16, 1/16, 8/16}, - connect_left = {-8/16, -1/16, -1/16, -2/16, 1/16, 1/16}, - connect_right = { 2/16, -1/16, -1/16, 8/16, 1/16, 1/16}, - connect_bottom = {-1/16, -8/16, -1/16, 1/16, -2/16, 1/16}, - connect_top = {-1/16, 2/16, -1/16, 1/16, 8/16, 1/16}, -} - -local nodebox_wall_thick = { - type = "connected", - fixed = {-0.25, -0.500, -0.25, 0.25, 0.500, 0.25}, - connect_front = {-0.25, -0.500, -0.500, 0.25, 0.400, -0.25}, - connect_back = {-0.25, -0.500, 0.25, 0.25, 0.400, 0.500}, - connect_left = {-0.500, -0.500, -0.25, -0.25, 0.400, 0.25}, - connect_right = {0.25, -0.500, -0.25, 0.500, 0.400, 0.25}, -} - --- Wall-like nodebox that connects to 4 neighbors -core.register_node("testnodes:nodebox_connected", { - description = S("Connected Nodebox Test Node (4 Side Wall)").."\n".. - S("Connects to 4 neighbors sideways"), - tiles = {"testnodes_nodebox.png^[colorize:#F00:32"}, - groups = {connected_nodebox=1, dig_immediate=3}, - drawtype = "nodebox", - paramtype = "light", - connects_to = {"group:connected_nodebox"}, - connect_sides = {"front", "back", "left", "right"}, - node_box = nodebox_wall, -}) - --- Cable-like nodebox that connects to 6 neighbors -core.register_node("testnodes:nodebox_connected_6side", { - description = S("Connected Nodebox Test Node (6 Side Cable)").."\n".. - S("Connects to 6 neighbors"), - tiles = {"testnodes_nodebox.png^[colorize:#F00:32"}, - groups = {connected_nodebox=1, dig_immediate=3}, - drawtype = "nodebox", - paramtype = "light", - connects_to = {"group:connected_nodebox"}, - connect_sides = {"front", "back", "left", "right", "top", "bottom"}, - node_box = nodebox_cable, -}) - --- More walls -core.register_node("testnodes:nodebox_connected_facedir", { - description = S("Facedir Connected Nodebox Test Node (4 Side Wall)").."\n".. - S("Connects to neighbors").."\n".. - S("param2 = facedir rotation of textures (not of the nodebox!)"), - tiles = { - "testnodes_1.png", - "testnodes_2.png", - "testnodes_3.png", - "testnodes_4.png", - "testnodes_5.png", - "testnodes_6.png", - }, - groups = {connected_nodebox=1, dig_immediate=3}, - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "facedir", - connects_to = {"group:connected_nodebox"}, - connect_sides = {"front", "back", "left", "right"}, - node_box = nodebox_wall_thick, -}) - -core.register_node("testnodes:nodebox_connected_4dir", { - description = S("4Dir Connected Nodebox Test Node").."\n".. - S("Connects to neighbors").."\n".. - S("param2 = 4dir rotation of textures (not of the nodebox!)"), - tiles = { - "testnodes_1f.png", - "testnodes_2f.png", - "testnodes_3f.png", - "testnodes_4f.png", - "testnodes_5f.png", - "testnodes_6f.png", - }, - groups = {connected_nodebox=1, dig_immediate=3}, - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "4dir", - connects_to = {"group:connected_nodebox"}, - connect_sides = {"front", "back", "left", "right"}, - node_box = nodebox_wall_thick, -}) - --- Doesn't connect, but lets other nodes connect -core.register_node("testnodes:facedir_to_connect_to", { - description = S("Facedir Node that connected Nodeboxes connect to").."\n".. - S("Neighbors connect only to left (blue 4) and top (yellow 1) face").."\n".. - S("(Currently broken for param2 >= 4, see FIXME in nodedef.cpp)").."\n".. - S("param2 = facedir"), - tiles = { - "testnodes_1.png", - "testnodes_2.png", - "testnodes_3.png", - "testnodes_4.png", - "testnodes_5.png", - "testnodes_6.png", - }, - groups = {connected_nodebox=1, dig_immediate=3}, - drawtype = "normal", - paramtype2 = "facedir", - connect_sides = {"left", "top"}, -}) - --- 3D sign and button: --- These are example nodes for more realistic example uses --- of wallmounted_rotate_vertical -core.register_node("testnodes:sign3d", { - description = S("Nodebox Sign, Nodebox Type \"fixed\""), - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "wallmounted", - wallmounted_rotate_vertical = true, - sunlight_propagates = true, - walkable = false, - tiles = { - "testnodes_sign3d.png", - }, - groups = { dig_immediate = 3 }, - node_box = { - type = "fixed", - fixed = {-0.4375, -0.5, -0.3125, 0.4375, -0.4375, 0.3125}, - }, -}) - -core.register_node("testnodes:sign3d_wallmounted", { - description = S("Nodebox Sign, Nodebox Type \"wallmounted\""), - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "wallmounted", - wallmounted_rotate_vertical = true, - sunlight_propagates = true, - walkable = false, - tiles = { - "testnodes_sign3d.png^[colorize:#ff0000:127", - }, - groups = { dig_immediate = 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}, - }, -}) - -core.register_node("testnodes:button", { - description = S("Button Nodebox Test Node"), - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "wallmounted", - wallmounted_rotate_vertical = true, - sunlight_propagates = true, - walkable = false, - tiles = { - "testnodes_nodebox.png", - }, - groups = { dig_immediate = 3 }, - node_box = { - type = "fixed", - fixed = { -4/16, -8/16, -2/16, 4/16, -6/16, 2/16 }, - }, -}) - diff --git a/data/games/garage/mods/testnodes/overlays.lua b/data/games/garage/mods/testnodes/overlays.lua deleted file mode 100644 index 7f7a1cd..0000000 --- a/data/games/garage/mods/testnodes/overlays.lua +++ /dev/null @@ -1,93 +0,0 @@ -local S = core.get_translator("testnodes") - -core.register_node("testnodes:overlay", { - description = S("Texture Overlay Test Node") .. "\n" .. - S("Uncolorized"), - tiles = {{name = "testnodes_overlayable.png"}}, - overlay_tiles = {{name = "testnodes_overlay.png"}}, - groups = { dig_immediate = 2 }, -}) -core.register_node("testnodes:overlay_color_all", { - description = S("Texture Overlay Test Node, Colorized") .. "\n" .. - S("param2 changes color"), - tiles = {{name = "testnodes_overlayable.png"}}, - overlay_tiles = {{name = "testnodes_overlay.png"}}, - paramtype2 = "color", - palette = "testnodes_palette_full.png", - - - groups = { dig_immediate = 2 }, -}) -core.register_node("testnodes:overlay_color_overlay", { - description = S("Texture Overlay Test Node, Colorized Overlay") .. "\n" .. - S("param2 changes color of overlay"), - tiles = {{name = "testnodes_overlayable.png", color="white"}}, - overlay_tiles = {{name = "testnodes_overlay.png"}}, - paramtype2 = "color", - palette = "testnodes_palette_full.png", - - - groups = { dig_immediate = 2 }, -}) -core.register_node("testnodes:overlay_color_overlayed", { - description = S("Texture Overlay Test Node, Colorized Base") .. "\n" .. - S("param2 changes color of base texture"), - tiles = {{name = "testnodes_overlayable.png"}}, - overlay_tiles = {{name = "testnodes_overlay.png", color="white"}}, - paramtype2 = "color", - palette = "testnodes_palette_full.png", - - - groups = { dig_immediate = 2 }, -}) - -local global_overlay_color = "#FF2000" -core.register_node("testnodes:overlay_global", { - description = S("Texture Overlay Test Node, Global Color") .. "\n" .. - S("Global color = @1", global_overlay_color), - tiles = {{name = "testnodes_overlayable.png"}}, - overlay_tiles = {{name = "testnodes_overlay.png"}}, - color = global_overlay_color, - - - groups = { dig_immediate = 2 }, -}) -core.register_node("testnodes:overlay_global_color_all", { - description = S("Texture Overlay Test Node, Global Color + Colorized") .. "\n" .. - S("Global color = @1", global_overlay_color) .. "\n" .. - S("param2 changes color"), - tiles = {{name = "testnodes_overlayable.png"}}, - overlay_tiles = {{name = "testnodes_overlay.png"}}, - color = global_overlay_color, - paramtype2 = "color", - palette = "testnodes_palette_full.png", - - - groups = { dig_immediate = 2 }, -}) -core.register_node("testnodes:overlay_global_color_overlay", { - description = S("Texture Overlay Test Node, Global Color + Colorized Overlay") .. "\n" .. - S("Global color = @1", global_overlay_color) .. "\n" .. - S("param2 changes color of overlay"), - tiles = {{name = "testnodes_overlayable.png", color=global_overlay_color}}, - overlay_tiles = {{name = "testnodes_overlay.png"}}, - color = global_overlay_color, - paramtype2 = "color", - palette = "testnodes_palette_full.png", - - - groups = { dig_immediate = 2 }, -}) -core.register_node("testnodes:overlay_global_color_overlayed", { - description = S("Texture Overlay Test Node, Global Color + Colorized Base") .. "\n" .. - S("Global color = @1", global_overlay_color) .. "\n" .. - S("param2 changes color of base texture"), - tiles = {{name = "testnodes_overlayable.png"}}, - overlay_tiles = {{name = "testnodes_overlay.png", color=global_overlay_color}}, - color = global_overlay_color, - paramtype2 = "color", - palette = "testnodes_palette_full.png", - - - groups = { dig_immediate = 2 }, -}) diff --git a/data/games/garage/mods/testnodes/param2.lua b/data/games/garage/mods/testnodes/param2.lua deleted file mode 100644 index aec1fd4..0000000 --- a/data/games/garage/mods/testnodes/param2.lua +++ /dev/null @@ -1,321 +0,0 @@ --- This file is for misc. param2 tests that aren't covered in drawtypes.lua already. - -local S = core.get_translator("testnodes") - -core.register_node("testnodes:facedir", { - description = S("Facedir Test Node").."\n".. - S("param2 = facedir rotation (0..23)"), - paramtype2 = "facedir", - tiles = { - "testnodes_1.png", - "testnodes_2.png", - "testnodes_3.png", - "testnodes_4.png", - "testnodes_5.png", - "testnodes_6.png", - }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:4dir", { - description = S("4dir Test Node").."\n".. - S("param2 = 4dir rotation (0..3)"), - paramtype2 = "4dir", - tiles = { - "testnodes_1f.png", - "testnodes_2f.png", - "testnodes_3f.png", - "testnodes_4f.png", - "testnodes_5f.png", - "testnodes_6f.png", - }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:facedir_nodebox", { - description = S("Facedir Nodebox Test Node").."\n".. - S("param2 = facedir rotation (0..23)"), - tiles = { - "testnodes_1.png", - "testnodes_2.png", - "testnodes_3.png", - "testnodes_4.png", - "testnodes_5.png", - "testnodes_6.png", - }, - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "facedir", - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.2, 0.2, 0.2}, - }, - - groups = {dig_immediate=3}, -}) - -core.register_node("testnodes:4dir_nodebox", { - description = S("4dir Nodebox Test Node").."\n".. - S("param2 = 4dir rotation (0..3)"), - tiles = { - "testnodes_1f.png", - "testnodes_2f.png", - "testnodes_3f.png", - "testnodes_4f.png", - "testnodes_5f.png", - "testnodes_6f.png", - }, - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "4dir", - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.2, 0.2, 0.2}, - }, - - groups = {dig_immediate=3}, -}) - -core.register_node("testnodes:4dir_nodebox_stair", { - description = S("4dir Nodebox Stair Test Node").."\n".. - S("param2 = 4dir rotation (0..3)"), - tiles = { - "testnodes_1f.png", - "testnodes_2f.png", - "testnodes_3f.png", - "testnodes_4f.png", - "testnodes_5f.png", - "testnodes_6f.png", - }, - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "4dir", - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, - }, - }, - - groups = { dig_immediate = 3 }, -}) - - -core.register_node("testnodes:wallmounted", { - description = S("Wallmounted Test Node").."\n".. - S("param2 = wallmounted rotation (0..7)"), - paramtype2 = "wallmounted", - tiles = { - "testnodes_1w.png", - "testnodes_2w.png", - "testnodes_3w.png", - "testnodes_4w.png", - "testnodes_5w.png", - "testnodes_6w.png", - }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:wallmounted_rot", { - description = S("Wallmounted Rotatable Test Node"), - paramtype2 = "wallmounted", - wallmounted_rotate_vertical = true, - tiles = { - "testnodes_1w.png^[colorize:#FFFF00:40", - "testnodes_2w.png^[colorize:#FFFF00:40", - "testnodes_3w.png^[colorize:#FFFF00:40", - "testnodes_4w.png^[colorize:#FFFF00:40", - "testnodes_5w.png^[colorize:#FFFF00:40", - "testnodes_6w.png^[colorize:#FFFF00:40", - }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:wallmounted_nodebox", { - description = S("Wallmounted Nodebox Test Node").."\n".. - S("param2 = wallmounted rotation (0..7)"), - paramtype2 = "wallmounted", - paramtype = "light", - tiles = { - "testnodes_1w.png", - "testnodes_2w.png", - "testnodes_3w.png", - "testnodes_4w.png", - "testnodes_5w.png", - "testnodes_6w.png", - }, - drawtype = "nodebox", - node_box = { - type = "wallmounted", - wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 }, - wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 }, - wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 }, - }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:wallmounted_nodebox_rot", { - description = S("Wallmounted Rotatable Nodebox Test Node"), - paramtype2 = "wallmounted", - wallmounted_rotate_vertical = true, - paramtype = "light", - tiles = { - "testnodes_1w.png^[colorize:#FFFF00:40", - "testnodes_2w.png^[colorize:#FFFF00:40", - "testnodes_3w.png^[colorize:#FFFF00:40", - "testnodes_4w.png^[colorize:#FFFF00:40", - "testnodes_5w.png^[colorize:#FFFF00:40", - "testnodes_6w.png^[colorize:#FFFF00:40", - }, - drawtype = "nodebox", - node_box = { - type = "wallmounted", - wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 }, - wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 }, - wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 }, - }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:color", { - description = S("Color Test Node").."\n".. - S("param2 = color (0..255)"), - paramtype2 = "color", - palette = "testnodes_palette_full.png", - tiles = { - "testnodes_node.png", - }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:colorfacedir", { - description = S("Color Facedir Test Node").."\n".. - S("param2 = color + facedir rotation (0..23, 32..55, ...)"), - paramtype2 = "colorfacedir", - palette = "testnodes_palette_facedir.png", - tiles = { - "testnodes_1g.png", - "testnodes_2g.png", - "testnodes_3g.png", - "testnodes_4g.png", - "testnodes_5g.png", - "testnodes_6g.png", - }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:colorfacedir_nodebox", { - description = S("Color Facedir Nodebox Test Node").."\n".. - S("param2 = color + facedir rotation (0..23, 32..55, ...)"), - tiles = { - "testnodes_1g.png", - "testnodes_2g.png", - "testnodes_3g.png", - "testnodes_4g.png", - "testnodes_5g.png", - "testnodes_6g.png", - }, - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "colorfacedir", - palette = "testnodes_palette_facedir.png", - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.2, 0.2, 0.2}, - }, - - groups = {dig_immediate=3}, -}) - -core.register_node("testnodes:color4dir", { - description = S("Color 4dir Test Node").."\n".. - S("param2 = color + 4dir rotation (0..255)"), - paramtype2 = "color4dir", - palette = "testnodes_palette_4dir.png", - tiles = { - "testnodes_1fg.png", - "testnodes_2fg.png", - "testnodes_3fg.png", - "testnodes_4fg.png", - "testnodes_5fg.png", - "testnodes_6fg.png", - }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:color4dir_nodebox", { - description = S("Color 4dir Nodebox Test Node").."\n".. - S("param2 = color + 4dir rotation (0..255)"), - tiles = { - "testnodes_1fg.png", - "testnodes_2fg.png", - "testnodes_3fg.png", - "testnodes_4fg.png", - "testnodes_5fg.png", - "testnodes_6fg.png", - }, - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "color4dir", - palette = "testnodes_palette_4dir.png", - node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.2, 0.2, 0.2}, - }, - - groups = {dig_immediate=3}, -}) - -core.register_node("testnodes:colorwallmounted", { - description = S("Color Wallmounted Test Node").."\n".. - S("param2 = color + wallmounted rotation (0..7, 8..15, ...)"), - paramtype2 = "colorwallmounted", - paramtype = "light", - palette = "testnodes_palette_wallmounted.png", - tiles = { - "testnodes_1wg.png", - "testnodes_2wg.png", - "testnodes_3wg.png", - "testnodes_4wg.png", - "testnodes_5wg.png", - "testnodes_6wg.png", - }, - - groups = { dig_immediate = 3 }, -}) - -core.register_node("testnodes:colorwallmounted_nodebox", { - description = S("Color Wallmounted Nodebox Test Node").."\n".. - S("param2 = color + wallmounted rotation (0..7, 8..15, ...)"), - paramtype2 = "colorwallmounted", - paramtype = "light", - palette = "testnodes_palette_wallmounted.png", - tiles = { - "testnodes_1wg.png", - "testnodes_2wg.png", - "testnodes_3wg.png", - "testnodes_4wg.png", - "testnodes_5wg.png", - "testnodes_6wg.png", - }, - drawtype = "nodebox", - node_box = { - type = "wallmounted", - wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 }, - wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 }, - wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 }, - }, - - groups = { dig_immediate = 3 }, -}) - diff --git a/data/games/garage/mods/testnodes/performance_test_nodes.lua b/data/games/garage/mods/testnodes/performance_test_nodes.lua deleted file mode 100644 index fc22db3..0000000 --- a/data/games/garage/mods/testnodes/performance_test_nodes.lua +++ /dev/null @@ -1,59 +0,0 @@ --- Performance test mesh nodes - -local S = core.get_translator("testnodes") - --- Complex mesh -core.register_node("testnodes:performance_mesh_clip", { - description = S("Performance Test Node") .. "\n" .. S("Marble with 'clip' transparency"), - drawtype = "mesh", - mesh = "testnodes_marble_glass.obj", - tiles = {"testnodes_marble_glass.png"}, - paramtype = "light", - use_texture_alpha = "clip", - - groups = {dig_immediate=3}, -}) - --- Complex mesh, alpha blending -core.register_node("testnodes:performance_mesh_blend", { - description = S("Performance Test Node") .. "\n" .. S("Marble with 'blend' transparency"), - drawtype = "mesh", - mesh = "testnodes_marble_glass.obj", - tiles = {"testnodes_marble_glass.png"}, - paramtype = "light", - use_texture_alpha = "blend", - - groups = {dig_immediate=3}, -}) - --- Overlay -core.register_node("testnodes:performance_overlay_clip", { - description = S("Performance Test Node") .. "\n" .. S("Marble with overlay with 'clip' transparency") .. "\n" .. S("Palette for demonstration"), - drawtype = "mesh", - mesh = "testnodes_marble_metal.obj", - tiles = {"testnodes_marble_metal.png"}, - overlay_tiles = {{name = "testnodes_marble_metal_overlay.png", color = "white"}}, - paramtype = "light", - paramtype2 = "color", - palette = "testnodes_palette_metal.png", - color = "#705216"; - use_texture_alpha = "clip", - - groups = {dig_immediate=3}, -}) - --- Overlay -core.register_node("testnodes:performance_overlay_blend", { - description = S("Performance Test Node") .. "\n" .. S("Marble with overlay with 'blend' transparency") .. "\n" .. S("Palette for demonstration"), - drawtype = "mesh", - mesh = "testnodes_marble_metal.obj", - tiles = {"testnodes_marble_metal.png"}, - overlay_tiles = {{name = "testnodes_marble_metal_overlay.png", color = "white"}}, - paramtype = "light", - paramtype2 = "color", - palette = "testnodes_palette_metal.png", - color = "#705216"; - use_texture_alpha = "blend", - - groups = {dig_immediate=3}, -}) diff --git a/data/games/garage/mods/testnodes/properties.lua b/data/games/garage/mods/testnodes/properties.lua deleted file mode 100644 index 29dc14a..0000000 --- a/data/games/garage/mods/testnodes/properties.lua +++ /dev/null @@ -1,685 +0,0 @@ --- Test Nodes: Node property tests - -local S = core.get_translator("testnodes") - --- Is supposed to fall when it doesn't rest on solid ground -core.register_node("testnodes:falling", { - description = S("Falling Node").."\n".. - S("Falls down if no node below"), - tiles = { - "testnodes_node.png", - "testnodes_node.png", - "testnodes_node_falling.png", - }, - groups = { falling_node = 1, dig_immediate = 3 }, -}) - -core.register_node("testnodes:falling_facedir", { - description = S("Falling Facedir Node").."\n".. - S("Falls down if no node below").."\n".. - S("param2 = facedir rotation"), - tiles = { - "testnodes_node_falling_1.png", - "testnodes_node_falling_2.png", - "testnodes_node_falling_3.png", - "testnodes_node_falling_4.png", - "testnodes_node_falling_5.png", - "testnodes_node_falling_6.png", - }, - paramtype2 = "facedir", - groups = { falling_node = 1, dig_immediate = 3 }, -}) - --- Same as falling node, but will stop falling on top of liquids -core.register_node("testnodes:falling_float", { - description = S("Falling+Floating Node").."\n".. - S("Falls down if no node below, floats on liquids (liquidtype ~= \"none\")"), - groups = { falling_node = 1, float = 1, dig_immediate = 3 }, - - - tiles = { - "testnodes_node.png", - "testnodes_node.png", - "testnodes_node_falling.png", - }, - color = "cyan", -}) - --- This node attaches to the floor and drops as item --- when the floor is gone. -core.register_node("testnodes:attached", { - description = S("Floor-Attached Node").."\n".. - S("Drops as item if no solid node below"), - tiles = { - "testnodes_attached_top.png", - "testnodes_attached_bottom.png", - "testnodes_attached_side.png", - }, - groups = { attached_node = 1, dig_immediate = 3 }, -}) --- This node attaches to the side of a node and drops as item --- when the node it attaches to is gone. -core.register_node("testnodes:attached_wallmounted", { - description = S("Wallmounted Attached Node").."\n".. - S("Attaches to solid node it was placed on; drops as item if neighbor node is gone").."\n".. - S("param2 = wallmounted rotation (0..7)"), - paramtype2 = "wallmounted", - tiles = { - "testnodes_attachedw_top.png", - "testnodes_attachedw_bottom.png", - "testnodes_attachedw_side.png", - }, - groups = { attached_node = 1, dig_immediate = 3 }, -}) - --- This node attaches to the side of a node and drops as item --- when the node it attaches to is gone. --- Also adds vertical 90° rotation variants. -core.register_node("testnodes:attached_wallmounted_rot", { - description = S("Rotatable Wallmounted Attached Node").."\n".. - S("Attaches to solid node it was placed on; drops as item if neighbor node is gone").."\n".. - S("param2 = wallmounted rotation (0..7)").."\n".. - S("May be rotated by 90° if placed at floor or ceiling"), - paramtype2 = "wallmounted", - tiles = { - "testnodes_attachedwr_top.png", - "testnodes_attachedwr_bottom.png", - "testnodes_attachedwr_side.png", - }, - wallmounted_rotate_vertical = true, - groups = { attached_node = 1, dig_immediate = 3 }, -}) - --- Wallmounted node that always attaches to the floor -core.register_node("testnodes:attached_wallmounted_floor", { - description = S("Floor-Attached Wallmounted Node").."\n".. - S("Drops as item if no solid node below (regardless of rotation)").."\n".. - S("param2 = wallmounted rotation (visual only) (0..7)"), - paramtype2 = "wallmounted", - tiles = { - "testnodes_attached_top.png", - "testnodes_attached_bottom.png", - "testnodes_attached_side.png", - }, - groups = { attached_node = 3, dig_immediate = 3 }, - color = "#FF8080", -}) - --- Wallmounted node that always attaches to the floor. --- Also adds 90° rotation variants. -core.register_node("testnodes:attached_wallmounted_floor_rot", { - description = S("Rotatable Floor-Attached Wallmounted Node").."\n".. - S("Drops as item if no solid node below (regardless of rotation)").."\n".. - S("param2 = wallmounted rotation (visual only) (0..7)").."\n".. - S("May be rotated by 90° if placed at floor or ceiling"), - paramtype2 = "wallmounted", - tiles = { - "testnodes_attachedfr_top.png", - "testnodes_attachedfr_bottom.png", - "testnodes_attachedfr_side.png", - }, - wallmounted_rotate_vertical = true, - groups = { attached_node = 3, dig_immediate = 3 }, -}) - --- This node attaches to the ceiling and drops as item --- when the ceiling is gone. -core.register_node("testnodes:attached_top", { - description = S("Ceiling-Attached Node").."\n".. - S("Drops as item if no solid node above"), - tiles = { - "testnodes_attached_bottom.png", - "testnodes_attached_top.png", - "testnodes_attached_side.png^[transformR180", - }, - groups = { attached_node = 4, dig_immediate = 3 }, -}) - --- Same as wallmounted attached, but for facedir -core.register_node("testnodes:attached_facedir", { - description = S("Facedir Attached Node").."\n".. - S("Attaches to a neighboring solid node; drops as item if that node is gone").."\n".. - S("param2 = facedir rotation (0..23)"), - paramtype2 = "facedir", - tiles = { - "testnodes_attachedf_side.png^[transformR180", - "testnodes_attachedf_side.png", - "testnodes_attachedf_side.png^[transformR90", - "testnodes_attachedf_side.png^[transformR270", - "testnodes_attachedf_bottom.png", - "testnodes_attachedf_top.png", - }, - groups = { attached_node = 2, dig_immediate = 3 }, -}) - --- Same as facedir attached, but for 4dir -core.register_node("testnodes:attached_4dir", { - description = S("4dir Attached Node").."\n".. - S("Attaches to the side of a solid node; drops as item if that node is gone").."\n".. - S("param2 = 4dir rotation (0..3)"), - paramtype2 = "4dir", - tiles = { - "testnodes_attached4_side.png^[transformR180", - "testnodes_attached4_side.png", - "testnodes_attached4_side.png^[transformR90", - "testnodes_attached4_side.png^[transformR270", - "testnodes_attached4_bottom.png", - "testnodes_attached4_top.png", - }, - groups = { attached_node = 2, dig_immediate = 3 }, -}) - --- Jump disabled -core.register_node("testnodes:nojump", { - description = S("Non-jumping Node").."\n".. - S("You can't jump on it"), - groups = {disable_jump=1, dig_immediate=3}, - tiles = {"testnodes_nojump_top.png", "testnodes_nojump_side.png"}, -}) - --- Jump disabled plant -core.register_node("testnodes:nojump_walkable", { - description = S("Non-jumping Plant Node").."\n".. - S("You can't jump while your feet are in it"), - drawtype = "plantlike", - groups = {disable_jump=1, dig_immediate=3}, - walkable = false, - tiles = {"testnodes_nojump_top.png"}, -}) - -local climbable_nodebox = { - type = "regular", -} - --- Climbable up and down with jump and sneak keys -core.register_node("testnodes:climbable", { - description = S("Climbable Node").."\n".. - S("You can climb up and down"), - climbable = true, - walkable = false, - - - paramtype = "light", - sunlight_propagates = true, - is_ground_content = false, - tiles = {"testnodes_climbable_top.png","testnodes_climbable_top.png","testnodes_climbable_side.png"}, - use_texture_alpha = "clip", - drawtype = "nodebox", - node_box = climbable_nodebox, - groups = {dig_immediate=3}, -}) - --- Climbable only downwards with sneak key -core.register_node("testnodes:climbable_nojump", { - description = S("Downwards-climbable Node").."\n".. - S("You can climb only downwards"), - climbable = true, - walkable = false, - - groups = {disable_jump=1, dig_immediate=3}, - drawtype = "nodebox", - node_box = climbable_nodebox, - tiles = {"testnodes_climbable_nojump_top.png","testnodes_climbable_nojump_top.png","testnodes_climbable_nojump_side.png"}, - use_texture_alpha = "clip", - paramtype = "light", - sunlight_propagates = true, -}) - - -core.register_node("testnodes:climbable_nodescend", { - description = S("Upwards-climbable Node"), - climbable = true, - walkable = false, - - groups = {disable_descend=1, dig_immediate=3}, - drawtype = "nodebox", - node_box = climbable_nodebox, - tiles = {"testnodes_climbable_nodescend_top.png","testnodes_climbable_nodescend_top.png","testnodes_climbable_nodescend_side.png"}, - use_texture_alpha = "clip", - paramtype = "light", - sunlight_propagates = true, -}) - -core.register_node("testnodes:climbable_nodescend_nojump", { - description = S("Horizontal-only Climbable Node"), - climbable = true, - walkable = false, - - groups = {disable_jump=1, disable_descend=1, dig_immediate=3}, - drawtype = "nodebox", - node_box = climbable_nodebox, - tiles = {"testnodes_climbable_noclimb_top.png","testnodes_climbable_noclimb_top.png","testnodes_climbable_noclimb_side.png"}, - use_texture_alpha = "clip", - paramtype = "light", - sunlight_propagates = true, -}) - --- A liquid in which you can't rise -core.register_node("testnodes:liquid_nojump", { - description = S("Non-jumping Liquid Source Node").."\n".. - S("Swimmable liquid, but you can't swim upwards"), - liquidtype = "source", - liquid_range = 1, - liquid_viscosity = 0, - liquid_alternative_flowing = "testnodes:liquidflowing_nojump", - liquid_alternative_source = "testnodes:liquid_nojump", - liquid_renewable = false, - groups = {disable_jump=1, dig_immediate=3}, - walkable = false, - - drawtype = "liquid", - tiles = {"testnodes_liquidsource.png^[colorize:#FF0000:127"}, - special_tiles = { - {name = "testnodes_liquidsource.png^[colorize:#FF0000:127", backface_culling = false}, - {name = "testnodes_liquidsource.png^[colorize:#FF0000:127", backface_culling = true}, - }, - use_texture_alpha = "blend", - paramtype = "light", - pointable = false, - liquids_pointable = true, - is_ground_content = false, - post_effect_color = {a = 70, r = 255, g = 0, b = 200}, -}) - --- A liquid in which you can't rise (flowing variant) -core.register_node("testnodes:liquidflowing_nojump", { - description = S("Non-jumping Flowing Liquid Node").."\n".. - S("Swimmable liquid, but you can't swim upwards"), - liquidtype = "flowing", - liquid_range = 1, - liquid_viscosity = 0, - liquid_alternative_flowing = "testnodes:liquidflowing_nojump", - liquid_alternative_source = "testnodes:liquid_nojump", - liquid_renewable = false, - groups = {disable_jump=1, dig_immediate=3}, - walkable = false, - - - drawtype = "flowingliquid", - tiles = {"testnodes_liquidflowing.png^[colorize:#FF0000:127"}, - special_tiles = { - {name = "testnodes_liquidflowing.png^[colorize:#FF0000:127", backface_culling = false}, - {name = "testnodes_liquidflowing.png^[colorize:#FF0000:127", backface_culling = false}, - }, - use_texture_alpha = "blend", - paramtype = "light", - paramtype2 = "flowingliquid", - pointable = false, - liquids_pointable = true, - is_ground_content = false, - post_effect_color = {a = 70, r = 255, g = 0, b = 200}, -}) - --- A liquid which doesn't have liquid movement physics (source variant) -core.register_node("testnodes:liquid_noswim", { - description = S("No-swim Liquid Source Node").."\n".. - S("Liquid node, but swimming is disabled"), - liquidtype = "source", - liquid_range = 1, - liquid_viscosity = 0, - liquid_alternative_flowing = "testnodes:liquidflowing_noswim", - liquid_alternative_source = "testnodes:liquid_noswim", - liquid_renewable = false, - liquid_move_physics = false, - groups = {dig_immediate=3}, - walkable = false, - - drawtype = "liquid", - tiles = {"testnodes_liquidsource.png^[colorize:#FF00FF:127"}, - special_tiles = { - {name = "testnodes_liquidsource.png^[colorize:#FF00FF:127", backface_culling = false}, - {name = "testnodes_liquidsource.png^[colorize:#FF00FF:127", backface_culling = true}, - }, - use_texture_alpha = "blend", - paramtype = "light", - pointable = false, - liquids_pointable = true, - buildable_to = true, - is_ground_content = false, - post_effect_color = {a = 70, r = 255, g = 200, b = 200}, -}) - --- A liquid which doen't have liquid movement physics (flowing variant) -core.register_node("testnodes:liquidflowing_noswim", { - description = S("No-swim Flowing Liquid Node").."\n".. - S("Liquid node, but swimming is disabled"), - liquidtype = "flowing", - liquid_range = 1, - liquid_viscosity = 0, - liquid_alternative_flowing = "testnodes:liquidflowing_noswim", - liquid_alternative_source = "testnodes:liquid_noswim", - liquid_renewable = false, - liquid_move_physics = false, - groups = {dig_immediate=3}, - walkable = false, - - - drawtype = "flowingliquid", - tiles = {"testnodes_liquidflowing.png^[colorize:#FF00FF:127"}, - special_tiles = { - {name = "testnodes_liquidflowing.png^[colorize:#FF00FF:127", backface_culling = false}, - {name = "testnodes_liquidflowing.png^[colorize:#FF00FF:127", backface_culling = false}, - }, - use_texture_alpha = "blend", - paramtype = "light", - paramtype2 = "flowingliquid", - pointable = false, - liquids_pointable = true, - buildable_to = true, - is_ground_content = false, - post_effect_color = {a = 70, r = 255, g = 200, b = 200}, -}) - --- A liquid in which you can't actively descend. --- Note: You'll still descend slowly by doing nothing. -core.register_node("testnodes:liquid_nodescend", { - description = S("No-descending Liquid Source Node"), - liquidtype = "source", - liquid_range = 0, - liquid_viscosity = 0, - liquid_alternative_flowing = "testnodes:liquidflowing_nodescend", - liquid_alternative_source = "testnodes:liquid_nodescend", - liquid_renewable = false, - groups = {disable_descend=1, dig_immediate=3}, - walkable = false, - - drawtype = "liquid", - tiles = {"testnodes_liquidsource.png^[colorize:#FFFF00:127"}, - special_tiles = { - {name = "testnodes_liquidsource.png^[colorize:#FFFF00:127", backface_culling = false}, - {name = "testnodes_liquidsource.png^[colorize:#FFFF00:127", backface_culling = true}, - }, - use_texture_alpha = "blend", - paramtype = "light", - pointable = false, - liquids_pointable = true, - is_ground_content = false, - post_effect_color = {a = 70, r = 255, g = 255, b = 200}, -}) - --- A liquid in which you can't actively descend (flowing variant) -core.register_node("testnodes:liquidflowing_nodescend", { - description = S("No-descending Flowing Liquid Node"), - liquidtype = "flowing", - liquid_range = 1, - liquid_viscosity = 0, - liquid_alternative_flowing = "testnodes:liquidflowing_nodescend", - liquid_alternative_source = "testnodes:liquid_nodescend", - liquid_renewable = false, - groups = {disable_descend=1, dig_immediate=3}, - walkable = false, - - - drawtype = "flowingliquid", - tiles = {"testnodes_liquidflowing.png^[colorize:#FFFF00:127"}, - special_tiles = { - {name = "testnodes_liquidflowing.png^[colorize:#FFFF00:127", backface_culling = false}, - {name = "testnodes_liquidflowing.png^[colorize:#FFFF00:127", backface_culling = false}, - }, - use_texture_alpha = "blend", - paramtype = "light", - paramtype2 = "flowingliquid", - pointable = false, - liquids_pointable = true, - is_ground_content = false, - post_effect_color = {a = 70, r = 255, g = 255, b = 200}, -}) - --- Nodes that modify fall damage (various damage modifiers) -for i=-100, 100, 25 do - if i ~= 0 then - local subname, descnum - if i < 0 then - subname = "NEG"..string.format("%03d", math.abs(i)) - descnum = tostring(i) - else - subname = string.format("%03d", i) - descnum = S("+@1", i) - end - local tex, color, desc - if i > 0 then - local val = math.floor((i/100)*255) - tex = "testnodes_fall_damage_plus.png" - color = { b=0, g=255-val, r=255, a=255 } - desc = S("Fall Damage Node (+@1%)", i) - else - tex = "testnodes_fall_damage_minus.png" - if i == -100 then - color = { r=0, b=0, g=255, a=255 } - else - local val = math.floor((math.abs(i)/100)*255) - color = { r=0, b=255, g=255-val, a=255 } - end - desc = S("Fall Damage Node (-@1%)", math.abs(i)) - end - core.register_node("testnodes:damage"..subname, { - description = desc, - groups = {fall_damage_add_percent=i, dig_immediate=3}, - - - tiles = { tex }, - is_ground_content = false, - color = color, - }) - end -end - --- Bouncy nodes (various bounce levels) -local MAX_BOUNCE_JUMPY = 180 -local MAX_BOUNCE_NONJUMPY = 140 -for i=-MAX_BOUNCE_NONJUMPY, MAX_BOUNCE_JUMPY, 20 do - if i ~= 0 then - local desc - local val = math.floor((math.abs(i) - 20) / 200 * 255) - local val2 = math.max(0, 255 - val) - local num = string.format("%03d", math.abs(i)) - if i > 0 then - desc = S("Bouncy Node (@1%), jumpy", i).."\n".. - S("Sneaking/jumping affects bounce") - color = { r=val2, g=val2, b=255, a=255 } - else - desc = S("Bouncy Node (@1%), non-jumpy", math.abs(i)).."\n".. - S("Sneaking/jumping does not affect bounce") - color = { r=val2, g=255, b=val2, a=255 } - num = "NEG"..num - end - core.register_node("testnodes:bouncy"..num, { - description = desc, - groups = {bouncy=i, dig_immediate=3}, - - - color = color, - tiles ={"testnodes_bouncy.png"}, - is_ground_content = false, - }) - end -end - --- Slippery nodes (various slippery levels) -for i=1, 5 do - core.register_node("testnodes:slippery"..i, { - description = S("Slippery Node (@1)", i), - tiles ={"testnodes_slippery.png"}, - is_ground_content = false, - groups = {slippery=i, dig_immediate=3}, - color = { r=0, g=255, b=math.floor((i/5)*255), a=255 }, - }) -end - --- Move resistance nodes (various resistance levels) -for r=0, 7 do - if r > 0 then - core.register_node("testnodes:move_resistance"..r, { - description = S("Move-resistant Node (@1)", r).."\n".. - S("Reduces movement speed"), - walkable = false, - move_resistance = r, - - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_move_resistance.png" }, - is_ground_content = false, - groups = { dig_immediate = 3 }, - color = { b = 0, g = 255, r = math.floor((r/7)*255), a = 255 }, - }) - end - - local mdesc, mcolor - if r == 0 then - mdesc = S("Liquidlike Movement Node").."\n".. - S("Swimmable (no move resistance)") - mcolor = { b = 255, g = 255, r = 128 } - else - mdesc = S("Move-resistant Node (@1), liquidlike", r).."\n".. - S("Reduces movement speed; swimmable") - mcolor = { b = 255, g = 0, r = math.floor((r/7)*255), a = 255 } - end - - - core.register_node("testnodes:move_resistance_liquidlike"..r, { - description = mdesc, - walkable = false, - move_resistance = r, - liquid_move_physics = true, - - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_move_resistance.png" }, - is_ground_content = false, - groups = { dig_immediate = 3 }, - color = mcolor, - }) -end - -core.register_node("testnodes:climbable_move_resistance_4", { - description = S("Climbable Move-resistant Node (4)").."\n".. - S("You can climb up and down; reduced movement speed"), - walkable = false, - climbable = true, - move_resistance = 4, - - drawtype = "nodebox", - paramtype = "light", - sunlight_propagates = true, - tiles = {"testnodes_climbable_top.png","testnodes_climbable_top.png","testnodes_climbable_resistance_side.png"}, - use_texture_alpha = "clip", - is_ground_content = false, - groups = { dig_immediate = 3 }, -}) - --- By placing something on the node, the node itself will be replaced -core.register_node("testnodes:buildable_to", { - description = S("\"buildable_to\" Node").."\n".. - S("Placing a node on it will replace it"), - buildable_to = true, - tiles = {"testnodes_buildable_to.png"}, - is_ground_content = false, - groups = {dig_immediate=3}, -}) - --- Nodes that deal damage to players that are inside them. --- Negative damage nodes should heal. -for d=-3,3 do - if d ~= 0 then - local sub, tile, desc - if d > 0 then - sub = tostring(d) - tile = "testnodes_damage.png" - desc = S("Damage Node (@1 damage per second)", d) - else - sub = "m" .. tostring(math.abs(d)) - tile = "testnodes_damage_neg.png" - desc = S("Healing Node (@1 HP per second)", math.abs(d)) - end - if math.abs(d) == 2 then - tile = tile .. "^[colorize:#000000:70" - elseif math.abs(d) == 3 then - tile = tile .. "^[colorize:#000000:140" - end - core.register_node("testnodes:damage_"..sub, { - description = desc, - damage_per_second = d, - - - walkable = false, - is_ground_content = false, - drawtype = "allfaces", - paramtype = "light", - sunlight_propagates = true, - tiles = { tile }, - groups = {dig_immediate=3}, - }) - end -end - --- Causes drowning damage -core.register_node("testnodes:drowning_1", { - description = S("Drowning Node (@1 damage)", 1).."\n".. - S("You'll drown inside it"), - drowning = 1, - - - walkable = false, - is_ground_content = false, - drawtype = "allfaces", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_drowning.png" }, - groups = {dig_immediate=3}, -}) - --- post_effect_color_shaded - -core.register_node("testnodes:post_effect_color_shaded_false", { - description = S("\"post_effect_color_shaded = false\" Node"), - - drawtype = "allfaces", - tiles = {"testnodes_post_effect_color_shaded_false.png"}, - use_texture_alpha = "blend", - paramtype = "light", - sunlight_propagates = true, - post_effect_color = {a = 128, r = 255, g = 255, b = 255}, - post_effect_color_shaded = false, - - walkable = false, - is_ground_content = false, - groups = {dig_immediate=3}, -}) - -core.register_node("testnodes:post_effect_color_shaded_true", { - description = S("\"post_effect_color_shaded = true\" Node"), - - drawtype = "allfaces", - tiles = {"testnodes_post_effect_color_shaded_true.png"}, - use_texture_alpha = "blend", - paramtype = "light", - sunlight_propagates = true, - post_effect_color = {a = 128, r = 255, g = 255, b = 255}, - post_effect_color_shaded = true, - - walkable = false, - is_ground_content = false, - groups = {dig_immediate=3}, -}) - --- Pointability - --- Register wrapper for compactness -local function register_pointable_test_node(name, description, pointable) - local texture = "testnodes_"..name..".png" - core.register_node("testnodes:"..name, { - description = S(description), - tiles = {texture}, - drawtype = "glasslike_framed", - paramtype = "light", - walkable = false, - pointable = pointable, - groups = {dig_immediate=3, [name.."_test"]=1}, - }) -end - -register_pointable_test_node("pointable", "Pointable Node", true) -register_pointable_test_node("not_pointable", "Not Pointable Node", false) -register_pointable_test_node("blocking_pointable", "Blocking Pointable Node", "blocking") diff --git a/data/games/garage/mods/testnodes/textures.lua b/data/games/garage/mods/testnodes/textures.lua deleted file mode 100644 index 0d41947..0000000 --- a/data/games/garage/mods/testnodes/textures.lua +++ /dev/null @@ -1,369 +0,0 @@ --- Node texture tests - -local S = core.get_translator("testnodes") - -core.register_node("testnodes:6sides", { - description = S("Six Textures Test Node").."\n".. - S("Has 1 texture per face"), - tiles = { - "testnodes_normal1.png", - "testnodes_normal2.png", - "testnodes_normal3.png", - "testnodes_normal4.png", - "testnodes_normal5.png", - "testnodes_normal6.png", - }, - - groups = { dig_immediate = 2 }, -}) - -core.register_node("testnodes:anim", { - description = S("Animated Test Node").."\n".. - S("Tiles animate from A to D in 4s cycle"), - tiles = { - { name = "testnodes_anim.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 4.0, - }, }, - }, - - groups = { dig_immediate = 2 }, -}) - -core.register_node("testnodes:fill_positioning", { - description = S("Fill Modifier Test Node") .. "\n" .. - S("The node should have the same look as " .. - "testnodes:fill_positioning_reference."), - drawtype = "glasslike", - paramtype = "light", - tiles = {"[fill:16x16:#ffffff^[fill:6x6:1,1:#00ffdc" .. - "^[fill:6x6:1,9:#00ffdc^[fill:6x6:9,1:#00ffdc^[fill:6x6:9,9:#00ffdc"}, - groups = {dig_immediate = 3}, -}) - -core.register_node("testnodes:fill_positioning_reference", { - description = S("Fill Modifier Test Node Reference"), - drawtype = "glasslike", - paramtype = "light", - tiles = {"testnodes_fill_positioning_reference.png"}, - groups = {dig_immediate = 3}, -}) - -core.register_node("testnodes:modifier_mask", { - description = S("[mask Modifier Test Node"), - tiles = {"testnodes_128x128_rgb.png^[mask:testnodes_mask_WRGBKW.png"}, - groups = {dig_immediate = 3}, -}) - --- Node texture transparency test - -local alphas = { 64, 128, 191 } - -for a=1,#alphas do - local alpha = alphas[a] - - -- Transparency taken from texture - core.register_node("testnodes:alpha_texture_"..alpha, { - description = S("Texture Alpha Test Node (@1)", alpha).."\n".. - S("Semi-transparent"), - drawtype = "glasslike", - paramtype = "light", - tiles = { - "testnodes_alpha"..alpha..".png", - }, - use_texture_alpha = "blend", - - groups = { dig_immediate = 3 }, - }) - - -- Transparency set via texture modifier - core.register_node("testnodes:alpha_"..alpha, { - description = S("Alpha Test Node (@1)", alpha).."\n".. - S("Semi-transparent"), - drawtype = "glasslike", - paramtype = "light", - tiles = { - "testnodes_alpha.png^[opacity:" .. alpha, - }, - use_texture_alpha = "blend", - - groups = { dig_immediate = 3 }, - }) -end - -core.register_node("testnodes:alpha_compositing", { - description = S("Texture Overlay Test Node") .. "\n" .. - S("A regular grid should be visible where each cell contains two " .. - "texels with the same color.") .. "\n" .. - S("Texture overlay is gamma-incorrect, " .. - "and in general it does not do alpha compositing, " .. - "both for backwards compatibility."), - drawtype = "glasslike", - paramtype = "light", - tiles = {"testnodes_alpha_compositing_bottom.png^" .. - "testnodes_alpha_compositing_top.png"}, - use_texture_alpha = "blend", - groups = {dig_immediate = 3}, -}) - --- Generate PNG textures - -local function mandelbrot(w, h, iterations) - local r = {} - for y=0, h-1 do - for x=0, w-1 do - local re = (x - w/2) * 4/w - local im = (y - h/2) * 4/h - -- zoom in on a nice view - re = re / 128 - 0.23 - im = im / 128 - 0.82 - - local px, py = 0, 0 - local i = 0 - while px*px + py*py <= 4 and i < iterations do - px, py = px*px - py*py + re, 2 * px * py + im - i = i + 1 - end - r[w*y+x+1] = i / iterations - end - end - return r -end - -local function gen_checkers(w, h, tile) - local r = {} - for y=0, h-1 do - for x=0, w-1 do - local hori = math.floor(x / tile) % 2 == 0 - local vert = math.floor(y / tile) % 2 == 0 - r[w*y+x+1] = hori ~= vert and 1 or 0 - end - end - return r -end - --- The engine should perform color reduction of the generated PNG in certain --- cases, so we have this helper to check the result -local function encode_and_check(w, h, ctype, data) - local ret = core.encode_png(w, h, data) - assert(ret:sub(1, 8) == "\137PNG\r\n\026\n", "missing png signature") - assert(ret:sub(9, 16) == "\000\000\000\rIHDR", "didn't find ihdr chunk") - local ctype_actual = ret:byte(26) -- Color Type (1 byte) - ctype = ({rgba=6, rgb=2, gray=0})[ctype] - assert(ctype_actual == ctype, "png should have color type " .. ctype .. - " but actually has " .. ctype_actual) - return ret -end - -local fractal = mandelbrot(512, 512, 128) -local frac_emb = mandelbrot(64, 64, 64) -local checker = gen_checkers(512, 512, 32) - -local floor = math.floor -local abs = math.abs -local data_emb = {} -local data_mb = {} -local data_ck = {} -for i=1, #frac_emb do - data_emb[i] = { - r = floor(abs(frac_emb[i] * 2 - 1) * 255), - g = floor(abs(1 - frac_emb[i]) * 255), - b = floor(frac_emb[i] * 255), - a = frac_emb[i] < 0.95 and 255 or 0, - } -end -for i=1, #fractal do - data_mb[i] = { - r = floor(fractal[i] * 255), - g = floor(abs(fractal[i] * 2 - 1) * 255), - b = floor(abs(1 - fractal[i]) * 255), - a = 255, - } - data_ck[i] = checker[i] > 0 and "#888" or "#000" -end - -fractal = nil -frac_emb = nil -checker = nil - -local textures_path = core.get_worldpath() .. "/" -core.safe_file_write( - textures_path .. "testnodes1.png", - encode_and_check(512, 512, "rgb", data_mb) -) -local png_ck = encode_and_check(512, 512, "gray", data_ck) -core.dynamic_add_media({ - filename = "testnodes_generated_mb.png", - filepath = textures_path .. "testnodes1.png" -}) -core.dynamic_add_media({ - filename = "testnodes_generated_ck.png", - filedata = png_ck, -}) - -core.register_node("testnodes:generated_png_mb", { - description = S("Generated Mandelbrot PNG Test Node"), - tiles = { "testnodes_generated_mb.png" }, - - groups = { dig_immediate = 2 }, -}) -core.register_node("testnodes:generated_png_ck", { - description = S("Generated Checker PNG Test Node"), - tiles = { "testnodes_generated_ck.png" }, - - groups = { dig_immediate = 2 }, -}) - -local png_emb = "[png:" .. core.encode_base64( - encode_and_check(64, 64, "rgba", data_emb)) - -core.register_node("testnodes:generated_png_emb", { - description = S("Generated In-Band Mandelbrot PNG Test Node"), - tiles = { png_emb }, - - drawtype = "allfaces", -- required because of transparent pixels - use_texture_alpha = "clip", - paramtype = "light", - groups = { dig_immediate = 2 }, -}) -core.register_node("testnodes:generated_png_src_emb", { - description = S("Generated In-Band Source Blit Mandelbrot PNG Test Node"), - tiles = { png_emb .. "^testnodes_damage_neg.png" }, - - drawtype = "allfaces", -- required because of transparent pixels - use_texture_alpha = "clip", - paramtype = "light", - groups = { dig_immediate = 2 }, -}) -core.register_node("testnodes:generated_png_dst_emb", { - description = S("Generated In-Band Dest Blit Mandelbrot PNG Test Node"), - tiles = { "testnodes_generated_ck.png^" .. png_emb }, - - groups = { dig_immediate = 2 }, -}) - -png_ck = nil -png_emb = nil -data_emb = nil -data_mb = nil -data_ck = nil - ---[[ - -The following nodes can be used to demonstrate the TGA format support. - -Luanti supports TGA types 1, 2, 3 & 10. While adding the support for -TGA type 9 (RLE-compressed, color-mapped) is easy, it is not advisable -to do so, as it is not backwards compatible with any engine version pre-5.5; -content creators should therefore either use TGA type 1 or 10, or PNG. - -TODO: Types 1, 2 & 10 should have two test nodes each (i.e. bottom-top -and top-bottom) for 16bpp (A1R5G5B5), 24bpp (B8G8R8), 32bpp (B8G8R8A8) -colors. - -Note: Luanti requires the optional TGA footer for a texture to load. -If a TGA image does not load in Luanti, append eight (8) null bytes, -then the string “TRUEVISION-XFILE.”, then another null byte. - -]]-- - -core.register_node("testnodes:tga_type1_24bpp_bt", { - description = S("TGA Type 1 (color-mapped RGB) 24bpp bottom-top Test Node"), - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_tga_type1_24bpp_bt.tga" }, - groups = { dig_immediate = 2 }, -}) - -core.register_node("testnodes:tga_type1_24bpp_tb", { - description = S("TGA Type 1 (color-mapped RGB) 24bpp top-bottom Test Node"), - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_tga_type1_24bpp_tb.tga" }, - groups = { dig_immediate = 2 }, -}) - -core.register_node("testnodes:tga_type2_16bpp_bt", { - description = S("TGA Type 2 (uncompressed RGB) 16bpp bottom-top Test Node"), - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_tga_type2_16bpp_bt.tga" }, - use_texture_alpha = "clip", - groups = { dig_immediate = 2 }, -}) - -core.register_node("testnodes:tga_type2_16bpp_tb", { - description = S("TGA Type 2 (uncompressed RGB) 16bpp top-bottom Test Node"), - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_tga_type2_16bpp_tb.tga" }, - use_texture_alpha = "clip", - groups = { dig_immediate = 2 }, -}) - -core.register_node("testnodes:tga_type2_32bpp_bt", { - description = S("TGA Type 2 (uncompressed RGB) 32bpp bottom-top Test Node"), - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_tga_type2_32bpp_bt.tga" }, - use_texture_alpha = "blend", - groups = { dig_immediate = 2 }, -}) - -core.register_node("testnodes:tga_type2_32bpp_tb", { - description = S("TGA Type 2 (uncompressed RGB) 32bpp top-bottom Test Node"), - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_tga_type2_32bpp_tb.tga" }, - use_texture_alpha = "blend", - groups = { dig_immediate = 2 }, -}) - -core.register_node("testnodes:tga_type3_16bpp_bt", { - description = S("TGA Type 3 (uncompressed grayscale) 16bpp bottom-top Test Node"), - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_tga_type3_16bpp_bt.tga" }, - use_texture_alpha = "blend", - groups = { dig_immediate = 2 }, -}) - -core.register_node("testnodes:tga_type3_16bpp_tb", { - description = S("TGA Type 3 (uncompressed grayscale) 16bpp top-bottom Test Node"), - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_tga_type3_16bpp_tb.tga" }, - use_texture_alpha = "blend", - groups = { dig_immediate = 2 }, -}) - -core.register_node("testnodes:tga_type10_32bpp_bt", { - description = S("TGA Type 10 (RLE-compressed RGB) 32bpp bottom-top Test Node"), - tiles = { "testnodes_tga_type10_32bpp_bt.tga" }, - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - use_texture_alpha = "blend", - groups = { dig_immediate = 2 }, -}) - -core.register_node("testnodes:tga_type10_32bpp_tb", { - description = S("TGA Type 10 (RLE-compressed RGB) 32bpp top-bottom Test Node"), - drawtype = "glasslike", - paramtype = "light", - sunlight_propagates = true, - tiles = { "testnodes_tga_type10_32bpp_tb.tga" }, - use_texture_alpha = "blend", - groups = { dig_immediate = 2 }, -}) diff --git a/data/games/garage/mods/testnodes/textures/testnodes_1.png b/data/games/garage/mods/testnodes/textures/testnodes_1.png deleted file mode 100644 index 6730997e2db9623daa1bb458e2b2a7e9156a8093..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>;Dfx76a#Wr#K*`;OXKR zQo)$)(7@()tcqf?4)78&qol`;+04y{Z AZ2$lO diff --git a/data/games/garage/mods/testnodes/textures/testnodes_128x128_rgb.png b/data/games/garage/mods/testnodes/textures/testnodes_128x128_rgb.png deleted file mode 100644 index 060d8e67afc011f33683d706c56a1f13466ca67d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1870 zcmV-U2eJ5xP)p|yj{wfht=m6#=n24OG&2Gu z{D4#yo0%0zL%%vz#e?s=%fB6ijN{c{oBh(OEdpjH25Rq?pZ9=wr>P{=#Kz>#4u>+rNp?IiGhZW{%8b@CI(btN)XVO7)a4CR)Tg+|b_AW(kwZDCSTe!~;LFRJiJ~vSn&oIqQ#;rt&0ri@;5F{Ou zNcHFgsUu;zRF%$}Fr8H}PC%wh8)783pzM5Y9Pday0%}uLoW>?XKwhefH^Pn^5V9sh zK#CY>HbI6jIvN>3&$eekiv!ww{mJozHdzRo z2LYIAGesm10ht2aRco`+;!&HbE{$}tIlcq5fZLgKd}*-3V=iREE z(Su*asK4VYBZgrdKx4gLjfOD>0jSoxN2J~e(CGC;iJ>0?NVDUQBZeCYh)?4_T)i9a zlLDNbm>BLM0Ml2+{IU9~Zeln*fXt%LoN3$^zyV#=vEwJ4c9tozaW~BA$oo8~X?xa8 z+&+h(%%acKG;YF+dW<2VIH{dsMzgw(;^KCsBWYp~CSjV6Y%9W%C=?{qP*x?roH>cj zg}!wZD!gXAwY)^V~=Xy|Pxtd3%n3_`6y9l6(-mO%os<$`* zm)%ZPp$-Ad>!mb|Vg%4~c2Qy|K)?$3Er=l(0n4=;5kndQ%j=sGL+m|Zh5HV~@Ock7 z%W!1RwV0fAbriWQBWZEEn7!O2Qu^u60^GIt(vITdHusBc_Fo&h$|B&Stg$jyP`bi% zMP^XaO5O@HNpB-idZ*Tz40+}#rxa>?c-ZFWgZXM-!;TmV* zfB@zVKN}$|f9&S<253+BHw648Mh5WJzRuvmMt&Z;BjEZNmbXefe&B`IN5Ii+=zU~a zb+`{#H3SiGgu*hZa9@moMGUgxKCH&Y5wM6sFx-djT{v0LUPQ5*MW1z&mUwlkTt{Wq zv;_$8pg?j(pICKOyt))6!abH&)4nUG%d!zEv*`1Vq*YX1dS{Y%c1L7VWwl)CZ4CmF zscL4?XO3~VGUXi^`Hsj-G2>;m!P47$1gun5q@Z>~KydL(7g|b_xQWOH@CDAEgj}v( z)0>y-vP(#j(RGQhG_CFkqXnrXRh=t2Pg{a5bzbmKs~0dH$}kA#L#J`b`JzhMGVx*@%tlS24W!WJQkf1pqLnF*h*FX z5fBu&uM&4s7fYVGqR&f53DqobWz#=xAi0y#=_aEPz(u6UglSWLHnBp|zi^*a&610! zdYW@`C!@cwk43<^h(uaei42Kx7!u|%y&p|%$xPz+wfU3zEI1}rO-|;HYk!_*r)b?u zs{{ePQdNBm1b-0FVRxH?n@FUpp0G@+9KV$ut&$i>^P2ot^8=93Fto24nhyaNVxSove|iM$Z_(y3)8D3c2r6Cu zG;=qiG=*2o#*w*IdNo!#1XOQ} zlYf)+?&e!WvQ_n(cj=V5ReUwpi4ah*vAmgQd%*1h1ougg?4?f3J~jDrTj>@#HHQr` zvo_OD!nclBga=x3`!8tY3LOa!*B!)7%PRd$oy8FlFS48CIEvem`p%rv&*Zrq z0_Hnxmk{*&h;dv6C-F13Bf^~OaIY#=ZA!uu4}G^(wOt7Mwxdz1+Jb}$zVv9v0W0PV zBL=De6Mn?dw;%?Qr3#*V2oS>!1keK=U!E9h5wM0{h8TYS2THf<#Ze@*iU0rr07*qo IM6N<$f(DOnVE_OC diff --git a/data/games/garage/mods/testnodes/textures/testnodes_1f.png b/data/games/garage/mods/testnodes/textures/testnodes_1f.png deleted file mode 100644 index f9a1b69e42cf8596aa29d9b41d4dbfd359248ca9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|37#&FAr*|t3`}W@7(>4PfB)4* zX+hEoHZwD`2^ad=)^Mz2SjgyWx-3mZ`ofaJ$c~ka3#BwX9GI6ydv0iq;4LsYVWQx~ zX`HgrT_!8aA>+V2lLf~PGq?!o?(p=hQBlul=+4`CweW8Id7xbkp00i_>zopr0J8cp ASO5S3 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_1fg.png b/data/games/garage/mods/testnodes/textures/testnodes_1fg.png deleted file mode 100644 index 5d0beb032789800b428fc97c7da56392f187e611..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|#-1*YAr*|t3haASr4&paTxSb+ zXylzC^usivOXymIfYQyjhYJ|}xfZxxa_~+QQRg*cU~utyCb?{5*)^bc22WQ%mvv4F FO#m+e9V`F< diff --git a/data/games/garage/mods/testnodes/textures/testnodes_1g.png b/data/games/garage/mods/testnodes/textures/testnodes_1g.png deleted file mode 100644 index 529298ece1d50bbfab913ac99e6a68c388d8bc0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|`kpS1Ar*|t72Zk`4!k@(JU5OO zu2gemcF}a?<+!S1o#~R5;J|vtLyE_RxhRK$LGwo;+lH)}tU#>{p00i_>zopr04(np A-v9sr diff --git a/data/games/garage/mods/testnodes/textures/testnodes_1w.png b/data/games/garage/mods/testnodes/textures/testnodes_1w.png deleted file mode 100644 index d24e571cc90265d6dd09a15d3e8cb20bde91745a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|4xTQKAr*{g&oZ(da1e1mxbuHz zb@P3v4GF=z-xQg8cAg2|Tluw4{92jQp(T46wlLk}SSfZXv*`-=O2IXM)xT6TH^=AC Ud;iH)251(8r>mdKI;Vst0AkQ89{>OV diff --git a/data/games/garage/mods/testnodes/textures/testnodes_1wg.png b/data/games/garage/mods/testnodes/textures/testnodes_1wg.png deleted file mode 100644 index b2eba0e9a60e0337062d4896c2bb6b781523b258..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|j-D=#Ar*{g&oZ(#Fo-li{Qs}K zHa+6VBKBymzY@&y#>y+>ul4_qieP=nHQ_W<`dS7X!5H-&@?1Mq)_65m-{-F6Psrb) Ux9;A$MxbE~p00i_>zopr0L0}c82|tP diff --git a/data/games/garage/mods/testnodes/textures/testnodes_2.png b/data/games/garage/mods/testnodes/textures/testnodes_2.png deleted file mode 100644 index 6c87c868df0db96160b5fadaef616a5db8ee3ff4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|=AJH&Ar*|tKk_p@g`}jUBm@{{ z>nzJM(Myzmv4XK*o@2FJ$KxR1s11_@_<1B6qzunGm?#`)V{l&M^nr!Vs1;}ggQu&X J%Q~loCIDWb96$g7 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_2f.png b/data/games/garage/mods/testnodes/textures/testnodes_2f.png deleted file mode 100644 index a26f840e3e35cc9e8a0593a131a641e02502a9b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|A)YRdAr*|t3`}W@7(>4Pw=C{( zaX1>lo0F4Mam7(Y!6e}nBWt6IpY(+g<;|QK2c|6RWiy)Va^Z4I=wt3MCc$<&PJ@Q4 n{37bSKGF{!rQC8T`ozYtcwU`Zc=ha9p!p1*u6{1-oD!MW4D)mZzHj`$Wi3z} NgQu&X%Q~loCIED>A{_t# diff --git a/data/games/garage/mods/testnodes/textures/testnodes_2g.png b/data/games/garage/mods/testnodes/textures/testnodes_2g.png deleted file mode 100644 index cb9060f7b9f45b814a0f00b7eb13dfe95d897a09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|rk*a2Ar*|t72Zk`Qc@BE46}8X zWtr$DO21ga*e}nq+O6YpkZ;t6Ndo*l5)D#@XB|uwjU5fdinu6;4R_>Z62$75x&TR6+&AGO)5?bEvRtG@AD$OK!Fl=H2>9x<5- h-ck_BY394q#(p%g-uj-Kg&xpg22WQ%mvv4FO#sisFH-;j diff --git a/data/games/garage/mods/testnodes/textures/testnodes_2wg.png b/data/games/garage/mods/testnodes/textures/testnodes_2wg.png deleted file mode 100644 index 108dc87bb7e2a89f110ce607604b6e9b279d452a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|ex5FlAr*{U`x)673%deiNt56bi%PMV)k jTfFU4yhDrlhKI~aQM;In-reN{n#|zo>gTe~DWM4fhUhQV diff --git a/data/games/garage/mods/testnodes/textures/testnodes_3.png b/data/games/garage/mods/testnodes/textures/testnodes_3.png deleted file mode 100644 index 05b45629afb1547e6c062c465e3305f2385e7ae7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>lw@cK<38E-E2Tg&eO#) zq=GTof$a=0j}9LXj{-}Iv!qUfnZT9*%t8!aS}gs?^abVtRWf+G`njxgN@xNA;o=qW diff --git a/data/games/garage/mods/testnodes/textures/testnodes_3f.png b/data/games/garage/mods/testnodes/textures/testnodes_3f.png deleted file mode 100644 index d007ee4457ab151a765be19ab6b251004af7c1f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|sh%#5Ar*{UCo!@e2;gx({^BqH zhSzJa-)PE{`UHx3v IIVCg!00fyj=l}o! diff --git a/data/games/garage/mods/testnodes/textures/testnodes_3fg.png b/data/games/garage/mods/testnodes/textures/testnodes_3fg.png deleted file mode 100644 index 01e4276b1b0ebc1728a4dd1a4732d60b8bdbc25d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E0BKs_N}4W%LpJ#-P6S} zq=GS-q3KsW&&T}|S+68keK)+)EHHsLHKh550;^z{gU|{whUq5+wx@>P_XTQU@O1Ta JS?83{1OU-nAAtY> diff --git a/data/games/garage/mods/testnodes/textures/testnodes_3g.png b/data/games/garage/mods/testnodes/textures/testnodes_3g.png deleted file mode 100644 index 5c84f5882b9a185af33e59270ff59ae890f0bc39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|dY&$hAr*|t72Zk`Qc@BL4Exzy yvP{epr8CwrUgrN&F0@R^>KEg3Hnv5KmLTC diff --git a/data/games/garage/mods/testnodes/textures/testnodes_3w.png b/data/games/garage/mods/testnodes/textures/testnodes_3w.png deleted file mode 100644 index 8b435cf013556c82faea0d69b3e3901ac7f71c47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uK)l42QtrC{y&3Z+LPAJTkW;$hf=yNmJgou(-K@Q>6IdCX8u+LGy&0hhRL$V&>gTe~ HDWM4fDn}p} diff --git a/data/games/garage/mods/testnodes/textures/testnodes_3wg.png b/data/games/garage/mods/testnodes/textures/testnodes_3wg.png deleted file mode 100644 index 9ee9006674e2192e3826177046228cff06c41391..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uK)l42QuHjefx^x=P4jd z$|Q-*^C$%p731FPw)7(8>o}P)78&qol`;+09&LQ Ac>n+a diff --git a/data/games/garage/mods/testnodes/textures/testnodes_4g.png b/data/games/garage/mods/testnodes/textures/testnodes_4g.png deleted file mode 100644 index 8f144fae037ca63b99d934ff197e2f6d597a916b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|YMw5RAr*|t72Zk`SEM8)6mnR~ qADAXET(Yq}WFpX)$+n2m5~%L}uR=Bt-=oby9SokXelF{r5}E*yViy4b diff --git a/data/games/garage/mods/testnodes/textures/testnodes_4w.png b/data/games/garage/mods/testnodes/textures/testnodes_4w.png deleted file mode 100644 index 214e0df9d29100d0629b2e70e28fd4de773377e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uK)l42Qoc^|L^gcVh>~) zdAc};R4^tBJbCdVK_Db3C`o{IqlBZ5n?N_C4qJMug9MkJ!Zhv@2?8NOK}iCv8zmfd+yuHAb=cBN9VEE)6sB=^h%zN@Y>3b)xGBKk Xl);~0>@>L?sGGsl)z4*}Q$iB}R~;kl diff --git a/data/games/garage/mods/testnodes/textures/testnodes_5.png b/data/games/garage/mods/testnodes/textures/testnodes_5.png deleted file mode 100644 index 1ef1c728ca262766ed4d4e897dbcf3844e75246f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|nw~C>Ar*|t2|wy*tC)zGEMQt> wqEP&DRb!ET!lHwV7)1lLmvyo|xxv7&f5%LxHIp~q1!`jOboFyt=akR{0CFN6$N&HU diff --git a/data/games/garage/mods/testnodes/textures/testnodes_5f.png b/data/games/garage/mods/testnodes/textures/testnodes_5f.png deleted file mode 100644 index a4162db571367f98346c0953c3070b6210d39102..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|$(}BbAr*{kCpEGiFc5Hd-+BMt z-w*o|t&6p6v=$3CKh?eVOp7;q?!5E4yAJWXxY!DJ{<*`*8dlYDEqoHMCWF*1YlWAS zc~|XZF7RS&xXv#9q-jlkfZN(kA7zopr E0M98lwEzGB diff --git a/data/games/garage/mods/testnodes/textures/testnodes_5fg.png b/data/games/garage/mods/testnodes/textures/testnodes_5fg.png deleted file mode 100644 index f21acbb18f9fd4347155df54e197cc249146d498..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|CY~;iAr*|t3haASr4&pAuCRr+ zWir>D-q^9I@a5{pB>M!WT^S4R@J~_a^^tz?DCMRD8w10^oU>9|6(+NQ`WZZ3{an^L HB{Ts5f$JXR diff --git a/data/games/garage/mods/testnodes/textures/testnodes_5g.png b/data/games/garage/mods/testnodes/textures/testnodes_5g.png deleted file mode 100644 index 30da4793a153a639f718467ac465032117c34f15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|nw~C>Ar*|t72Zk`Oi~g7jDb=U vc9vXq*eP$o7;7@&Is2*PS&bPEeY^}icc#8dw%o-B)WqQF>gTe~DWM4f^PCxH diff --git a/data/games/garage/mods/testnodes/textures/testnodes_5w.png b/data/games/garage/mods/testnodes/textures/testnodes_5w.png deleted file mode 100644 index b4cb42426ab0ae0d26f35c3badefe4cac2cf8cf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uK)l42QnG{-~Lk)UkqfZ zd%8G=R4^tBJbm#ZK_DO~sA+@5Lmjq|F!q*(0!&Gk2O@P6#GJ$!eBSXt+BTo%CrGoW LtDnm{r-UW|(r+RX diff --git a/data/games/garage/mods/testnodes/textures/testnodes_5wg.png b/data/games/garage/mods/testnodes/textures/testnodes_5wg.png deleted file mode 100644 index fac9db28edfbf19a5bc2b6fceb8128b23a283651..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uK)l42QuHjefx^x=P4jd z-P6S}q=GS7;OUDO2?7B@K}{PZ9_p}#gt50Q6ktlSJP@gqAm${-;Pa0E(YE<4KY>~p NJYD@<);T3K0RSy_BWeHu diff --git a/data/games/garage/mods/testnodes/textures/testnodes_6.png b/data/games/garage/mods/testnodes/textures/testnodes_6.png deleted file mode 100644 index 805813e57509bf2bb6f7b4cbef5bfa5267243580..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|+MX_sAr*|t9Df&i2}wywNdzzk xN{vW}QAUu=+(W?0x@=I3@@3Unm?Ig z>!e1u0}edSjlciDw>1cqg@y8H9FY`%rh~_ZQ!1i$}9;qZ`Z+pn_uQ|0!?7>boFyt I=akR{0Ivrg{Qv*} diff --git a/data/games/garage/mods/testnodes/textures/testnodes_6g.png b/data/games/garage/mods/testnodes/textures/testnodes_6g.png deleted file mode 100644 index a88f4c9f8f4df85700d11b8174e4e9e3427d4656..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|nw~C>Ar*|t72Zk`Qc@BDjDb=Q va*|9ZyiwWpJMn?(0;a4ZCd?NbWTYAXoQygb$RYk4sENVT)z4*}Q$iB}8_XJd diff --git a/data/games/garage/mods/testnodes/textures/testnodes_6w.png b/data/games/garage/mods/testnodes/textures/testnodes_6w.png deleted file mode 100644 index e6bbf97d977a3fd3091bcdeb0dbd3af99752890b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uK)l42QovysOo>(`UA*P z_jGX#sbEYNc>3Z+fmdKI;Vst0N0ozUH||9 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_6wg.png b/data/games/garage/mods/testnodes/textures/testnodes_6wg.png deleted file mode 100644 index 29ca933e0aa8bb5307d63c289aaaff44821a9794..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uK)l42QuHjefx^x=P4jd z-P6S}q=GS7;OUDO2?7B@K}{Q29_p}#gt50Q6ktlSJP@guAm${-5b{pI=<)l`J3uWA Mp00i_>zopr04&8LmH+?% diff --git a/data/games/garage/mods/testnodes/textures/testnodes_airlike.png b/data/games/garage/mods/testnodes/textures/testnodes_airlike.png deleted file mode 100644 index 5a5664a2ae2458eaff7ff3038b0278cb3f637fb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~OeH~n!3+##lh0ZJd7_>!jv*C{ m$q`$-8XG4rY;4ppG7({zpupNzTxdBNq|MXS&t;ucLK6UCCl(?A diff --git a/data/games/garage/mods/testnodes/textures/testnodes_allfaces.png b/data/games/garage/mods/testnodes/textures/testnodes_allfaces.png deleted file mode 100644 index c0a7dc550c077d44a79e87a1b5ef72c8e98d344f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1XA9fE{-7; zj8iX#iaIEYuwJ}uFU7cmd4D;tmH&s{bd|lG>zAzKKX|vG&NNk`#4!{-APz?J^B*Jcu!Y9mvv4FO#sKbZR;5g!S sJEVG|u-h?-mwyG5{X?qvMtoqOr1$L}kA1*jflQDEp00i_>zopr04K05-v9sr diff --git a/data/games/garage/mods/testnodes/textures/testnodes_alpha.png b/data/games/garage/mods/testnodes/textures/testnodes_alpha.png deleted file mode 100644 index 157fa7386865f5ec8a4cc616809dea4085890a2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|>Ygr+Ar*|t2_3v_3z=7QD6R0? tk(Kn7L37fD6>KsYA#gQu&X%Q~loCIJ0)8S?-D diff --git a/data/games/garage/mods/testnodes/textures/testnodes_alpha128.png b/data/games/garage/mods/testnodes/textures/testnodes_alpha128.png deleted file mode 100644 index 16babf6c774bd887c6004f23702490b4c9fdf5ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{+=$5Ar*|t4?Gfn@E=mzE+OS{ z(4dy*#H^EsEsRGNu<+M2yYXK5!M}K+#N>VhhJ_4s+Y;Y=;xS-z5|q?CaK&Yh_kx+6 jciA4rFkJF3EMsGMIH}CY@wi(x&}arvS3j3^P6fIprkTdZZS7ly`GBXzEX6Sf!ocufyXKa$jl220%q;m?^+3?T(9qCuD^mME zP!6c`|Nkbd&>Wyb-jX1{UlFzk+?jy&z-Nqf#*ou zJ!T%=KmQl&==chX`)ypKV#H9A;V}30w)s;IFzPS#p0`lJA}m!oWJSAsfiKe$FUd;+ z6RjU|ZfCf2?O%6Y9p`<;ZO;G7SG*0l&3L=8lb5@Ym$iFhycfu=p00i_>zopr0BGY~ A7XSbN diff --git a/data/games/garage/mods/testnodes/textures/testnodes_alpha_compositing_top.png b/data/games/garage/mods/testnodes/textures/testnodes_alpha_compositing_top.png deleted file mode 100644 index 64b5664d8df4f1599d23330c685f54e730bccf48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar-fhPfVKs^?%rsZ}o4Z zy|-mtzw;~KPXDvLfXSc#=ReGEzopr0KU98tN;K2 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_anim.png b/data/games/garage/mods/testnodes/textures/testnodes_anim.png deleted file mode 100644 index d321fe8577e40cd6fe6c66c8672b9322e3df4c61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmV+t0qy>YP)+JYz0h0I#$9p(nz_t<(DJwe7_2EI^)pTKk|4Nqw#uZf)|62tm& z$4@99&40n(L%OdZ@QqXmD5@G@Dui0<6?h%!Fg=J*&>fC1pp+nlpkIyn%NLA(`;fDw zk&wm_DZ`||Yo@wGSil$+uTb&+2aaS+rNC;hz-l4zSN}N(PPY%QTqKQzXEqLS9g`L| zvKDyPJq6TNkoF%*Kc%+kAUNGV%uA6p67cMAmx;`aX<>8MT?8Xqz}&jS@dfWWD7x*# Y7a!BrN=(AEk^lez07*qoM6N<$f;qi&^Z)<= diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attached4_bottom.png b/data/games/garage/mods/testnodes/textures/testnodes_attached4_bottom.png deleted file mode 100644 index b7a7a2fdb7a8cb829bd2bc0104fe02a79e6e013a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|PM$7~Ar*|tFZS1;GSqFWn8bKU zY2K0pZB1W4e^k&hdvLwseA|+lu?1|5(gvm%&ag=+7~ W%cq?`#&-y48iS{+pUXO@geCxoRw$zY diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attached4_side.png b/data/games/garage/mods/testnodes/textures/testnodes_attached4_side.png deleted file mode 100644 index 869e0736a8acfe2c5f9de049b6d62937bc885eee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|W}YsNAr*|t5ug6EdU7mTnDDno z>EeWo6HGR9pOdhWdeC9wKY4LthD*%#EeWo6HGR9pOdhWdeC9wAMAM8peu8d0E7Fv*9HGG)Kh@k7(8A5T-G@yGywqVd>$GA diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attached_bottom.png b/data/games/garage/mods/testnodes/textures/testnodes_attached_bottom.png deleted file mode 100644 index e01ae576f5df74b8c0ce885a63826e94fdda2839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|vYsxEAr*|tJMPzOoi%K$n8bKU jX`YOgSgTe~DWM4fDkK)i diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attached_side.png b/data/games/garage/mods/testnodes/textures/testnodes_attached_side.png deleted file mode 100644 index 9459cbb0568dde882a4082a42a50eec9b7dc9c9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|nw~C>Ar*|tKlVSd^yFBQSbNY$ wNzl}^CrjdL!T$dtvyyo}sxY^>+Hf+QdVcHB>1%Q;fSMRQUHx3vIVCg!0GAIPX#fBK diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attached_top.png b/data/games/garage/mods/testnodes/textures/testnodes_attached_top.png deleted file mode 100644 index 0148b41e069734f5937e4976e2dd95f9b3c35e85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|a-J@ZAr*|tKlVSd^yFBQSbNY$ k>7qln#8rb;jVde*Hi2(toTrIi2dZT7boFyt=akR{07OX^;s5{u diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attachedf_bottom.png b/data/games/garage/mods/testnodes/textures/testnodes_attachedf_bottom.png deleted file mode 100644 index f9ffdfdcbb6298909c032a27759a2a0e65c03441..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|&YmugAsQ2tU+mw1$M9@>#iT}+ zs}7SIYoxiZnLl=n$T_f{aXzo7arc7`4e1G21+$qm>kgFg^X4d=j XtG97($C~9p;}|?${an^LB{Ts5iH0Ys diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attachedf_side.png b/data/games/garage/mods/testnodes/textures/testnodes_attachedf_side.png deleted file mode 100644 index 93c0e82a8f4330fb1b96b891775792742c5b01f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|=AJH&AsXkCBR>6S@a$mh;J#)q z+}YOCwq&Mjfy)}UNx2G_J-2L0>~M|w|MzKMrrnXrJSr>MCNV_y?B0BZ=i4rz5e%NL KelF{r5}E+H3?(uE diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attachedf_top.png b/data/games/garage/mods/testnodes/textures/testnodes_attachedf_top.png deleted file mode 100644 index 978ef614052e13d8392e5f876c7bb5f91ebfd15c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|dY&$hAsQ2tBR>6S@a$mh;J#)q z+}YOCwq&Mjfy)}UNx2G_J-2L0+;Ehc*JMHq!}8B(S*3S{uLbI4@O1TaS?83{1OPJ| B9})ln diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attachedfr_bottom.png b/data/games/garage/mods/testnodes/textures/testnodes_attachedfr_bottom.png deleted file mode 100644 index 21ece33dcc09655cc25a2aa1e45c9092c2d01bec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|hMq2tAr*|tJN9q4*S#~bViMya zrFlyZw0#Zc{-B^^_TajMzO-Ae#m;4-{EOR3aFXE)78&qol`;+ E0Isbc-~a#s diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attachedfr_side.png b/data/games/garage/mods/testnodes/textures/testnodes_attachedfr_side.png deleted file mode 100644 index 1e6a69640153ed229fb5b12e27c20a2a9fd62a93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|dY&$hAr*|tKkAD)Jvo*n{=LGa zbg|=#!K#N(W`)^wFiF3A|JI+oTxDKL!-fuZM)$_cYs3pRt^##3c)I$ztaD0e0sv>| BAT0m@ diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attachedfr_top.png b/data/games/garage/mods/testnodes/textures/testnodes_attachedfr_top.png deleted file mode 100644 index feef552773cd227a81b08ebc10c44af4d8a9e49c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|DxNNmAr*|tKkAD)Jvo*n{=LGa rbg|=#!K#N(W`)^wobyxSWMtT&|8&iR<1c0d)iZdy`njxgN@xNABpV!i diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attachedw_bottom.png b/data/games/garage/mods/testnodes/textures/testnodes_attachedw_bottom.png deleted file mode 100644 index 488ad23a90e3675a73e6e95d7dfd9c3f0983b06d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u7~>XM>?j>ELh)~H1mH$ z?H-`Gp{I*uNCjiE01FeFxI)8*J7H_H60Hs&IB@#Gw=C11t-obkj;4J2c_!U}dm-OK c@iR;e3Nu8kFVdQ&MBb@0E7H1%m4rY diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attachedw_side.png b/data/games/garage/mods/testnodes/textures/testnodes_attachedw_side.png deleted file mode 100644 index a02facbc721cdb6e041a4f5467c65febcf542683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|j-D=#Ar*|tJN7@Z_vBcTn0ByA z>7u}e3$sjw&$)>&iD7nlK^u%1; UqHsXH5NH^Kr>mdKI;Vst094B&Y_ z(0~8eukZQ!YltKnoE+08^xr3*WFSeklVcjAlVh5nU*)Dv?fUwj47h>3yuqeT?S6ih zj1&6rLs$GO{bD4kr`VL`na`AJpbEB#I_~{iy(A+!}VlERzwVz)l16}}8 zgJOfcyaB|#kDp%s{P`8a;O7&AXduCckDp$B{PYTo4H6Qna8r?u|M~MPKc5&i{2(Er z%D}(?4=6MS+y+EET)Mmqj|~s*pM{vq1h-31*X_amv$#lv%Sla3B&SvYNAMiA19jSy P00000NkvXXu0mjf6Fqk4 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attachedwr_side.png b/data/games/garage/mods/testnodes/textures/testnodes_attachedwr_side.png deleted file mode 100644 index 382e2dafa72bbea3478b4a8f6962d2fe7ad72917..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|C7v#hAsXkCW41l9XVz?JZESq_ zWhSr7Dl=2ggd_#Q3&Dqv`>!`xYRIa&p>e)HPtrXg_W@6xo#CY1hS%;#m}jX91W)XB z-`4&p;i!q|S!tag&7zkT#C#N){HnhGI(W4E_S2`l9g5G-_@);W`OLmhKfgkVVUKud Uu5O+4WuW~Gp00i_>zopr0Q>Skk^lez diff --git a/data/games/garage/mods/testnodes/textures/testnodes_attachedwr_top.png b/data/games/garage/mods/testnodes/textures/testnodes_attachedwr_top.png deleted file mode 100644 index 39ea67b8b3fd32226a6e7d8381dc8ed8654e492a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|37#&FAsXkCW41l9XVz?JZESq_ zWhSr7Dl=2ggd_#Q3&Dqv`>!`xYRIa&p>e)HPtrXg_W@6xo#CY1hS%;#m}jX91W)XB z-`4&p;i!q|S!tag&7zkT#C#OBj+-d2JSola&qQM<_ohZ=pj`}}u6{1-oD!M<+XOSD diff --git a/data/games/garage/mods/testnodes/textures/testnodes_blocking_pointable.png b/data/games/garage/mods/testnodes/textures/testnodes_blocking_pointable.png deleted file mode 100644 index fa021041a6fb026f97bdca163edc8f39b11eaaf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0T36GBPc~;Q#;shUrFU zfPBW1AirP+hi5m^fE)`?7sn6|+2n+c|CJ9Y9Aa=`Q%58^j@*QkjzBAu66X12r@?mB;F#W4JqwGgXpk@Y7S3j3^P6GAr*|tKh8I_)EyA?`{=lm m@t~sH=Y%T;QvA)%%nUWs)dGIXKXw7tGI+ZBxvX%a=e!$%mpjD?rplw{yP_|#l%%{^nFJ_b)$KbLh*2~7Y4pdHZw diff --git a/data/games/garage/mods/testnodes/textures/testnodes_climbable_nodescend_side.png b/data/games/garage/mods/testnodes/textures/testnodes_climbable_nodescend_side.png deleted file mode 100644 index d1c472673833349efa74735f63d442a114e27fae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Wu7jMAr_~TD^7m+Z_nXA%g7+% zu!CjHql8+X787UDMtDnm{r-UW|2N^sF diff --git a/data/games/garage/mods/testnodes/textures/testnodes_climbable_nodescend_top.png b/data/games/garage/mods/testnodes/textures/testnodes_climbable_nodescend_top.png deleted file mode 100644 index 63da83fb1bfd57cfa0f26bbe45f421282f372e0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`I-V|$Ar`&K6(>LZx94DHWY&~e y*54>|_C(u+rGk?EQU+NE3Je<_opH%5V`G?n`;T~3j$kNIAA_f>pUXO@geCy~jvbi* diff --git a/data/games/garage/mods/testnodes/textures/testnodes_climbable_nojump_side.png b/data/games/garage/mods/testnodes/textures/testnodes_climbable_nojump_side.png deleted file mode 100644 index d5ca13033cce6774ec2ed2ad6ffe907d4b7489a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`*`6+rAr*|tKh`h)Cf}m$D=Fb| zprAH^Ew0u6gY=<>cw?T&VTTJgIQ_BDJNtvD@dc|Oi>b0f8)HJ#9Rr6Q4He88Pn!O> zJen<}FW{rTrI67{SZ($K?g^sFmuBcGyr^fI$-Agyg5r-S8t2Y21e?DLyZ=*fJ diff --git a/data/games/garage/mods/testnodes/textures/testnodes_climbable_resistance_side.png b/data/games/garage/mods/testnodes/textures/testnodes_climbable_resistance_side.png deleted file mode 100644 index 860e998c14a2bebcf1f41573cf4b92836ff3da72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar`&KKmIpAwC8Z2Wn?g+ zDe;#CN9Hkgelvz+j7|Rydh)pKoF(|eI{vpyHuyN3F1qkymSdG8OBeSAljIE-c@Df~ zN;<@Fm^DSBp@7kHBSSIcQ8ob|gC9>aA2X%+?zq7c%Mje-m%O84!e>sk)GlM;r8gxR Yrs@e~@}Gzo1v-Jj)78&qol`;+0M0`?_5c6? diff --git a/data/games/garage/mods/testnodes/textures/testnodes_climbable_side.png b/data/games/garage/mods/testnodes/textures/testnodes_climbable_side.png deleted file mode 100644 index c56ea90d7814c10508a6fbfef1ad5f3afd18df73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`v7RoDAr*|tKmIpAwC8Z2Wn?g+ z;o+|XJWgC6PYP~noxm;07uNCr_*zNFWGSYL+)5uZj-@P?WKcW7%iO}PVbD+{e&IIv yj2UKn4jG41CQq4Qkl`a9FmHMh(P7{ryYh1JYRV$P6d`(oZubP0l+XkKkKH6} diff --git a/data/games/garage/mods/testnodes/textures/testnodes_drowning.png b/data/games/garage/mods/testnodes/textures/testnodes_drowning.png deleted file mode 100644 index 57ffc8fcf996e68f091dcc05e758e8eaaf2fa132..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E6b$kK<2#}-!y;}Q%R6t z@PCG<+YP*cJT*@j$B+ufzopr03jzKWB>pF diff --git a/data/games/garage/mods/testnodes/textures/testnodes_fall_damage_minus.png b/data/games/garage/mods/testnodes/textures/testnodes_fall_damage_minus.png deleted file mode 100644 index 88d3bdf58598e14081f21d398ee50f0fefedb24f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|)}AhoAr*|tD^vv=O#Zkt@klU4 ziY;uE*!*%O0u+RK+_VB;W QKyw&8UHx3vIVCg!0MyeZ82|tP diff --git a/data/games/garage/mods/testnodes/textures/testnodes_fencelike.png b/data/games/garage/mods/testnodes/textures/testnodes_fencelike.png deleted file mode 100644 index 84dea1b7c2ee318672987049eec68475bfc42820..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|ik>cxAr*|t89viBxt=S{OIhKc npx^sMZJvykSgTe~DWM4feG?d* diff --git a/data/games/garage/mods/testnodes/textures/testnodes_fill_positioning_reference.png b/data/games/garage/mods/testnodes/textures/testnodes_fill_positioning_reference.png deleted file mode 100644 index 2ecd969550500f8fefe0d0c394ccfbd4e92722d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>;M1%8UEk#Y~Ju0C?e?T o;uunKE198bmsJT1i^UN}>HXXnS&wE103{hbUHx3vIVCg!0KC{3c>n+a diff --git a/data/games/garage/mods/testnodes/textures/testnodes_firelike.png b/data/games/garage/mods/testnodes/textures/testnodes_firelike.png deleted file mode 100644 index ee59b0db1be0b51619ad304cb17f44e41e4af283..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uGi)>T(f1UP-3{2$1poW zp#&)I;_2cTQo)!kz{|^&@pF}Jz?*;Z3W5JcJy;qz v%@hn9->N%bWBWJVf$7NI^g4)z4*}Q$iB}oT@G$ diff --git a/data/games/garage/mods/testnodes/textures/testnodes_glasslike.png b/data/games/garage/mods/testnodes/textures/testnodes_glasslike.png deleted file mode 100644 index cf3e35414dbcb42b1d0b52990f97d2fe095251b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X5a_E{-7; zjLARFANcU)fBhptW)5LqjjIg_$*Y_%Is}-W^pjGPa(mpU!oqMT`B3H+^_WK>-JY&~ JF6*2UngA0mAgTZW diff --git a/data/games/garage/mods/testnodes/textures/testnodes_glasslike_detail.png b/data/games/garage/mods/testnodes/textures/testnodes_glasslike_detail.png deleted file mode 100644 index 30c9586e84022c1817fb88f90fafad462589a706..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr*{gCo{4+81gt5zhtz& z`Oe7U{KtJkbq6l=|GhBPMSGg>nNBvY3-_W!&U3}xGkw0)Q7@34vD9SZ=G4O{Kf7JO z9wqcZiScj7Eakt z!I=Ex{DBX9C$O*_`rpYmC3{9%yH2lK-vx&N)02Kua#C)O8%FVdQ&MBb@0P8Ly{r~^~ diff --git a/data/games/garage/mods/testnodes/textures/testnodes_glasslike_framed_optional.png b/data/games/garage/mods/testnodes/textures/testnodes_glasslike_framed_optional.png deleted file mode 100644 index 37de77dd1aa7e6d027ade771dc898f4fcd8bf6b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?w&4=Ar*|tKh7WcaR1W`^_w#o zT^JadEhUaNEI%RPtJr3v$Lvt@_W!*9GuRSNB}*|(bbP0l+XkK90Mnf diff --git a/data/games/garage/mods/testnodes/textures/testnodes_glasslikeliquid.png b/data/games/garage/mods/testnodes/textures/testnodes_glasslikeliquid.png deleted file mode 100644 index e1e96ffb9f62b37173e542bf05a0d84b58d2ef2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`j-D=#Ar*|tKh7Wcu)p$py@6fr zFB4{t=ARrr;qw@MCUCAuVmRSBqiF@hbQ=%-84AwEhZ-9Bngf~LE;Alt=-On=(9U+| V!ig*Y)q#dFc)I$ztaD0e0svo?C-wjU diff --git a/data/games/garage/mods/testnodes/textures/testnodes_light.png b/data/games/garage/mods/testnodes/textures/testnodes_light.png deleted file mode 100644 index 4ba0081c3dc0544e0fc5b3c3a692b3744ab52f1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X5a_E{-7; zjLAR#|F>t}$gu3kRpAuJ4vw;eg4_c4)YtTs@G6T=nDfKK?;b<@Q^mOlSEO78>GpK> Kb6Mw<&;$SqK_OcJ diff --git a/data/games/garage/mods/testnodes/textures/testnodes_light_1.png b/data/games/garage/mods/testnodes/textures/testnodes_light_1.png deleted file mode 100644 index 57adf5a4a89572114625655181540ac70574685e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`sh%#5Ar*|tKloXAo-nrD3-_0} zz}wjUcyhAD9EK-rd8N$^PMkW`WN>4?gOrNfmNbKH+qSV~A2Vs#plHB+z(kQ*K+)?4 zw?q|(Btv;)Umsr{vp~ZJ#up9O*b>?fK41|^SL@nr%&_*$ft189ZJ6T-G@y GGywoSv@(ML diff --git a/data/games/garage/mods/testnodes/textures/testnodes_light_10.png b/data/games/garage/mods/testnodes/textures/testnodes_light_10.png deleted file mode 100644 index 483834770e84a3072c88a2a20d48d423b5c1d50f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`QJyZ2Ar*{gCo{4gFyL|h|JQ%A zGp|njiER%bDyO9WT5+L@Uv-sqEz5VCCxY*Go4@r8T^TpSU?QhW%RJ`<0moO&-xkZA v@L_tlh0*hj9z!$39|40cs;5tH*>g@@q3@Pjq4$LVpe+oZu6{1-oD!M7c&cgqa^Z81LJ+CtAB5sOPSD5XvC<_cc?x x9P0;r*(4tQ%s-k8mpCf?lk@h>KDm3YwcPtl3v4g_{{Xay!PC{xWt~$(69AaTHR%8V diff --git a/data/games/garage/mods/testnodes/textures/testnodes_light_12.png b/data/games/garage/mods/testnodes/textures/testnodes_light_12.png deleted file mode 100644 index bc7946d09ec5a15edcceb96fda9590dd3cc9833c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`fu1goAr*|tKloXAo-nrD3-_0} zz}wjUcyh8t3d2MF4fh31m;}~KCNgwcSn4U{FetfjRx`%($1y+n*dw4U(%Zu8z;0sB kV9dj&y1>FXaL!!DElY1b4l)Vk1RBoZ>FVdQ&MBb@0AdIx4gdfE diff --git a/data/games/garage/mods/testnodes/textures/testnodes_light_13.png b/data/games/garage/mods/testnodes/textures/testnodes_light_13.png deleted file mode 100644 index 0b63c84a65bd79fd05e5f57e84fac1eadaf57f14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`0iG_7Ar*|tKloXAo-nrD3-_0} zz}wjUcyh8t3d2MF4fh31m;}~KCNgwcSn4U{FetfjRx`%($1!i%*%e?SWX8aI;SR$Y k1BodOkIuLhma#Fcy?OD?9J^(&fMzpzy85}Sb4q9e0GZY)&j0`b diff --git a/data/games/garage/mods/testnodes/textures/testnodes_light_14.png b/data/games/garage/mods/testnodes/textures/testnodes_light_14.png deleted file mode 100644 index a817bd3946eea313015daca3408ca40310ceca13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`-kvUwAr*|tKloXAo-nrD3-_0} zz}wjUcyh8t3d2MF4fhjFHc4pC;*@sS$!*{)a+$%TVIBK=#v3uN8d99n4SX;14=i92 eNmuLIY|Ow_bo7Vg*^&gHu?(KBelF{r5}E)J!6(81 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_light_2.png b/data/games/garage/mods/testnodes/textures/testnodes_light_2.png deleted file mode 100644 index 852eaeff17dd01be999daad14b8829005ba934bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`@t!V@Ar*|tKloXAo-nrD3-_0} zz}wjUcyhAD9EK-rd8N%5GD8?dl%tF#qNAe^-;`hzFk?w%5O`q9Ah@VyZ^Od&21X8F zD=RAnL#K-#HyBDBvY8DICloMs84Dl1Dar7|dVl}lPp+qcRxx4T z4@?!*)Y=%&vbHRmxPkFS!!ovp#r(EX?CJ|Fj05M)WeoG$;dfta{ac`Y44$rjF6*2U FngG^JHGKd8 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_light_5.png b/data/games/garage/mods/testnodes/textures/testnodes_light_5.png deleted file mode 100644 index b6eede0ae902569625cfecbc4a64a3ee519bd53a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`v7RoDAr*|tKloXAo-nrD3-_0} zz}wjUcyhAD9EK-rd8N%5GD8?dl%tIAFi7m)xKYq$@;jy#YJ1oeoTh9LH~8|vR6$LR xEl)d+S)gG9N#X6B`_$ta8@%0^EWx~;TEXU_{OxB l_W)1xK~9ZxJ|gMq49CMR^d9wyP6wLK;OXk;vd$@?2>_TsC#(Pf diff --git a/data/games/garage/mods/testnodes/textures/testnodes_light_9.png b/data/games/garage/mods/testnodes/textures/testnodes_light_9.png deleted file mode 100644 index 2aa9023585aba2055ec03f3ab5f34f89b01897d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`F`h1tAr*|tKloXAo-nrD3-_0} zz}wjUcyhAD9EK-rd8N%5GD8?dl%tIAFqoKi>N#W_%4Se<;jCtK=8t1;VDNiv-cY13 v(8pTD+mN_JLX+Vx>lW{ABI#;fn~fR1dELvMuQ7iK&>jX)S3j3^P6%KW@e4PR>dp^ji1d1qPz`B cn>HCUeAvOg`bbC>C(uv^Pgg&ebxsLQ07FbC)Bpeg diff --git a/data/games/garage/mods/testnodes/textures/testnodes_line_curved.png b/data/games/garage/mods/testnodes/textures/testnodes_line_curved.png deleted file mode 100644 index ab9f8e7208af8577ebd5df34f7a1d2749b5a95d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`PM$7~Ar*|tKl)ideg5ouOoPo} z0>=lbf>&2GQ+h5la4@nqpJQ;Ev4HV^=KjjoAV!UCni*d&lMusCd Wmz>)Cz@8Ck8iS{+pUXO@geCx7YA3`1 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_line_straight.png b/data/games/garage/mods/testnodes/textures/testnodes_line_straight.png deleted file mode 100644 index 4f33d9c6d9e53ee5ae0b33099fc5995faabc6809..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`R-P`7Ar*|tKl)ideg6FL$CZ`A zCnU7`IsNgEN;ICy8kMY&H<(ZAjX* a$(SLP>4->jjF%mdKI;Vst03c`@!~g&Q diff --git a/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing.png b/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing.png deleted file mode 100644 index 1736b89ba5501f6f87ae94546d71249c29948010..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`-kvUwAr*|t2_2SuS$nwa8w^+0 zoZ@wut}wIT*YWM0`MmlXVlbP0(e%&{mv%-U=9`HP$4}1qbJ1YI4Te8) f5{oJuL+lusj*9axK5RD!Xe@)LtDnm{r-UW|`Uotr diff --git a/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r0.png b/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r0.png deleted file mode 100644 index e8a61039d7d4e5a725cf6d54c26e56c335757ed5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nVv3=Ar*|tFAP#|@EkflM`1>Y z-BY#&-V=@;PdqTOX#d&QT}_S>N7_Cc@*a4{TGCr!x6J#4v_qN1gOX1f5)L1JO)8LJ z`*hOaL5Ado)N^MPq)w>c7Fi*Ar*|tFFcZN@Ekg=r8pzR z?kU>>?+M3_CmxtsSvUK-F9%zqfb_ZJCJej9FPI+s;nL3N$2+6uPuzi(g(f^R96vdj z84FC#W4Mz&_oM=|$9E z+nLB?Jck09J-#t@ai2KFt%0oIjKR~@&t;ucLK6U4 CW;Ij* diff --git a/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r3.png b/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r3.png deleted file mode 100644 index bef77396844b1a924c2d32af9941ddecfc5b8691..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`NuDl_Ar*|t9Pbit@Ep=StuQ0R z?kU>>?+M3_CmwjCTsQmob=GEs4&LXyy1<(f!9wi8ZewbXfVOQ zjWP4|3`dD9hLdp)g^ZPzifblIJ`-)KY}{j@FqNO7ap}>$3>qtr0&QdPboFyt=akR{ E0G$3g4*&oF diff --git a/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r4.png b/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r4.png deleted file mode 100644 index de1001b2d9ebd15eb417b4ba002dc2025c6d7f5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`iJmTwAr*|t0k0Eo@EqE8T46?r z-BY#&-V=@;Pjombxc_YH>n2BuBW<4zc@Ml}E$J<=Tju>i+M!J1LFuOq35O><(+rz4 z6y_%}dwgf|kZC)4ntRsVGX~QqOci%HcU+!r$tT7Pg{guE*&1_!mN9s``njxgN@xNA DQCK(J diff --git a/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r5.png b/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r5.png deleted file mode 100644 index 97b422e9a181b08932b7a4362ac976d75cd2e16e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`NuDl_Ar*|t2`>_E^Bg;Ead1Y6 z-BY#&-V@FoUv}Vq$Ngs$N)IaVBpv=?!E?YwGFG|AzeM7I$pl%pA9HP_*c2=!*gl># zZm5*}p7zWyPhftEzQXQ?HG3E~OC~bN^*(83Tv@{~c~gm*pVP6|K-(BRUHx3vIVCg! E0B5E*o&W#< diff --git a/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r6.png b/data/games/garage/mods/testnodes/textures/testnodes_liquidflowing_r6.png deleted file mode 100644 index 4cd8e4e8e551a3c8881ce47e3bcf788fdc065c2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`NuDl_Ar*|t2`>!p@ffnqJ zyQgdmyeFJFzU;vJ6LZcUeErKo;z--aLWzbgTe~DWM4fPvI)? diff --git a/data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r0.png b/data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r0.png deleted file mode 100644 index da0a99623d8f84189d3d46914f0b8e3f8b34bdac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`F`h1tAr*|t8Rm&MdU~c?E=+Rz z)O@8u`DtCjo_#7ZZ5yQ=s)iq0&y27{e!38$DD?t89|zrC&{8)y%Mr>mdKI;Vst0A?yO-v9sr diff --git a/data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r1.png b/data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r1.png deleted file mode 100644 index 66bf2be8f9ff80d2e3d76840a16e8d7315d46eec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`@t!V@Ar*|t8U86ZdU~dZE=qFx z)O@8u`SYI#6@QNuNF2*!5R;y0x=^C+rP3a@gj*i<%pBE?TO3rZrB>!L%Vz?N< zJmaJ{yKLtfg+hT|Td@z-okh$S_PX3)aQei+yz_cqjQ*Mcpj8Z>u6{1-oD!M{`KlV9UgRYy#hyG8;Y0OoGlbl)Rrfo$r}m zGFzg+{52&Fi3-e}p5p5^?rfgP!>m!xxXgxOY5gxQr`@HyfmShiy85}Sb4q9e0CCtg AH2?qr diff --git a/data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r3.png b/data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r3.png deleted file mode 100644 index 0f46e291e81e7da98816774f0d0994cb99afae91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`@t!V@Ar*|t9C_(CdU}GVFHCa! z)O@AE(*4haich}^B#z}Vh)GX0T`1A^QfUuc!Yz+_W{&E{Eee{ji5+@w8F7dukVC$Tm$?#O~z!Y|d>32`RpRi-=5};KKp00i_>zopr0BO%R A7ytkO diff --git a/data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r4.png b/data/games/garage/mods/testnodes/textures/testnodes_liquidsource_r4.png deleted file mode 100644 index 0693a04d7fc89f7acdd7bfbb06a724348cea3912..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 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 BJCXnZ diff --git a/data/games/garage/mods/testnodes/textures/testnodes_marble_metal.png b/data/games/garage/mods/testnodes/textures/testnodes_marble_metal.png deleted file mode 100644 index 205d4993d6db774b4314334b414f299738bcedf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 595 zcmV-Z0<8UsP)&BO)%-*iZ-P+52H7gz!o1Uuf>W}04x!%v$<5=F$_w%}5kL&vP z70WeU`*tkXm3J<_&o$p8H|Lt8e&?+tumwBUJlE^}JeI+O-0C90>yg*7ydH&xH8$Y~ z0R=hkWluZ-JJ&b|Xigyz0sD;rq;kj2paX&j))II(IMTd6uRP=6x$Ya^@eF_L!?18p z8U}1_W&v|7Wc#LNd~%V3QV~2_aDakB6Yx=%R3egDWeVmiM@%$+5dMgmp!bdPAeYBm z*isb46GPo+0X+(D2=K@u#FPJSq`1hd8ZDyM+PEXxLB+$-;A5jr5H_wr;cfW&HNXjK zYi#iC0b{_c*SU^lMv(1$-~yb~cq(ixX=BO8zVWk#>`bO%=m13wfn~f~Sw~E0?06}t z(}JB|QLCwyZ4%@(*A6<}NlcxJp?tW`BAH0ShS5f%Gk_SDL*2RWa*0AsM`(xY-UomA zaOeSNQ(cHT!2kQ8Z6P}{)o$}WK~J+so0j9L1BUN(MGy`ei|(G?7?G2js!>jkRB9Lv;+u4;B9 h$LDY%qFQQlEZ?HJ((wGn*uDS&002ovPDHLkV1k0i9PI!A diff --git a/data/games/garage/mods/testnodes/textures/testnodes_marble_metal_overlay.png b/data/games/garage/mods/testnodes/textures/testnodes_marble_metal_overlay.png deleted file mode 100644 index e2bb431e8c3f060aca18a14ee618cfb7c2940507..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 526 zcmV+p0`dKcP)Ll^Z;p;AZ$+5_n<2lMpD9G)ef zraPv-DQp%JU+DZ!PnN-m8`De`nJRK+jlNM*Ei@EExv}Lldp1ZHI8owOo@etcWO$X~ z=}*R%I5a>qPZ$a1M17XdVS19B%`&~h%Q4>1^D)Qk4swCPh}18lY$zuZDLU6VFw40D z4?9@M@FB;i9B+T}c#Ja>#7TCQLOD@8PWue;GD8t}&ohTNc(=krhTIxMOQa{+buW|~ zJ7!5o^c5KG<$jXqW6a^vJXcHfmq^VJwS{t{?kgQJ=`{v!GFswxk~>RW&T{M~=>n}6 z*?Kx`2BIhIU8E<^$yqKW8HqSLM|zF+n7T`0vrzM!wmH&SdXpSq=SY@#nXYxVErrcS z^Dz4&;!zIf**`&Qg59;D5@;yWwn%D~IFR~9#|s*-hf1OO4qZi3t8~Zgd``_ks1zDo zXdS2P6s_YlehZaE-7w89v=nICpzcAaG!m0+|3Ttf_*SE`# zj`EL3bk-zn+Oz1yWxY8!x^}Rha~9nGA=`Y(;hk+CUw)7UTEyV#>gTe~DWM4fCj>d} diff --git a/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes10.png b/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes10.png deleted file mode 100644 index a6d569a072a6741d278982a4937009bc9dedf4e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|(w;7kAr*|t3hXipQao|I|2x^7 fuU=j}PmLKUclYcb8-w)UKxGV`u6{1-oD!MJ~6;QjYbmkmjlGkEiA&&NCweRD7DX_=sT@hheE31toGCtUqm sH*?lK&}q2Y9L8c?R&d0pNNc&gTH>zP-=D^O16sl0>FVdQ&MBb@001yGU;qFB diff --git a/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes3.png b/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes3.png deleted file mode 100644 index 96bc55ac5f3444eea6b725ec663f6a706ceed461..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|GM+AuAr*|t3hXipQVynn)TIK> hwgpPNn{So<}{xV9D%(8z!*!Oz4>|!%wU}zG0DDf?G77I{2gQu&X%Q~lo FCIC%T9gP40 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes6.png b/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes6.png deleted file mode 100644 index 46c6e50198b1298407a8fff90fba65fe52658991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|vYsxEAr*|t3hXipQWI7`w7=Mp i!mE6Ye{r1xGXq1O-**w;-%(OPg$$mqelF{r5}E+hCloCJ diff --git a/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes7.png b/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes7.png deleted file mode 100644 index 75b3bdd239cc83d5b98ceae482e74a81e47776ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|>Ygr+Ar*|t3haN>r6#OC__S4d tVunE0f@lp(w*3l1yiU9&9I8eP4BQ9i@d#WxVGq>8;OXk;vd$@?2>`}#7ajlr diff --git a/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes8.png b/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes8.png deleted file mode 100644 index 4b1885983afd9136141f926019215f4c071089d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|vYsxEAr*|t3haN>r6#O?$Z#=X jLzcvk04ZKoBL;>%zwaW?iquSi3K=|I{an^LB{Ts5^~n_W diff --git a/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes9.png b/data/games/garage/mods/testnodes/textures/testnodes_mesh_stripes9.png deleted file mode 100644 index 9902be89efde8345f8a3be758a428606160a9afb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|TAnVBAr*|t3hXwGAr*|tKU|d(7!nsTIyvhK lGHh=PBNKfYA2vt22WQ%mvv4FO#m6}6{i3I diff --git a/data/games/garage/mods/testnodes/textures/testnodes_node_falling.png b/data/games/garage/mods/testnodes/textures/testnodes_node_falling.png deleted file mode 100644 index 44153185c23c46924729b8735bd4b47968f0012b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|=AJH&Ar*|tKm3&v7!nsTIyvhK zGR$xLZ!gin;ad>G93van63eV-`y=PT73YcaCp@K|sM-lJGF%g#=A(Dls0?TXgQu&X J%Q~loCIE(79ispM diff --git a/data/games/garage/mods/testnodes/textures/testnodes_node_falling_1.png b/data/games/garage/mods/testnodes/textures/testnodes_node_falling_1.png deleted file mode 100644 index 74137b3adf1c371af2fcaac3a04d4787d9a1dae1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|uAVNAAr*|tKm3&#GFPZdDVY5E zf51T?@j3$whZ)m@3k)nPq(0nYV39DJ@J7YxufsatFV`E`3`_&WF7vc7dN5aZ_Pa1J Y=-xiIvHeDWGSENDLqQ%^MU|7^Pnb+XdZ*7tDnm{r-UW|FGnIp diff --git a/data/games/garage/mods/testnodes/textures/testnodes_node_falling_4.png b/data/games/garage/mods/testnodes/textures/testnodes_node_falling_4.png deleted file mode 100644 index 87fc2761245e3088151749f8cdab4a4a3c75ba65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|PM$7~Ar*|tKm3&#GFPZdDVS8S z{8#U|U}|7s;Gps#hfT#Hf_c`70~rpiCzNiO9uQo{>m0=Va7LN}6T{Sr(|>rdFl6*B V^eR^o+Xys`!PC{xWt~$(695{!B3}Ri diff --git a/data/games/garage/mods/testnodes/textures/testnodes_node_falling_5.png b/data/games/garage/mods/testnodes/textures/testnodes_node_falling_5.png deleted file mode 100644 index 9a8ce2dc4ed6a79e08f6a005b915ba90e35ef156..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|PM$7~Ar*|tKm3&#GFPZdDVP}i z+3zcmnBl-=pvRPOoxz-EvUfUf%io5TjAwI9q}hC!c^+JHNc0hAY&dnoyGDhH;q}ff Vf4ujLegm4u;OXk;vd$@?2>=D*BQyX2 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_node_falling_6.png b/data/games/garage/mods/testnodes/textures/testnodes_node_falling_6.png deleted file mode 100644 index 9ad2f5b86c2c917a9a8820e864d30ef163fcba44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|j-D=#Ar*|tKm3&#GFPZdDVVg> z1*&#jFf~}fWFq)R>OtE<(+67^gJ=2he)-1y*HnQajCaaW6J|k%6+L^7xGOO*q{TD~ T_;$2|OlRbP0l+XkKHN_&q diff --git a/data/games/garage/mods/testnodes/textures/testnodes_nodebox.png b/data/games/garage/mods/testnodes/textures/testnodes_nodebox.png deleted file mode 100644 index 66e8dd663e3a117d378b7b3eacd4e8bc0fc67b60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|=AJH&Ar*|tJ8FJ@S|7i^LtWBg zMh3$b=0gr)Zf^iD|ix_T}13HnQ|qzHd-`nXj~$~$Dreo9QAObm=w?m22WQ% Jmvv4FO#uGx9+?0D diff --git a/data/games/garage/mods/testnodes/textures/testnodes_nojump_side.png b/data/games/garage/mods/testnodes/textures/testnodes_nojump_side.png deleted file mode 100644 index 6a64cfff0fb1339f4b1daf2a94c088eac96ecc48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|s-7;6Ar*|t3haNb2Pz9Gnh0d- rHMw4xw{Uf02y?1uvxke{B{qg%(@scw8ej1QYGCkm^>bP0l+XkKwOkl} diff --git a/data/games/garage/mods/testnodes/textures/testnodes_nojump_top.png b/data/games/garage/mods/testnodes/textures/testnodes_nojump_top.png deleted file mode 100644 index fe770838f0cc6a6345c7c3308bc1ff89d7e8de0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E0F%LqxRu&av_kV=jq}Y zQo)$a(DbXGhtG%S<9>-l@rEwV!yy;u pmbNG*hCJTIQf{UbrvLC@VVJX~#qaC_e+{5=22WQ%mvv4FO#s;08E*gp diff --git a/data/games/garage/mods/testnodes/textures/testnodes_normal1.png b/data/games/garage/mods/testnodes/textures/testnodes_normal1.png deleted file mode 100644 index edaba77e4e602f12ec74e2a383e9a148838f52c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|mYyz-Ar*|tKh7WcFkj>V!yy;u zmbU-$97;}74Gk>34h~Ih3JM2-_^PLJFf*5f$Hb{7C%kJ^m>9$gm%Z2N-Y^qr2!p4q KpUXO@geCwWXdguY diff --git a/data/games/garage/mods/testnodes/textures/testnodes_normal2.png b/data/games/garage/mods/testnodes/textures/testnodes_normal2.png deleted file mode 100644 index 0080a9ee74ba07a7b0ba0f4c7f81c5548835a08e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|j-D=#Ar*|tKh7WcFkj>V!yy;u zmbU-Xrm+ZqHBs2zxPi^bwIz4KVzxtd2SR)Un4S8zB&aIN8BAt&HS~>pq%6q5z_B## V&-2Ty`ar`NJYD@<);T3K0RRBHC2;@% diff --git a/data/games/garage/mods/testnodes/textures/testnodes_normal3.png b/data/games/garage/mods/testnodes/textures/testnodes_normal3.png deleted file mode 100644 index 0426ab216faf25f645c5b49d202c6f8f79f04318..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|mYyz-Ar*|tKh7WcFkj>V!yy;u zmNw&Q|2dUbWjgGbpusyM=aAWj5awm_Z1+4B%w+#ItZdwK#9fJj;aKs;s7?7tRe^>u Nc)I$ztaD0e0s!SZBo_bx diff --git a/data/games/garage/mods/testnodes/textures/testnodes_normal4.png b/data/games/garage/mods/testnodes/textures/testnodes_normal4.png deleted file mode 100644 index 0d1922eb6d383c17e8a9499a8fa7d64585dad665..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|hMq2tAr*|tKh7WcFkj>V!yy;u z7PkHe|5*e}O%B}Tcy}QC0K<~XswbHTuK2_~QWj)jaB`?Q^6;Y6G@xb%Pgg&ebxsLQ E0RP@1X8-^I diff --git a/data/games/garage/mods/testnodes/textures/testnodes_normal5.png b/data/games/garage/mods/testnodes/textures/testnodes_normal5.png deleted file mode 100644 index 0b7dcd2da9d230c61c56d841a333ce36e3c297f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|CY~;iAr*|tKh7WcFkj>V!yy-D z72f~(!Y)@XHE?lcI|RFg^G^BAD9kIyyQ1OJ3^o0a6FC_2o=lY~F8=xisGq^p)z4*} HQ$iB}V!yy;u zmbMG}t5^i5nk?AaxPi^bERk2my7OI~LUTZn%?rCm3h~gQu&X J%Q~loCIDBLA_D*b diff --git a/data/games/garage/mods/testnodes/textures/testnodes_not_pointable.png b/data/games/garage/mods/testnodes/textures/testnodes_not_pointable.png deleted file mode 100644 index 8509a68b7bcf87801570ed90a99ed937f8adcb53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0T36GBVA;;Q#;sGgSE; zfPBW1AirP+hi5m^fE+7N7sn8e=;VZr|CJ9Y9Aa=`gTe~DWM4faB3Jd diff --git a/data/games/garage/mods/testnodes/textures/testnodes_palette_4dir.png b/data/games/garage/mods/testnodes/textures/testnodes_palette_4dir.png deleted file mode 100644 index 7a26c9bbd2825eae8633e895234fbc40ebd15d45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^4nWMv!2~29^4o(rKAtX)Aso@kfBql-DQ$h2olT>P z-_7Bedx#lxGXrz8!i*LLi)fZJVktjPF@^FfK0J2NW7&Cy(mx(niaZ>eOlmVF?H(F1 g9ZUP!wM>}d(hAkP_s(1E1I=adboFyt=akR{01j>_u>b%7 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_palette_facedir.png b/data/games/garage/mods/testnodes/textures/testnodes_palette_facedir.png deleted file mode 100644 index 8cf47bbbe2693618e4d7851aa9837720df4deca6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^96-#-!2~38k}5=il$@uFV@L&Ka>|Qe>yOoY_kN!y l^*=XsUvyT2%Hgjp40(q*UX?A<{Q*?T;OXk;vd$@?2>^*(8T9}F diff --git a/data/games/garage/mods/testnodes/textures/testnodes_palette_full.png b/data/games/garage/mods/testnodes/textures/testnodes_palette_full.png deleted file mode 100644 index e0a5f8b349809a6a6d3febdca04f93a5b09ddebd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 568 zcmV-80>}M{P)3w&f$Iv9rqA>KLQFM?vn#O?xheA>$T~RDJszPs@-Y4PDymNTxp8tLM z?(|$5j6Z22wpVzX@QpQ*&XBH%?HI{776M%@W4^rt=9Fx2MY)PI8Rk=5s3?GUTPt%YbFEfz-=@7rv;FA<_P?-<(bc zh4N}S7xNnM6z0-xq+ctyW_~T*T84%0(uX6@TbtKDwGMSQwJu?atUTV?46<=}=V()V ztTTzuy?kkm%I=umNwZgW&&&a-%$_-|v;YIMdH}OJ<@Ac4TzoW`G#WG+Y!oz_ItQdd zx@L*id<>feqni&Oa7m<;kcv;ll_JUbvJ~T!f`KQbUNX9U{~i{k*jxYt;P+o@#+By#u%9iKQeqCdVTCz zZ?ewDN2F!pQ?>wybr$urZ(R80F^mp>I_Y9}TIE*KuV!c_wBi| z4sUzX;r!{tvoCx8|Fk*10H{X5)5S4_LpC`jBq%6JW)BMk*B@TS%%AryfN~6;u6{1- HoD!M<_VXk( diff --git a/data/games/garage/mods/testnodes/textures/testnodes_palette_wallmounted.png b/data/games/garage/mods/testnodes/textures/testnodes_palette_wallmounted.png deleted file mode 100644 index 682f3ac84d7c43b9077e2bd1d6f50845245fe550..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~f!2~4l^`Bk_r2IWy978G?Wj&7y9#9a7c~Wb1 zq2BeSg6fe8@qgMThn64R>0xn2{9`s(YR9673C{bU1*EjR;WvFNyHE3xSc#*z1vjW z=jMi-Q#Y*tU!ERc_uo9yKui7uC$D@#h(q@p>oa#hwM4bpZ%9a8)MV4&GV#qUhy2{b e4%fP3HcRUj%RjyK?T;eR3IXLf<0XvLn;`P6GU1V*iw@X3{+-5%*c`8N^99UYZjB_)1ygA zhuYeBx{kIUJ9uoNgWJxHD~mHWC^mZ~E?lu;qe6ghV&~=sGn6MheDp@?jZV&q06tcR YL))dFYUI1S0F7txboFyt=akR{09*G#o&W#< diff --git a/data/games/garage/mods/testnodes/textures/testnodes_plantlike_leveled.png b/data/games/garage/mods/testnodes/textures/testnodes_plantlike_leveled.png deleted file mode 100644 index 53504dbcdd6224baf262d39e82327788cc7ec45b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|S)MMAAr*|tKMou)cqy>)#l1kb zw*UYC@Bgu1sHtfC&1-8D8wv%LRI9Vm@HtXVlugnK~L!S6vkU#>_A%? NJYD@<);T3K0RRupJlFsL diff --git a/data/games/garage/mods/testnodes/textures/testnodes_plantlike_meshoptions.png b/data/games/garage/mods/testnodes/textures/testnodes_plantlike_meshoptions.png deleted file mode 100644 index d504d459f30d387160543b1001824bcec1b56cf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|*`6+rAr*|tKh7U8c&NeI@$mou z|N8&ds|fLy@m}o~HV8eiG{D56zopr08^_t1^@s6 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted.png b/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted.png deleted file mode 100644 index 79cf2125e1aacf3924774801deff8fd2b5cc3942..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|wVp1HAr*|tKh7U8c&NeI@z7pi zkAl#!H`{}JH}4a=;`XX~~!1~bnx31AjTjOxC?U?>{NKZjf8p%Mpgft?TQAt96J ziCGRBXXBo7Ja4)&L+U|Q!=-{vRfS9w7#&|MWHICnW)^UaXv diff --git a/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_degrotate.png b/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_degrotate.png deleted file mode 100644 index 85311cb2c388c32855fc67fe3c36f114a15da63f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|5uPrNAr*|tKh7Tr5O!u_dYF(N znB=j8?a~*8kjIV|xebed`S@}iy26}#@ajR&9UOMj2EMHvk2W(lT`&>&z?^C3Afa-j t;i~P990!diavTE)IQ%i>Tzvy-WuZAFN(z}CMFD;wXLO%N#m;^nRuR)i0ZbE58FxWbkzLb6Mw<&;$V1wklQt diff --git a/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_meshoptions.png b/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_meshoptions.png deleted file mode 100644 index d100023750f43debb379fcff8fbfc71f959f2e17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|?w&4=Ar*|tKh7Tr5O!u_dYF(N znB=j8?a~*8kjIV|xhu|JaS3e~aNN$Q#~a-EKxhl2qfjcdTJxzo2M_)gyedaz_g)gp aQnxS_9RV81;OXk;vd$@?2>_CQC|Upj diff --git a/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_degrotate.png b/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_degrotate.png deleted file mode 100644 index 45e75bdd329f7ef429b53b89526f27ed0b310eeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU{m;NK;V8p@Ab4>qdzEAL z;)L97wh7G)?mNzW1F8x3ba4!+U`$RBX<=YXO*Sx4nfWjyM}jM@W#_C}Op;HJCM6we zYvbuU+IsBZv4sw9J2$Q@&e)*X?3K81#fFUv0ltZyn-|Pbp78L|8>KfoIVS@6SQ!p& Wmwu{|@9qLLp25@A&t;ucLK6VX*+QTI diff --git a/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_leveled.png b/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_leveled.png deleted file mode 100644 index 8954b2c34c5870465d8f3ff3a09086bbcd633136..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|nVv3=Ar*|tKMou)cqy>)#l1kb zw*L+v9*M9#&D*>-`Y^*|C6};R)ElW);_3;j8oU=~G;ln;&fxOGEM>V00nl7d>%w_foRSeU4Ig&jtH>?!7x%G*a=E9jKEDQ?0&cah3=JEk8W$<+M Kb6Mw<&;$TK1vFRy diff --git a/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_wallmounted.png b/data/games/garage/mods/testnodes/textures/testnodes_plantlike_rooted_wallmounted.png deleted file mode 100644 index 0decffaf14112cca3aa4c6c3a7cd4d75c4e0ea30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|>7Fi*AsWHSKh7U8c&NeI@z7pi zkA)I%vN|09Q88*?ngdl|1XJb9A0+4UOplSMO`1RZZMJUlE}Ak^Eqh|xFmo0fY@ zwSu357jv2V!LJ7d6L|$LzB+9%jUlj?+tF0TWO5sWQN5blnOT=!0;4xt(<3TqA15<@1f+}{rKi)cKcx0&Y aGBPkqyO>sxNj0Eat@O1TaS?83{ F1OUQdADRFF diff --git a/data/games/garage/mods/testnodes/textures/testnodes_post_effect_color_shaded_true.png b/data/games/garage/mods/testnodes/textures/testnodes_post_effect_color_shaded_true.png deleted file mode 100644 index 448cf91c8c2200d863ec795fcb9cb32f47c88897..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf63_M*NLn>}1|G3{EZ^XmL%Jbh* zz{$BKLBh$YML~t_*m{P`EF8WESVDN4)fQ-kFfcgm$`er8$C3`z%i!ti=d#Wzp$PyH C4;vW( diff --git a/data/games/garage/mods/testnodes/textures/testnodes_rail2_crossing.png b/data/games/garage/mods/testnodes/textures/testnodes_rail2_crossing.png deleted file mode 100644 index 530bbba7a598a7ea35ee4c6a6fe9f0f68c53a641..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=6jh(Yy9;3k?r$D~su< zh-)d0ZZD5*DT(eVkL{?4Z7+{$Esbd}i)k&3nZ0{SHc$g&NswPKgTu2MX+Tc7r;B4q z1!HnTNLgvIxM5L3L15m@cP~<(99pns4GW8#7tgVP0}oc{ybX#-x^m*d;x~b>A2EeI zUiapal3wl;<}{IA5>t(@Xnfzv(Z#%!Wom4SIFoC`u9&`*T@pK)ugZM1V7kI;E|A#D o9bkRofGLm8sYku%-4 z(e352?d378Wih+EL%t>l5ta*)J{+yB%qR1lKP%pplg{otAUN$_Q^p?d;^w7?r3;0HeQWsZ*KIGH zwR1sKeL&Xlrpf6%HHSJ6ZdRQ0?dS~&FGCl$M=Ix%vpT(+@9v(Z@#UVUd_c$6t(Up| vR`zYn)ks~r_o-;Qq`bS_gOa!XQ}pEno0Wq?O~T!QE@AL=^>bP0l+XkK#LHg* diff --git a/data/games/garage/mods/testnodes/textures/testnodes_rail2_straight.png b/data/games/garage/mods/testnodes/textures/testnodes_rail2_straight.png deleted file mode 100644 index 8749330d85388acf6d84f0547b5eb4a69eafba7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZZ7YibqFsBpg@y;WmPU6} z#I=-0x0lDZm&de}M7Ng3bd<-omd3OL85ObhWzR1IH8Pe2`2{mLJiCzwFN&du5Jd`8&l77%FW@Js5N~L-$o~ui+5Kr moY9!W5%xLY!_JP0%nafD($c*imkt7*z~JfX=d#Wzp$PzZH&^rk diff --git a/data/games/garage/mods/testnodes/textures/testnodes_rail2_t_junction.png b/data/games/garage/mods/testnodes/textures/testnodes_rail2_t_junction.png deleted file mode 100644 index 0517f6570e8ee361ee9c4aa9cc719e4060c664e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ1=4M0F}wC|3k?r$EsgG| zh-)d0ZZD5*FOO+0i)k&5=>W3JVmc~fTS}t0EXWrDYG5o0@(X5gcy=QV$f@^qaSW+o zOil9x#z;hW2`3<0`F}K3=lXYAW}HRG>h?-mPlbaOVkV<%-Qx`IiGUfx*+&&t;ucLK6T$DJu8? diff --git a/data/games/garage/mods/testnodes/textures/testnodes_rail_curved.png b/data/games/garage/mods/testnodes/textures/testnodes_rail_curved.png deleted file mode 100644 index e4441984858011cd8eaaee23dea9e2a7bea979e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=1^O%sW#wckSI48Xnx6 zc&P{|#8?vK7tG-B>_!@p35kuZ z$CvMqJ^#RG!r!*1m-LhQPRe+f2X;6-S;QfD*EueIWrS9quQ~Ul&K04rfyOa-y85}S Ib4q9e0OdD1wg3PC diff --git a/data/games/garage/mods/testnodes/textures/testnodes_rail_straight.png b/data/games/garage/mods/testnodes/textures/testnodes_rail_straight.png deleted file mode 100644 index 872d04fb9b6105e57f17f76c6e3cee0daf69f660..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=73rZVL?$UQuh_nX2=y z#{4Q!h_NKdFPOpM*^M+HN5#{{F@)oKa)Lk-1CuKoTbg3BLV!s^f?yFNlPf#h4iQ

    zopr07%Cn@&Et; diff --git a/data/games/garage/mods/testnodes/textures/testnodes_rail_t_junction.png b/data/games/garage/mods/testnodes/textures/testnodes_rail_t_junction.png deleted file mode 100644 index 7e4af5182e1c185c5530ecd21cdddafea0fc31a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FprVLn;`P8yaJ)xBunm<^Oly zfuZ3_!<9uGdg~4U^BXgqIM%(8t>Nb0m$L+#8+axtL`vM{R!Lq}#i+xX^7ya>TS9N^ zr36a>d67pF8ynINBz$4ob=kY=spPE3S0$fKli*L&pVE5b@ZJr}4mKqw?$kW|$0)f+ zLW65cb7kYB7M8;))r{xVt*oE_KE0?Sk{4z BP9^{V diff --git a/data/games/garage/mods/testnodes/textures/testnodes_sign3d.png b/data/games/garage/mods/testnodes/textures/testnodes_sign3d.png deleted file mode 100644 index e4ad9479f039a00fd8ad1620ff4d3a8b4ddf4b17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|oCO|{#S9F3${@^GvDCf{D9B#o z>Fdh=lv#j9Qs`4iEl8teiEBiObAE1aYF-J0b5UwyNotBhd1gt5g1e`0KzJjcI8af5 zr;B5V#`)ww|Nq-FGap_S=D+{d+YA-vFouf_o{yMxW=Gln|Np<=EidQeftAe_n>XHW zIG^Jq-ND!+9c}ZWl~Yf;gT1Fk)>lztqM54H9PY&6G-iRn|NqOMbJ&o`;L7a6q~4jyJj=6yZ57+8 y+=fXle;q1q793@mvt%2ufasNuOa(PgMg~6VK&zRnI6HtAF?hQAxvX*m}&=L$4|!PC{x JWt~$(69BMNAYT9g diff --git a/data/games/garage/mods/testnodes/textures/testnodes_street_crossing.png b/data/games/garage/mods/testnodes/textures/testnodes_street_crossing.png deleted file mode 100644 index d6e35ad7a6f2e10882ea20effae88edd05bd31d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|0iG_7Ar*{gCo!@ea1dbr+`mWn zfBAZk*z1eJq8ndvuuIP2<(cq>Nq%M1lD|F&)tzq~Sp7*aL~pOA&w+;bEarO-`s)1o meEH?WPnl01PZl}*o1x{!=C_9zF>3Uv+{@ z!~X<^=Z8d(96M&jV7S**fx&mK$*cB2djvvZEIT<4b)W_iI>gTe~DWM4fCZ!(; diff --git a/data/games/garage/mods/testnodes/textures/testnodes_street_t_junction.png b/data/games/garage/mods/testnodes/textures/testnodes_street_t_junction.png deleted file mode 100644 index 713621e0661b1b65e2bb8f3e3c6fb76fb31c43c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|uAVNAAr*|tKh7Ue(AE9>Uv?zrCvE@$ diff --git a/data/games/garage/mods/testnodes/textures/testnodes_sunlight_filter.png b/data/games/garage/mods/testnodes/textures/testnodes_sunlight_filter.png deleted file mode 100644 index b38ea40729b0a336119a8ffd154baf9fd2df8d60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X60AE{-7; zjL8~mf(<4=gm^DqzPwOMLPDZLv3+7&Nzj1@9qkt@7#K>IpOjDDelZ%P)6><@Wt~$( F696qV9qIr8 diff --git a/data/games/garage/mods/testnodes/textures/testnodes_tga_type10_32bpp_bt.tga b/data/games/garage/mods/testnodes/textures/testnodes_tga_type10_32bpp_bt.tga deleted file mode 100644 index 2dc587bc39b9de661dd99bb3777c39398bfdab51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmY+6?FoP|3`EcVDo)`7x{_ki3^8K#fu!9*w^glM_H2iPKEx wc2Z@%$S+{pQS;7eX=enXf1gyv*pE#5)J;+)Z&b-@owu;ZB~D{|^l=Cs9$v37y#N3J diff --git a/data/games/garage/mods/testnodes/textures/testnodes_tga_type10_32bpp_tb.tga b/data/games/garage/mods/testnodes/textures/testnodes_tga_type10_32bpp_tb.tga deleted file mode 100644 index b44a81c799b56f08c3882a5f34075d47ceb6e2bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmZQz;9`IP4h9fZ&}d>{`2W8JDAvFTB0#)W6kZdE32DFP67DT}x_TNZMvc7@5NeD=w!vORxqrtI=8A(lkDMcg> f%;`l`{M{`AbvwC-qcyJME>At{zD@5^*D~V+v|bC* diff --git a/data/games/garage/mods/testnodes/textures/testnodes_tga_type2_16bpp_bt.tga b/data/games/garage/mods/testnodes/textures/testnodes_tga_type2_16bpp_bt.tga deleted file mode 100644 index 0206216bb4bb6cc2d8d0ef5281c7de497ed8ca12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmZQzU}As)4h9Ye0Y-)f7?cOHKo|z)fjkKRK{E&<U diff --git a/data/games/garage/mods/testnodes/textures/testnodes_tga_type2_32bpp_tb.tga b/data/games/garage/mods/testnodes/textures/testnodes_tga_type2_32bpp_tb.tga deleted file mode 100644 index 216de063444160b9e2e69dbc90b8ae35c6370b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmZQzU}As(4h9fZ&|qNr{~v)F8i2A`Fh~tHahMoT9vNb&h00@y!}J4bkbaOnkVbM4 w!d@ivLGmEAFdE%$AaNK*mqXSE)ejV6U1(9v~k0JtfPDoIwYnW%Sr@x9)-gZOv;yMZA{1ft#zC(YfK;@zC2?+{y4f724^!L+^aP#zW)nfnv)Y?BP diff --git a/data/games/garage/mods/testnodes/textures/testnodes_torchlike_ceiling.png b/data/games/garage/mods/testnodes/textures/testnodes_torchlike_ceiling.png deleted file mode 100644 index 5d9862cc988af30c729428df42cf6731cdc5ac4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DV{ElAr*|tKh7WcFkk2Z1B-)@ z@C=Vnf7uh+Lo)@^4lw?6?s%Af;6J|v8^h5KV}?}|l$aGNwr{t&!JxoA%2n6&H8TxOXX37~xpp00i_>zopr E02vuD$p8QV diff --git a/data/games/garage/mods/testnodes/textures/testnodes_torchlike_floor.png b/data/games/garage/mods/testnodes/textures/testnodes_torchlike_floor.png deleted file mode 100644 index adf1e002dd67b65035e93622ae3c93baef3f1c1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`A)YRdAr*|tKh86_Oi2)6R5{7| zUy((Z_s9RnhxQzkGZ>tdBiR&8ls@F;|NOsXH^V~7{fsOohYemPCMca`zwWb%QQ@q@ on+00DhZGcNNg8AwsOMs2(A<1MX+t4P3($N9Pgg&ebxsLQ0Ny1m6951J diff --git a/data/games/garage/mods/testnodes/textures/testnodes_torchlike_wall.png b/data/games/garage/mods/testnodes/textures/testnodes_torchlike_wall.png deleted file mode 100644 index cb442b22d84150cad41d4181a7cdca7a9ad64f09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`sh%#5Ar*{g&urvu2oPv~=#!u? z7MAyb;alIEpgaN3k195SJ3{`&JXpowqBooA%L7UO4ZQky8A2Lrn2y_BW?ai;F^SoB zldiC`Lv}+LQ`BpV0OKXhOiOqygqZt|G;}e(k9ROBW!&Pn-?Jc)@deOA22WQ%mvv4F FO#r_LGkpL6 diff --git a/data/games/garage/mods/testpathfinder/README.md b/data/games/garage/mods/testpathfinder/README.md deleted file mode 100644 index 2b9d46e..0000000 --- a/data/games/garage/mods/testpathfinder/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Pathfinder Tester - -Usage: - -Use the Pathfinder Tester tool (`testpathfinder:testpathfinder`). -Here's how it works: - -* Place on node: Set destination position -* Punch: Find path -* Sneak+punch: Select pathfinding algorithm - -Information will be shown in chat. If a path was found, all waypoints -will be shown for a few seconds. - -See `init.lua` for config variables. diff --git a/data/games/garage/mods/testpathfinder/init.lua b/data/games/garage/mods/testpathfinder/init.lua deleted file mode 100644 index a0f99f8..0000000 --- a/data/games/garage/mods/testpathfinder/init.lua +++ /dev/null @@ -1,136 +0,0 @@ -local S = core.get_translator("testpathfinder") - --- Config parameters - --- Maximum direct distance between start and end -local MAX_DIRECT_DISTANCE = 64 --- Maximum search distance -local MAX_SEARCH_DISTANCE = 32 --- Maximum permitted jump height -local MAX_JUMP = 1 --- Maximum permitted drop height -local MAX_DROP = 5 --- If true, mod won't refuse to run pathfinder even at long distances -local IGNORE_MAX_DISTANCE_SAFEGUARD = false - --- End of config parameters - -local timer = 0 -local algorithms = { - "A*_noprefetch", - "A*", - "Dijkstra", -} - -local function find_path_for_player(player, itemstack) - local meta = itemstack:get_meta() - if not meta then - return - end - local x = meta:get_int("pos_x") - local y = meta:get_int("pos_y") - local z = meta:get_int("pos_z") - local algo = meta:get_int("algorithm") - if x and y and z then - local pos2 = {x=x, y=y, z=z} - algo = algorithms[algo+1] - local pos1 = vector.round(player:get_pos()) - -- Don't bother calling pathfinder for high distance to avoid freezing - if (not IGNORE_MAX_DISTANCE_SAFEGUARD) and (vector.distance(pos1, pos2) > MAX_DIRECT_DISTANCE) then - core.chat_send_player(player:get_player_name(), S("Destination too far away! Set a destination (via placing) within a distance of @1 and try again!", MAX_DIRECT_DISTANCE)) - return - end - local str = S("Path from @1 to @2:", - core.pos_to_string(pos1), - core.pos_to_string(pos2)) - - core.chat_send_player(player:get_player_name(), str) - local time_start = core.get_us_time() - local path = core.find_path(pos1, pos2, MAX_SEARCH_DISTANCE, MAX_JUMP, MAX_DROP, algo) - local time_end = core.get_us_time() - local time_diff = time_end - time_start - str = "" - if not path then - core.chat_send_player(player:get_player_name(), S("No path!")) - core.chat_send_player(player:get_player_name(), S("Time: @1 ms", time_diff/1000)) - return - end - for s=1, #path do - str = str .. core.pos_to_string(path[s]) .. "\n" - local t - if s == #path then - t = "testpathfinder_waypoint_end.png" - elseif s == 1 then - t = "testpathfinder_waypoint_start.png" - else - local c = math.floor(((#path-s)/#path)*255) - t = string.format("testpathfinder_waypoint.png^[multiply:#%02x%02x00", 0xFF-c, c) - end - core.add_particle({ - pos = path[s], - expirationtime = 5 + 0.2 * s, - playername = player:get_player_name(), - glow = core.LIGHT_MAX, - texture = t, - size = 3, - }) - end - core.chat_send_player(player:get_player_name(), str) - core.chat_send_player(player:get_player_name(), S("Path length: @1", #path)) - core.chat_send_player(player:get_player_name(), S("Time: @1 ms", time_diff/1000)) - end -end - -local function set_destination(itemstack, user, pointed_thing) - if not (user and user:is_player()) then - return - end - local name = user:get_player_name() - local obj - local meta = itemstack:get_meta() - if pointed_thing.type == "node" then - local pos = pointed_thing.above - meta:set_int("pos_x", pos.x) - meta:set_int("pos_y", pos.y) - meta:set_int("pos_z", pos.z) - core.chat_send_player(user:get_player_name(), S("Destination set to @1", core.pos_to_string(pos))) - return itemstack - end -end - -local function find_path_or_set_algorithm(itemstack, user, pointed_thing) - if not (user and user:is_player()) then - return - end - local ctrl = user:get_player_control() - -- No sneak: Find path - if not ctrl.sneak then - find_path_for_player(user, itemstack) - else - -- Sneak: Set algorithm - local meta = itemstack:get_meta() - local algo = meta:get_int("algorithm") - algo = (algo + 1) % #algorithms - meta:set_int("algorithm", algo) - core.chat_send_player(user:get_player_name(), S("Algorithm: @1", algorithms[algo+1])) - return itemstack - end -end - --- Punch: Find path --- Sneak+punch: Select pathfinding algorithm --- Place: Select destination node -core.register_tool("testpathfinder:testpathfinder", { - description = S("Pathfinder Tester") .."\n".. - S("Finds path between 2 points") .."\n".. - S("Place on node: Select destination") .."\n".. - S("Punch: Find path from here") .."\n".. - S("Sneak+Punch: Change algorithm"), - inventory_image = "testpathfinder_testpathfinder.png", - groups = { testtool = 1, disable_repair = 1 }, - on_use = find_path_or_set_algorithm, - on_secondary_use = set_destination, - on_place = set_destination, -}) - - diff --git a/data/games/garage/mods/testpathfinder/mod.conf b/data/games/garage/mods/testpathfinder/mod.conf deleted file mode 100644 index 6b2c0e3..0000000 --- a/data/games/garage/mods/testpathfinder/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = testpathfinder -description = Tool to test Luanti's pathfinder function diff --git a/data/games/garage/mods/testpathfinder/textures/testpathfinder_testpathfinder.png b/data/games/garage/mods/testpathfinder/textures/testpathfinder_testpathfinder.png deleted file mode 100644 index 37eef0565458e2210ff0d048e4d79edf5182887e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`X`U{QAr*{s`xw~{I0!I*{_h{Z zP|^F@8tJgiRI93oEOmn0pL{>D#6f6&dtI4jdkEv7qxVy*lbo~F2vW5ESVHw|VrIq=swbQP`Iu>V^d&_)JNS3j3^ HP6=OqZvGJrUnZ`-?hK;kzL<+0d+BWy85}Sb4q9e0222ZV*mgE diff --git a/data/games/garage/mods/testpathfinder/textures/testpathfinder_waypoint_end.png b/data/games/garage/mods/testpathfinder/textures/testpathfinder_waypoint_end.png deleted file mode 100644 index 41a1cc549a914cbf81ac93589f8c085df4dc4af9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!3_UF&^$uA7AWH3>Eakt z!8mnNBO8N)fb;wR^}mE>-0Uh3+wnHAbaQiwxCZmL#SB~Wr!nz`sKuVQ3|?E=wrPID ro_kLi?1lE5)Q9~mtTFlV!BBR_bfG^Xb_c!!&1CR&^>bP0l+XkK4*xP| diff --git a/data/games/garage/mods/testpathfinder/textures/testpathfinder_waypoint_start.png b/data/games/garage/mods/testpathfinder/textures/testpathfinder_waypoint_start.png deleted file mode 100644 index a22e31c3bcbf1cf62405a624430f5da27bbb7bb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`L7py-Ar*{!CpWSkFyL`{zx(@V z^DBvWoW4cO7ZK`T)|ql*r`<8<4U4(gt#~VE^*nS!la^>ru6{1-oD!M" for players. - -Use `testtools.get_branded_object(name)` to get an ObjRef. - -## Note Meta Privatizer -Sets the 'formspec' and 'infotext' metadata fields of a node -to private. This means that clients can no longer access these -fields. -This only works for chests [`chest:chest`] at the moment. - -Usage: -* Punch: Set metadata of pointed node to private - -## Light Tool -Show light level of node. - -Usage: -* Punch: Show light info of node in front of the punched node's side -* Place: Show light info of the node that you touched - -## Particle Spawner -Spawn a random animated particle. - -Usage: -* Punch: Spawn particle diff --git a/data/games/garage/mods/testtools/init.lua b/data/games/garage/mods/testtools/init.lua deleted file mode 100644 index 6586d87..0000000 --- a/data/games/garage/mods/testtools/init.lua +++ /dev/null @@ -1,1067 +0,0 @@ -local S = core.get_translator("testtools") -local F = core.formspec_escape - -testtools = {} - -dofile(core.get_modpath("testtools") .. "/light.lua") -dofile(core.get_modpath("testtools") .. "/privatizer.lua") -dofile(core.get_modpath("testtools") .. "/particles.lua") -dofile(core.get_modpath("testtools") .. "/node_box_visualizer.lua") - -local pointabilities_nodes = { - nodes = { - ["group:blocking_pointable_test"] = true, - ["group:not_pointable_test"] = true, - }, -} - -local pointabilities_objects = { - objects = { - ["group:blocking_pointable_test"] = true, - ["group:not_pointable_test"] = true, - }, -} - -core.register_tool("testtools:param2tool", { - description = S("Param2 Tool") .."\n".. - S("Modify param2 value of nodes") .."\n".. - S("Punch: +1") .."\n".. - S("Sneak+Punch: +8") .."\n".. - S("Place: -1") .."\n".. - S("Sneak+Place: -8"), - inventory_image = "testtools_param2tool.png", - groups = { testtool = 1, disable_repair = 1 }, - pointabilities = pointabilities_nodes, - on_use = function(itemstack, user, pointed_thing) - local pos = core.get_pointed_thing_position(pointed_thing) - if pointed_thing.type ~= "node" or (not pos) then - return - end - local add = 1 - if user then - local ctrl = user:get_player_control() - if ctrl.sneak then - add = 8 - end - end - local node = core.get_node(pos) - node.param2 = node.param2 + add - core.swap_node(pos, node) - end, - on_place = function(itemstack, user, pointed_thing) - local pos = core.get_pointed_thing_position(pointed_thing) - if pointed_thing.type ~= "node" or (not pos) then - return - end - local add = -1 - if user then - local ctrl = user:get_player_control() - if ctrl.sneak then - add = -8 - end - end - local node = core.get_node(pos) - node.param2 = node.param2 + add - core.swap_node(pos, node) - end, -}) - -core.register_tool("testtools:node_setter", { - description = S("Node Setter") .."\n".. - S("Replace pointed node with something else") .."\n".. - S("Punch: Select pointed node") .."\n".. - S("Place on node: Replace node with selected node") .."\n".. - S("Place in air: Manually select a node"), - inventory_image = "testtools_node_setter.png", - groups = { testtool = 1, disable_repair = 1 }, - pointabilities = pointabilities_nodes, - on_use = function(itemstack, user, pointed_thing) - local pos = core.get_pointed_thing_position(pointed_thing) - if pointed_thing.type == "nothing" then - local meta = itemstack:get_meta() - meta:set_string("node", "air") - meta:set_int("node_param2", 0) - if user and user:is_player() then - core.chat_send_player(user:get_player_name(), S("Now placing: @1 (param2=@2)", "air", 0)) - end - return itemstack - elseif pointed_thing.type ~= "node" or (not pos) then - return - end - local node = core.get_node(pos) - local meta = itemstack:get_meta() - meta:set_string("node", node.name) - meta:set_int("node_param2", node.param2) - if user and user:is_player() then - core.chat_send_player(user:get_player_name(), S("Now placing: @1 (param2=@2)", node.name, node.param2)) - end - return itemstack - end, - on_secondary_use = function(itemstack, user, pointed_thing) - local meta = itemstack:get_meta() - local nodename = meta:get_string("node") or "" - local param2 = meta:get_int("node_param2") or 0 - - core.show_formspec(user:get_player_name(), "testtools:node_setter", - "size[4,4]".. - "field[0.5,1;3,1;nodename;"..F(S("Node name (itemstring):"))..";"..F(nodename).."]".. - "field[0.5,2;3,1;param2;"..F(S("param2:"))..";"..F(tostring(param2)).."]".. - "button_exit[0.5,3;3,1;submit;"..F(S("Submit")).."]" - ) - end, - on_place = function(itemstack, user, pointed_thing) - local pos = core.get_pointed_thing_position(pointed_thing) - local meta = itemstack:get_meta() - local nodename = meta:get_string("node") - if nodename == "" and user and user:is_player() then - core.chat_send_player(user:get_player_name(), S("Punch a node first!")) - return - end - local param2 = meta:get_int("node_param2") - if not param2 then - param2 = 0 - end - local node = { name = nodename, param2 = param2 } - if not core.registered_nodes[nodename] then - core.chat_send_player(user:get_player_name(), S("Cannot set unknown node: @1", nodename)) - return - end - core.set_node(pos, node) - end, -}) - -core.register_tool("testtools:remover", { - description = S("Remover") .."\n".. - S("Punch: Remove pointed node or object"), - inventory_image = "testtools_remover.png", - groups = { testtool = 1, disable_repair = 1 }, - pointabilities = { - nodes = pointabilities_nodes.nodes, - objects = pointabilities_objects.objects, - }, - on_use = function(itemstack, user, pointed_thing) - local pos = core.get_pointed_thing_position(pointed_thing) - if pointed_thing.type == "node" and pos ~= nil then - core.remove_node(pos) - elseif pointed_thing.type == "object" then - local obj = pointed_thing.ref - if not obj:is_player() then - obj:remove() - else - core.chat_send_player(user:get_player_name(), S("Can't remove players!")) - end - end - end, -}) - -core.register_tool("testtools:falling_node_tool", { - description = S("Falling Node Tool") .."\n".. - S("Punch: Make pointed node fall") .."\n".. - S("Place: Move pointed node 2 units upwards, then make it fall"), - inventory_image = "testtools_falling_node_tool.png", - groups = { testtool = 1, disable_repair = 1 }, - pointabilities = pointabilities_nodes, - on_place = function(itemstack, user, pointed_thing) - -- Teleport node 1-2 units upwards (if possible) and make it fall - local pos = core.get_pointed_thing_position(pointed_thing) - if pointed_thing.type ~= "node" or (not pos) then - return - end - local ok = false - local highest - for i=1,2 do - local above = {x=pos.x,y=pos.y+i,z=pos.z} - local n2 = core.get_node(above) - local def2 = core.registered_nodes[n2.name] - if def2 and (not def2.walkable) then - highest = above - else - break - end - end - if highest then - local node = core.get_node(pos) - local metatable = core.get_meta(pos):to_table() - core.remove_node(pos) - core.set_node(highest, node) - local meta_highest = core.get_meta(highest) - meta_highest:from_table(metatable) - ok = core.spawn_falling_node(highest) - else - ok = core.spawn_falling_node(pos) - end - if not ok and user and user:is_player() then - core.chat_send_player(user:get_player_name(), S("Falling node could not be spawned!")) - end - end, - on_use = function(itemstack, user, pointed_thing) - local pos = core.get_pointed_thing_position(pointed_thing) - if pointed_thing.type ~= "node" or (not pos) then - return - end - local ok = core.spawn_falling_node(pos) - if not ok and user and user:is_player() then - core.chat_send_player(user:get_player_name(), S("Falling node could not be spawned!")) - end - end, -}) - -core.register_tool("testtools:rotator", { - description = S("Entity Rotator") .. "\n" .. - S("Rotate pointed entity") .."\n".. - S("Punch: Yaw") .."\n".. - S("Sneak+Punch: Pitch") .."\n".. - S("Aux1+Punch: Roll"), - inventory_image = "testtools_entity_rotator.png", - groups = { testtool = 1, disable_repair = 1 }, - pointabilities = pointabilities_objects, - on_use = function(itemstack, user, pointed_thing) - if pointed_thing.type ~= "object" then - return - end - local obj = pointed_thing.ref - if obj:is_player() then - -- No player rotation - return - else - local axis = "y" - if user and user:is_player() then - local ctrl = user:get_player_control() - if ctrl.sneak then - axis = "x" - elseif ctrl.aux1 then - axis = "z" - end - end - local rot = obj:get_rotation() - rot[axis] = rot[axis] + math.pi/8 - if rot[axis] > math.pi*2 then - rot[axis] = rot[axis] - math.pi*2 - end - obj:set_rotation(rot) - end - end, -}) - -local mover_config = function(itemstack, user, pointed_thing) - if not (user and user:is_player()) then - return - end - local name = user:get_player_name() - local ctrl = user:get_player_control() - local meta = itemstack:get_meta() - local dist = 1.0 - if meta:contains("distance") then - dist = meta:get_int("distance") - end - if ctrl.sneak then - dist = dist - 1 - else - dist = dist + 1 - end - meta:set_int("distance", dist) - core.chat_send_player(user:get_player_name(), S("distance=@1/10", dist*2)) - return itemstack -end - -core.register_tool("testtools:object_mover", { - description = S("Object Mover") .."\n".. - S("Move pointed object towards or away from you") .."\n".. - S("Punch: Move by distance").."\n".. - S("Sneak+Punch: Move by negative distance").."\n".. - S("Place: Increase distance").."\n".. - S("Sneak+Place: Decrease distance"), - inventory_image = "testtools_object_mover.png", - groups = { testtool = 1, disable_repair = 1 }, - pointabilities = pointabilities_objects, - on_place = mover_config, - on_secondary_use = mover_config, - on_use = function(itemstack, user, pointed_thing) - if pointed_thing.type ~= "object" then - return - end - local obj = pointed_thing.ref - if not (user and user:is_player()) then - return - end - local yaw = user:get_look_horizontal() - local dir = core.yaw_to_dir(yaw) - local pos = obj:get_pos() - local pitch = user:get_look_vertical() - if pitch > 0.25 * math.pi then - dir.y = -1 - dir.x = 0 - dir.z = 0 - elseif pitch < -0.25 * math.pi then - dir.y = 1 - dir.x = 0 - dir.z = 0 - end - local ctrl = user:get_player_control() - if ctrl.sneak then - dir = vector.multiply(dir, -1) - end - local meta = itemstack:get_meta() - if meta:contains("distance") then - local dist = meta:get_int("distance") - dir = vector.multiply(dir, dist*0.2) - end - pos = vector.add(pos, dir) - obj:set_pos(pos) - end, -}) - - - -core.register_tool("testtools:entity_scaler", { - description = S("Entity Visual Scaler") .."\n".. - S("Scale visual size of entities") .."\n".. - S("Punch: Increase size") .."\n".. - S("Sneak+Punch: Decrease scale"), - inventory_image = "testtools_entity_scaler.png", - groups = { testtool = 1, disable_repair = 1 }, - pointabilities = pointabilities_objects, - on_use = function(itemstack, user, pointed_thing) - if pointed_thing.type ~= "object" then - return - end - local obj = pointed_thing.ref - if obj:is_player() then - -- No player scaling - return - else - local diff = 0.1 - if user and user:is_player() then - local ctrl = user:get_player_control() - if ctrl.sneak then - diff = -0.1 - end - end - local prop = obj:get_properties() - if not prop.visual_size then - prop.visual_size = { x=1, y=1, z=1 } - else - prop.visual_size = { x=prop.visual_size.x+diff, y=prop.visual_size.y+diff, z=prop.visual_size.z+diff } - if prop.visual_size.x <= 0.1 then - prop.visual_size.x = 0.1 - end - if prop.visual_size.y <= 0.1 then - prop.visual_size.y = 0.1 - end - if prop.visual_size.z <= 0.1 then - prop.visual_size.z = 0.1 - end - end - obj:set_properties(prop) - end - end, -}) - - --- value-weak tables, because we don't want to keep the objrefs of unloaded objects -local branded_objects = setmetatable({}, {__mode = "v"}) -local next_brand_num = 1 - -function testtools.get_branded_object(name) - if name:sub(1, 7) == "player:" then - return core.get_player_by_name(name:sub(8)) - elseif name:sub(1, 4) == "obj:" then - return branded_objects[tonumber(name:sub(5)) or 0] - end - return nil -end - -core.register_tool("testtools:branding_iron", { - description = S("Branding Iron") .."\n".. - S("Give an object a temporary name.") .."\n".. - S("Punch object: Brand the object") .."\n".. - S("Punch air: Brand yourself") .."\n".. - S("The name is valid until the object unloads.") .."\n".. - S("Devices that accept the returned name also accept \"player:\" for players."), - inventory_image = "testtools_branding_iron.png", - groups = { testtool = 1, disable_repair = 1 }, - pointabilities = pointabilities_objects, - on_use = function(_itemstack, user, pointed_thing) - local obj - local msg - if pointed_thing.type == "object" then - obj = pointed_thing.ref - msg = "You can now refer to this object with: \"@1\"" - elseif pointed_thing.type == "nothing" then - obj = user - msg = "You can now refer to yourself with: \"@1\"" - else - return - end - - local brand_num = next_brand_num - next_brand_num = next_brand_num + 1 - branded_objects[brand_num] = obj - - core.chat_send_player(user:get_player_name(), S(msg, "obj:"..brand_num)) - end, -}) - - -local selections = {} -local entity_list -local function get_entity_list() - if entity_list then - return entity_list - end - local ents = core.registered_entities - local list = {} - for k,_ in pairs(ents) do - table.insert(list, k) - end - table.sort(list) - entity_list = list - return entity_list -end -core.register_tool("testtools:entity_spawner", { - description = S("Entity Spawner") .."\n".. - S("Spawns entities") .."\n".. - S("Punch: Select entity to spawn") .."\n".. - S("Place: Spawn selected entity"), - inventory_image = "testtools_entity_spawner.png", - groups = { testtool = 1, disable_repair = 1 }, - on_place = function(itemstack, user, pointed_thing) - local name = user:get_player_name() - if pointed_thing.type == "node" then - if selections[name] then - local pos = pointed_thing.above - core.add_entity(pos, get_entity_list()[selections[name]]) - else - core.chat_send_player(name, S("Select an entity first (with punch key)!")) - end - end - end, - on_use = function(itemstack, user, pointed_thing) - if pointed_thing.type == "object" then - return - end - if user and user:is_player() then - local list = table.concat(get_entity_list(), ",") - local name = user:get_player_name() - local sel = selections[name] or "" - core.show_formspec(name, "testtools:entity_list", - "size[9,9]".. - "textlist[0,0;9,8;entity_list;"..list..";"..sel..";false]".. - "button[0,8;4,1;spawn;Spawn entity]" - ) - end - end, -}) - -local function prop_to_string(property) - if type(property) == "string" then - return "\"" .. property .. "\"" - elseif type(property) == "table" then - return tostring(dump(property)):gsub("\n", "") - else - return tostring(property) - end -end - -local property_formspec_data = {} -local property_formspec_index = {} -local selected_objects = {} -local function get_object_properties_form(obj, playername) - if not playername then return "" end - local props = obj:get_properties() - local str = "" - property_formspec_data[playername] = {} - local proplist = {} - for k,_ in pairs(props) do - table.insert(proplist, k) - end - table.sort(proplist) - for p=1, #proplist do - local k = proplist[p] - local v = props[k] - local newline = "" - newline = k .. " = " - newline = newline .. prop_to_string(v) - str = str .. F(newline) - if p < #proplist then - str = str .. "," - end - table.insert(property_formspec_data[playername], k) - end - return str -end - -local editor_formspec_selindex = {} - -local editor_formspec = function(playername, obj, value, sel) - if not value then - value = "" - end - if not sel then - sel = "" - end - local list = get_object_properties_form(obj, playername) - local title - if obj:is_player() then - title = S("Object properties of player “@1”", obj:get_player_name()) - else - local ent = obj:get_luaentity() - title = S("Object properties of @1", ent.name) - end - core.show_formspec(playername, "testtools:object_editor", - "size[9,9]".. - "label[0,0;"..F(title).."]".. - "textlist[0,0.5;9,7.5;object_props;"..list..";"..sel..";false]".. - "field[0.2,8.75;8,1;value;"..F(S("Value"))..";"..F(value).."]".. - "field_close_on_enter[value;false]".. - "button[8,8.5;1,1;submit;"..F(S("Submit")).."]" - ) -end - -core.register_tool("testtools:object_editor", { - description = S("Object Property Editor") .."\n".. - S("Edit properties of objects") .."\n".. - S("Punch object: Edit object") .."\n".. - S("Punch air: Edit yourself"), - inventory_image = "testtools_object_editor.png", - groups = { testtool = 1, disable_repair = 1 }, - pointabilities = pointabilities_objects, - on_use = function(itemstack, user, pointed_thing) - if user and user:is_player() then - local name = user:get_player_name() - - if pointed_thing.type == "object" then - selected_objects[name] = pointed_thing.ref - elseif pointed_thing.type == "nothing" then - -- Use on yourself if pointing nothing - selected_objects[name] = user - else - -- Unsupported pointed thing - return - end - - local sel = editor_formspec_selindex[name] - local val - if selected_objects[name] and selected_objects[name]:get_properties() then - local props = selected_objects[name]:get_properties() - local keys = property_formspec_data[name] - if property_formspec_index[name] and props then - local key = keys[property_formspec_index[name]] - val = prop_to_string(props[key]) - end - end - - editor_formspec(name, selected_objects[name], val, sel) - end - end, -}) - -local ent_parent = {} -local ent_child = {} -local DEFAULT_ATTACH_OFFSET_Y = 11 - -local attacher_config = function(itemstack, user, pointed_thing) - if not (user and user:is_player()) then - return - end - if pointed_thing.type == "object" then - return - end - local name = user:get_player_name() - local ctrl = user:get_player_control() - local meta = itemstack:get_meta() - if ctrl.aux1 then - local rot_x = meta:get_float("rot_x") - if ctrl.sneak then - rot_x = rot_x - math.pi/8 - else - rot_x = rot_x + math.pi/8 - end - if rot_x > 6.2 then - rot_x = 0 - elseif rot_x < 0 then - rot_x = math.pi * (15/8) - end - core.chat_send_player(name, S("rotation=@1", core.pos_to_string({x=rot_x,y=0,z=0}))) - meta:set_float("rot_x", rot_x) - else - local pos_y - if meta:contains("pos_y") then - pos_y = meta:get_int("pos_y") - else - pos_y = DEFAULT_ATTACH_OFFSET_Y - end - if ctrl.sneak then - pos_y = pos_y - 1 - else - pos_y = pos_y + 1 - end - core.chat_send_player(name, S("position=@1", core.pos_to_string({x=0,y=pos_y,z=0}))) - meta:set_int("pos_y", pos_y) - end - return itemstack -end - -core.register_tool("testtools:object_attacher", { - description = S("Object Attacher") .."\n".. - S("Attach object to another") .."\n".. - S("Punch objects to first select parent object, then the child object to attach") .."\n".. - S("Punch air to select yourself") .."\n".. - S("Place: Incease attachment Y offset") .."\n".. - S("Sneak+Place: Decease attachment Y offset") .."\n".. - S("Aux1+Place: Incease attachment rotation") .."\n".. - S("Aux1+Sneak+Place: Decrease attachment rotation"), - inventory_image = "testtools_object_attacher.png", - groups = { testtool = 1, disable_repair = 1 }, - pointabilities = pointabilities_objects, - on_place = attacher_config, - on_secondary_use = attacher_config, - on_use = function(itemstack, user, pointed_thing) - if user and user:is_player() then - local name = user:get_player_name() - local selected_object - if pointed_thing.type == "object" then - selected_object = pointed_thing.ref - elseif pointed_thing.type == "nothing" then - selected_object = user - else - return - end - local ctrl = user:get_player_control() - if ctrl.sneak then - if selected_object:get_attach() then - selected_object:set_detach() - core.chat_send_player(name, S("Object detached!")) - else - core.chat_send_player(name, S("Object is not attached!")) - end - return - end - local parent = ent_parent[name] - local child = ent_child[name] - local ename = S("") - if not parent then - parent = selected_object - ent_parent[name] = parent - elseif not child then - child = selected_object - ent_child[name] = child - end - local entity = selected_object:get_luaentity() - if entity then - ename = entity.name - elseif selected_object:is_player() then - ename = selected_object:get_player_name() - end - if selected_object == parent then - core.chat_send_player(name, S("Parent object selected: @1", ename)) - elseif selected_object == child then - core.chat_send_player(name, S("Child object selected: @1", ename)) - end - if parent and child then - if parent == child then - core.chat_send_player(name, S("Can't attach an object to itself!")) - ent_parent[name] = nil - ent_child[name] = nil - return - end - local meta = itemstack:get_meta() - local y - if meta:contains("pos_y") then - y = meta:get_int("pos_y") - else - y = DEFAULT_ATTACH_OFFSET_Y - end - local rx = meta:get_float("rot_x") or 0 - local offset = {x=0,y=y,z=0} - local angle = {x=rx,y=0,z=0} - child:set_attach(parent, "", offset, angle) - local check_parent = child:get_attach() - if check_parent then - core.chat_send_player(name, S("Object attached! position=@1, rotation=@2", - core.pos_to_string(offset), core.pos_to_string(angle))) - else - core.chat_send_player(name, S("Attachment failed!")) - end - ent_parent[name] = nil - ent_child[name] = nil - end - end - end, -}) - -local function print_object(obj) - if obj:is_player() then - return "player '"..obj:get_player_name().."'" - elseif obj:get_luaentity() then - return "LuaEntity '"..obj:get_luaentity().name.."'" - else - return "object" - end -end - -core.register_tool("testtools:children_getter", { - description = S("Children Getter") .."\n".. - S("Shows list of objects attached to object") .."\n".. - S("Punch object to show its 'children'") .."\n".. - S("Punch air to show your own 'children'"), - inventory_image = "testtools_children_getter.png", - groups = { testtool = 1, disable_repair = 1 }, - pointabilities = pointabilities_objects, - on_use = function(itemstack, user, pointed_thing) - if user and user:is_player() then - local name = user:get_player_name() - local selected_object - local self_name - if pointed_thing.type == "object" then - selected_object = pointed_thing.ref - elseif pointed_thing.type == "nothing" then - selected_object = user - else - return - end - self_name = print_object(selected_object) - local children = selected_object:get_children() - local ret = "" - for c=1, #children do - ret = ret .. "* " .. print_object(children[c]) - if c < #children then - ret = ret .. "\n" - end - end - if ret == "" then - ret = S("No children attached to @1.", self_name) - else - ret = S("Children of @1:", self_name) .. "\n" .. ret - end - core.chat_send_player(user:get_player_name(), ret) - end - end, -}) - --- Use loadstring to parse param as a Lua value -local function use_loadstring(param, player) - -- For security reasons, require 'server' priv, just in case - -- someone is actually crazy enough to run this on a public server. - local privs = core.get_player_privs(player:get_player_name()) - if not privs.server then - return false, "You need 'server' privilege to change object properties!" - end - if not param then - return false, "Failed: parameter is nil" - end - --[[ DANGER ZONE ]] - -- Interpret string as Lua value - local func, errormsg = loadstring("return (" .. param .. ")") - if not func then - return false, "Failed: " .. errormsg - end - - -- Apply sandbox here using setfenv - setfenv(func, {}) - - -- Run it - local good, errOrResult = pcall(func) - if not good then - -- A Lua error was thrown - return false, "Failed: " .. errOrResult - end - - -- errOrResult will be the value - return true, errOrResult -end - --- Item Meta Editor + Node Meta Editor -local node_meta_posses = {} -local meta_latest_keylist = {} - -local function show_meta_formspec(user, metatype, pos_or_item, key, value, keylist) - local textlist - if keylist then - textlist = "textlist[0,0.5;2.5,6.5;keylist;"..keylist.."]" - else - textlist = "" - end - - local form = "size[15,9]".. - "label[0,0;"..F(S("Current keys:")).."]".. - textlist.. - "field[3,0.5;12,1;key;"..F(S("Key"))..";"..F(key).."]".. - "textarea[3,1.5;12,6;value;"..F(S("Value (use empty value to delete key)"))..";"..F(value).."]".. - "button[4,8;3,1;set;"..F(S("Set value")).."]" - - local extra_label - local formname - if metatype == "node" then - formname = "testtools:node_meta_editor" - extra_label = S("pos = @1", core.pos_to_string(pos_or_item)) - else - formname = "testtools:item_meta_editor" - extra_label = S("item = @1", pos_or_item:get_name()) - end - form = form .. "label[0,7.2;"..F(extra_label).."]" - - core.show_formspec(user:get_player_name(), formname, form) -end - -local function get_meta_keylist(meta, playername, escaped) - local keys = {} - local ekeys = {} - local mtable = meta:to_table() - for k,_ in pairs(mtable.fields) do - table.insert(keys, k) - if escaped then - table.insert(ekeys, F(k)) - else - table.insert(ekeys, k) - end - end - if playername then - meta_latest_keylist[playername] = keys - end - return table.concat(ekeys, ",") -end - -core.register_tool("testtools:node_meta_editor", { - description = S("Node Meta Editor") .. "\n" .. - S("Place: Edit node metadata"), - inventory_image = "testtools_node_meta_editor.png", - groups = { testtool = 1, disable_repair = 1 }, - on_place = function(itemstack, user, pointed_thing) - if pointed_thing.type ~= "node" then - return itemstack - end - if not user:is_player() then - return itemstack - end - local pos = pointed_thing.under - node_meta_posses[user:get_player_name()] = pos - local meta = core.get_meta(pos) - local inv = meta:get_inventory() - show_meta_formspec(user, "node", pos, "", "", get_meta_keylist(meta, user:get_player_name(), true)) - return itemstack - end, -}) - -local function get_item_next_to_wielded_item(player) - local inv = player:get_inventory() - local wield = player:get_wield_index() - local itemstack = inv:get_stack("main", wield+1) - return itemstack -end -local function set_item_next_to_wielded_item(player, itemstack) - local inv = player:get_inventory() - local wield = player:get_wield_index() - inv:set_stack("main", wield+1, itemstack) -end - -local function use_item_meta_editor(itemstack, user, pointed_thing) - if not user:is_player() then - return itemstack - end - local item_to_edit = get_item_next_to_wielded_item(user) - if item_to_edit:is_empty() then - core.chat_send_player(user:get_player_name(), S("Place an item next to the Item Meta Editor in your inventory first!")) - return itemstack - end - local meta = item_to_edit:get_meta() - show_meta_formspec(user, "item", item_to_edit, "", "", get_meta_keylist(meta, user:get_player_name(), true)) - return itemstack -end - -core.register_tool("testtools:item_meta_editor", { - description = S("Item Meta Editor") .. "\n" .. - S("Punch/Place: Edit item metadata of item in the next inventory slot"), - inventory_image = "testtools_item_meta_editor.png", - groups = { testtool = 1, disable_repair = 1 }, - on_use = use_item_meta_editor, - on_secondary_use = use_item_meta_editor, - on_place = use_item_meta_editor, -}) - -core.register_on_player_receive_fields(function(player, formname, fields) - if not (player and player:is_player()) then - return - end - if formname == "testtools:entity_list" then - local name = player:get_player_name() - if fields.entity_list then - local expl = core.explode_textlist_event(fields.entity_list) - if expl.type == "DCL" then - local pos = vector.add(player:get_pos(), {x=0,y=1,z=0}) - selections[name] = expl.index - core.add_entity(pos, get_entity_list()[expl.index]) - return - elseif expl.type == "CHG" then - selections[name] = expl.index - return - end - elseif fields.spawn and selections[name] then - local pos = vector.add(player:get_pos(), {x=0,y=1,z=0}) - core.add_entity(pos, get_entity_list()[selections[name]]) - return - end - elseif formname == "testtools:object_editor" then - local name = player:get_player_name() - if fields.object_props then - local expl = core.explode_textlist_event(fields.object_props) - if expl.type == "DCL" or expl.type == "CHG" then - property_formspec_index[name] = expl.index - - local props = selected_objects[name]:get_properties() - local keys = property_formspec_data[name] - if (not property_formspec_index[name]) or (not props) then - return - end - local key = keys[property_formspec_index[name]] - editor_formspec_selindex[name] = expl.index - editor_formspec(name, selected_objects[name], prop_to_string(props[key]), expl.index) - return - end - end - if fields.key_enter_field == "value" or fields.submit then - local props = selected_objects[name]:get_properties() - local keys = property_formspec_data[name] - if (not property_formspec_index[name]) or (not props) then - return - end - local key = keys[property_formspec_index[name]] - if not key then - return - end - local success, str = use_loadstring(fields.value, player) - if success then - props[key] = str - else - core.chat_send_player(name, str) - return - end - selected_objects[name]:set_properties(props) - local sel = editor_formspec_selindex[name] - editor_formspec(name, selected_objects[name], prop_to_string(props[key]), sel) - return - end - elseif formname == "testtools:node_setter" then - local playername = player:get_player_name() - local witem = player:get_wielded_item() - if witem:get_name() == "testtools:node_setter" then - if fields.nodename and fields.param2 then - local param2 = tonumber(fields.param2) - if not param2 then - return - end - local meta = witem:get_meta() - meta:set_string("node", fields.nodename) - meta:set_int("node_param2", param2) - player:set_wielded_item(witem) - end - end - elseif formname == "testtools:node_meta_editor" or formname == "testtools:item_meta_editor" then - local name = player:get_player_name() - local metatype - local pos_or_item - if formname == "testtools:node_meta_editor" then - metatype = "node" - pos_or_item = node_meta_posses[name] - else - metatype = "item" - pos_or_item = get_item_next_to_wielded_item(player) - end - if fields.keylist then - local evnt = core.explode_textlist_event(fields.keylist) - if evnt.type == "DCL" or evnt.type == "CHG" then - local keylist_table = meta_latest_keylist[name] - if metatype == "node" and not pos_or_item then - return - end - local meta - if metatype == "node" then - meta = core.get_meta(pos_or_item) - else - meta = pos_or_item:get_meta() - end - if not keylist_table then - return - end - if #keylist_table == 0 then - return - end - local key = keylist_table[evnt.index] - local value = meta:get_string(key) - local keylist_escaped = {} - for k,v in pairs(keylist_table) do - keylist_escaped[k] = F(v) - end - local keylist = table.concat(keylist_escaped, ",") - show_meta_formspec(player, metatype, pos_or_item, key, value, keylist) - return - end - elseif fields.key and fields.key ~= "" and fields.value then - if metatype == "node" and not pos_or_item then - return - end - local meta - if metatype == "node" then - meta = core.get_meta(pos_or_item) - elseif metatype == "item" then - if pos_or_item:is_empty() then - return - end - meta = pos_or_item:get_meta() - end - if fields.set then - meta:set_string(fields.key, fields.value) - if metatype == "item" then - set_item_next_to_wielded_item(player, pos_or_item) - end - show_meta_formspec(player, metatype, pos_or_item, fields.key, fields.value, - get_meta_keylist(meta, name, true)) - end - return - end - end -end) - -core.register_on_leaveplayer(function(player) - local name = player:get_player_name() - meta_latest_keylist[name] = nil - node_meta_posses[name] = nil -end) - --- Pointing Staffs - -core.register_tool("testtools:blocked_pointing_staff", { - description = S("Blocked Pointing Staff").."\n".. - S("Can point the Blocking Pointable Node/Object and ".. - "the Pointable Node/Object is point blocking."), - inventory_image = "testtools_blocked_pointing_staff.png", - pointabilities = { - nodes = { - ["testnodes:blocking_pointable"] = true, - ["group:pointable_test"] = "blocking" - }, - objects = { - ["testentities:blocking_pointable"] = true, - ["group:pointable_test"] = "blocking" - } - } -}) - -core.register_tool("testtools:ultimate_pointing_staff", { - description = S("Ultimate Pointing Staff").."\n".. - S("Can point all pointable test nodes, objects and liquids."), - inventory_image = "testtools_ultimate_pointing_staff.png", - liquids_pointable = true, - pointabilities = { - nodes = { - ["group:blocking_pointable_test"] = true, - ["group:pointable_test"] = true, - ["testnodes:not_pointable"] = true - }, - objects = { - ["group:blocking_pointable_test"] = true, - ["group:pointable_test"] = true, - ["testentities:not_pointable"] = true - } - } -}) diff --git a/data/games/garage/mods/testtools/light.lua b/data/games/garage/mods/testtools/light.lua deleted file mode 100644 index 861a358..0000000 --- a/data/games/garage/mods/testtools/light.lua +++ /dev/null @@ -1,37 +0,0 @@ - -local S = core.get_translator("testtools") - -local function get_func(is_place) - return function(itemstack, user, pointed_thing) - local pos - if is_place then - pos = pointed_thing.under - else - pos = pointed_thing.above - end - if pointed_thing.type ~= "node" or not pos then - return - end - - local node = core.get_node(pos) - local pstr = core.pos_to_string(pos) - local time = core.get_timeofday() - local sunlight = core.get_natural_light(pos) - local artificial = core.get_artificial_light(node.param1) - local message = ("pos=%s | param1=0x%02x | " .. - "sunlight=%d | artificial=%d | timeofday=%.5f" ) - :format(pstr, node.param1, sunlight, artificial, time) - core.chat_send_player(user:get_player_name(), message) - end -end - -core.register_tool("testtools:lighttool", { - description = S("Light Tool") .. "\n" .. - S("Show light values of node") .. "\n" .. - S("Punch: Light of node above touched node") .. "\n" .. - S("Place: Light of touched node itself"), - inventory_image = "testtools_lighttool.png", - groups = { testtool = 1, disable_repair = 1 }, - on_use = get_func(false), - on_place = get_func(true), -}) diff --git a/data/games/garage/mods/testtools/mod.conf b/data/games/garage/mods/testtools/mod.conf deleted file mode 100644 index cde1b26..0000000 --- a/data/games/garage/mods/testtools/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = testtools -description = Some tools to directly manipulate nodes and entities. Great for development and testing diff --git a/data/games/garage/mods/testtools/node_box_visualizer.lua b/data/games/garage/mods/testtools/node_box_visualizer.lua deleted file mode 100644 index 444f939..0000000 --- a/data/games/garage/mods/testtools/node_box_visualizer.lua +++ /dev/null @@ -1,79 +0,0 @@ -local S = core.get_translator("testtools") - -core.register_entity("testtools:visual_box", { - initial_properties = { - visual = "cube", - textures = { - "blank.png", "blank.png", "blank.png", - "blank.png", "blank.png", "blank.png", - }, - use_texture_alpha = true, - physical = false, - pointable = false, - static_save = false, - }, - - on_activate = function(self) - self.timestamp = core.get_us_time() + 5000000 - end, - - on_step = function(self) - if core.get_us_time() >= self.timestamp then - self.object:remove() - end - end, -}) - -local BOX_TYPES = {"node_box", "collision_box", "selection_box"} -local DEFAULT_BOX_TYPE = "selection_box" - -local function visualizer_on_use(itemstack, user, pointed_thing) - if pointed_thing.type ~= "node" then - return - end - - local meta = itemstack:get_meta() - local box_type = meta:get("box_type") or DEFAULT_BOX_TYPE - - local result = core.get_node_boxes(box_type, pointed_thing.under) - local t = "testtools_visual_" .. box_type .. ".png" - - for _, box in ipairs(result) do - local box_min = pointed_thing.under + vector.new(box[1], box[2], box[3]) - local box_max = pointed_thing.under + vector.new(box[4], box[5], box[6]) - local box_center = (box_min + box_max) / 2 - local obj = core.add_entity(box_center, "testtools:visual_box") - if not obj then - break - end - obj:set_properties({ - textures = {t, t, t, t, t, t}, - -- Add a small offset to avoid Z-fighting. - visual_size = vector.add(box_max - box_min, 0.01), - }) - end -end - -local function visualizer_on_place(itemstack, placer, pointed_thing) - local meta = itemstack:get_meta() - local prev_value = meta:get("box_type") or DEFAULT_BOX_TYPE - local prev_index = table.indexof(BOX_TYPES, prev_value) - assert(prev_index ~= -1) - - local new_value = BOX_TYPES[(prev_index % #BOX_TYPES) + 1] - meta:set_string("box_type", new_value) - core.chat_send_player(placer:get_player_name(), S("[Node Box Visualizer] box_type = @1", new_value)) - - return itemstack -end - -core.register_tool("testtools:node_box_visualizer", { - description = S("Node Box Visualizer") .. "\n" .. - S("Punch: Show node/collision/selection boxes of the pointed node") .. "\n" .. - S("Place: Change selected box type (default: selection box)"), - inventory_image = "testtools_node_box_visualizer.png", - groups = { testtool = 1, disable_repair = 1 }, - on_use = visualizer_on_use, - on_place = visualizer_on_place, - on_secondary_use = visualizer_on_place, -}) diff --git a/data/games/garage/mods/testtools/particles.lua b/data/games/garage/mods/testtools/particles.lua deleted file mode 100644 index 17f4f5c..0000000 --- a/data/games/garage/mods/testtools/particles.lua +++ /dev/null @@ -1,36 +0,0 @@ -core.register_tool("testtools:particle_spawner", { - description = "Particle Spawner".."\n".. - "Punch: Spawn random test particle", - inventory_image = "testtools_particle_spawner.png", - groups = { testtool = 1, disable_repair = 1 }, - on_use = function(itemstack, user, pointed_thing) - local pos = core.get_pointed_thing_position(pointed_thing, true) - if pos == nil then - if user then - pos = user:get_pos() - end - end - pos = vector.add(pos, {x=0, y=0.5, z=0}) - local tex, anim - if math.random(0, 1) == 0 then - tex = "testtools_particle_sheet.png" - anim = {type="sheet_2d", frames_w=3, frames_h=2, frame_length=0.5} - else - tex = "testtools_particle_vertical.png" - anim = {type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} - end - - core.add_particle({ - pos = pos, - velocity = {x=0, y=0, z=0}, - acceleration = {x=0, y=0.04, z=0}, - expirationtime = 6, - collisiondetection = true, - texture = tex, - animation = anim, - size = 4, - glow = math.random(0, 5), - }) - end, -}) - diff --git a/data/games/garage/mods/testtools/privatizer.lua b/data/games/garage/mods/testtools/privatizer.lua deleted file mode 100644 index 54c3508..0000000 --- a/data/games/garage/mods/testtools/privatizer.lua +++ /dev/null @@ -1,29 +0,0 @@ -core.register_tool("testtools:privatizer", { - description = "Node Meta Privatizer".."\n".. - "Punch: Marks 'infotext' and 'formspec' meta fields of chest as private", - inventory_image = "testtools_privatizer.png", - groups = { testtool = 1, disable_repair = 1 }, - on_use = function(itemstack, user, pointed_thing) - if pointed_thing.type == "node" then - local node = core.get_node(pointed_thing.under) - if core.get_item_group(node.name, "meta_is_privatizable") == 1 then - local p = pointed_thing.under - core.log("action", "[testtools] Privatizer used at "..core.pos_to_string(p)) - core.get_meta(p):mark_as_private({"infotext", "formspec"}) - if user and user:is_player() then - core.chat_send_player(user:get_player_name(), "Node metadata (infotext, formspec) set private!") - end - return - elseif node.name == "chest_of_everything:chest" then - if user and user:is_player() then - core.chat_send_player(user:get_player_name(), "Privatizer can't be used on the Chest of Everything. Use it on a normal chest.") - end - return - end - end - if user and user:is_player() then - core.chat_send_player(user:get_player_name(), "Privatizer can only be used on chest!") - end - end, -}) - diff --git a/data/games/garage/mods/testtools/textures/testtools_blocked_pointing_staff.png b/data/games/garage/mods/testtools/textures/testtools_blocked_pointing_staff.png deleted file mode 100644 index aa1cdb97aa1c8393e2272e4608406afc829a6370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0T36GBPc~;Q#;shUrFU zfPBW1AirP+hi5m^fE+DP7sn8e=;Q*M=|9Gif;7(8A5T-G@yGywoL(jtfe diff --git a/data/games/garage/mods/testtools/textures/testtools_branding_iron.png b/data/games/garage/mods/testtools/textures/testtools_branding_iron.png deleted file mode 100644 index 9ac2bb7f4558ff9ebd5aee7c7575d6a73444fbc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Hl8kyAr_~T6Bd~Luy1^5Z));S zG5m4;BwmNh9LbZP_Sy&hxqt22v>fLL>m*EBmMhk?-I-wDd`zH=w}F{qVUf|5mD`_W Q0nK6XboFyt=akR{0Oolp5dZ)H diff --git a/data/games/garage/mods/testtools/textures/testtools_children_getter.png b/data/games/garage/mods/testtools/textures/testtools_children_getter.png deleted file mode 100644 index 763a1e3d7cc10edfd400561021b873e77b27ed66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`X`U{QAr_~TKYaX{=)nA+Gr

    z>-E2jU;hir|S8q+6U76}5_UGSR!`EDms*%A3b2d79c`Qh~`jk!6 zBj|v9FRQ`aI6sesdrY?Gr=CYkm~W4gk={I$B{}VLu9*4t!cQglwK>mdKI;Vst0Nn;f=>Px# diff --git a/data/games/garage/mods/testtools/textures/testtools_entity_spawner.png b/data/games/garage/mods/testtools/textures/testtools_entity_spawner.png deleted file mode 100644 index 6199e0145fdb4252ba60c8bf6845a85f7104bf0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr*{kCN;7hFyL`vKhW^^ z?=R2S`mH`Md~N1(+4ikG?Y-;S4ORJPGkJe&yN{1nQ*)ha-7Sm*nHd=7mwzn|Pyg2lbPt24tDnm{r-UW|C~!&j diff --git a/data/games/garage/mods/testtools/textures/testtools_falling_node_tool.png b/data/games/garage/mods/testtools/textures/testtools_falling_node_tool.png deleted file mode 100644 index 30099a7ef4201f6f6bfe8e8c52c3a5a371c6f615..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`!JaOTAr*|t2iX1enUXDj{CQ?F zLoMubeF~4LGEV}R;w%M;BW))xUSeR8Si|OE!oP&kCDY+J2eW};T(qH~=emUs#!9PB nT_j#Hntbdto z!S=Cz8F#`g#Tg|H1`Rs-3wJljFVdQ&MBb@0QKD@O#lD@ diff --git a/data/games/garage/mods/testtools/textures/testtools_lighttool.png b/data/games/garage/mods/testtools/textures/testtools_lighttool.png deleted file mode 100644 index 470adbac8815e3f5944dc64609f409553ac5e343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr_~T6BwH8|L^^0?7*mJ zW@os_^Bn7LNGV`7L}p}0zT-g5<@ O%?zHdelF{r5}E)c>osTq diff --git a/data/games/garage/mods/testtools/textures/testtools_node_box_visualizer.png b/data/games/garage/mods/testtools/textures/testtools_node_box_visualizer.png deleted file mode 100644 index 1b16aa7941c133ccc4555904caef4cd829337cc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#-1*YAr_~T6C`{d*bC0sz_?ue z;jtE;Ms20*0wu00)$B(Ziee127^W_oq{Z2#b#hi61B2$=k8UBM9bbXk89ZJ6T-G@y GGywpuqaRZM diff --git a/data/games/garage/mods/testtools/textures/testtools_node_meta_editor.png b/data/games/garage/mods/testtools/textures/testtools_node_meta_editor.png deleted file mode 100644 index 89eafd65cf92dda7565c70cbbc46a4a2d20ca566..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ex5FlAr*|t3M_v5Ovx5M{yZ~@ z`}*I|p!0$K1v8B{$%X>PDZaC~4R{yqXwsS}~a0j1cRaWG= iV3^44;d}223&YAw%kNGpxaI&fnZeW5&t;ucLK6THcPrii diff --git a/data/games/garage/mods/testtools/textures/testtools_node_setter.png b/data/games/garage/mods/testtools/textures/testtools_node_setter.png deleted file mode 100644 index 8599438def3981bff86847fe5a77229a2e11d8c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k)AG&Ar*{gCo-}faNuG2&i(g_ zt;zkH?y)ZwG6XFb9kw#4_BJ_L_sCmy&lClrOlz)9&C};^J`fnw)bm5oi%Uj~VRLZK uiJeO{nZ+Y`f7Z@z<6$@Y6Uz3aGH;VuX2AJ-Qs04=FnGH9xvXgTe~DWM4f`a?yO diff --git a/data/games/garage/mods/testtools/textures/testtools_object_editor.png b/data/games/garage/mods/testtools/textures/testtools_object_editor.png deleted file mode 100644 index d1ce9cecdb5919c281848625c5532b808cdd4fe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*{!Cm!T%2;gz9{{HNY z-a_e>+M-%d-8me!_WogCnBeJiHSKW#kKplKo_R}8)Z{S+Hb|6Y9oTeB`oXK~YElB1 z4p{T<*ye2d+w@F`<XZ)VJs{4Hd<{lM9rXA`V0{1jJgu-6HmZTdi8<;z*m e=Pd2dJ~JFk?Y~=7lN}Cp27{-opUXO@geCx!4n@ZR diff --git a/data/games/garage/mods/testtools/textures/testtools_object_mover.png b/data/games/garage/mods/testtools/textures/testtools_object_mover.png deleted file mode 100644 index 8b14e9fb2a680154ede93137b9a3928f6f4c9d7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Wu7jMAr*{gCKz%xIPkDszWwu= zjnm)2FM(Wn8=WM!?rANEF`TSw=(kN-L!HMu5QHW;!rZL8Jv zW&X0M!F>DSVW+d*Una7Vdud`{{%u8&cL)@lLejRR3)saP|u; Z!^#=iCm8NZ%L84&;OXk;vd$@?2>^_nK^p)7 diff --git a/data/games/garage/mods/testtools/textures/testtools_param2tool.png b/data/games/garage/mods/testtools/textures/testtools_param2tool.png deleted file mode 100644 index dbc66357589142a637ad07b4a34e98b8e475bf87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Zk{fVAr*|t3sisf_jq2bs1h_% zyQSd6%fakvz~J(D^5Uh8J46NE@=9f@op1OrlIfPQB*ZwA!S-w7aTcBf-JH@6BFoem Z7=kvodCdBH|2xn`22WQ%mvv4FO#n+?CY%5O diff --git a/data/games/garage/mods/testtools/textures/testtools_particle_sheet.png b/data/games/garage/mods/testtools/textures/testtools_particle_sheet.png deleted file mode 100644 index 6d70394e48d6a2451598c9cd9cdb1947d0559f0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9#0(@gcM10cDb4_&5Z8bI{{8>|{~{aP0fk0G zpkR}yi(^OyWAAxJHfBSC)`unybCx_4v5jIiSRTRn(eGyci8U)OZPAhd>$41eISp(qEPCD+FS%uIwXWmMpZL3}N-F($_eJCV-!!dzR;RPR zYmj$VKk`Y=V1d}@#!C&CO%&okw5sR&A6Xpk)bRPaoxFnAoTCNvCYb_V!{F)a=d#Wz Gp$PzOI!(R+ diff --git a/data/games/garage/mods/testtools/textures/testtools_particle_spawner.png b/data/games/garage/mods/testtools/textures/testtools_particle_spawner.png deleted file mode 100644 index 5bd276b61356f0a41e8fc41ccd37514617d68e01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4xTQKAr*|t5+M)l1^z28;aK&| zKCDwZF7ChMq#rtst9~{IGX_eqaNKC(J#2dUTtgtUM*p$@Q`A&8qybby&bmt{iv Ulap6-fo3syy85}Sb4q9e011F71poj5 diff --git a/data/games/garage/mods/testtools/textures/testtools_particle_vertical.png b/data/games/garage/mods/testtools/textures/testtools_particle_vertical.png deleted file mode 100644 index 0320b7545a55e89c7438a91c6fbf6a1b6590cc0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmV-40n7f0P)J+U(t5a@$ z(mz?V(v#q+82$ZHlD`kJh;e6F(!mBC#7p@03sKK`q=DTM^GS5zGi4M^vCbn>W0000d3L$m zz;I)mg0|biBT`M?4-ZH<>=Q3YoW$d>eXfpp!sE-=88!(E%h_-+GHm3V_35#-+e@G+ N44$rjF6*2Ung9*1Bmw{c diff --git a/data/games/garage/mods/testtools/textures/testtools_remover.png b/data/games/garage/mods/testtools/textures/testtools_remover.png deleted file mode 100644 index 73f14cd549949a103d0799da7bdb64c03e8f3382..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9-c0aAr*|t3sisfyU*G1>~da0 z>;J+|;VU&&f=-63EF{|=T=lsjU}U1qP-+tVu7+j4-Npug!HKgPP5fMsWFBMASS0yy cOCtlr$-d5G>mLN<1I=XcboFyt=akR{0K&;ETmS$7 diff --git a/data/games/garage/mods/testtools/textures/testtools_ultimate_pointing_staff.png b/data/games/garage/mods/testtools/textures/testtools_ultimate_pointing_staff.png deleted file mode 100644 index e4d80fb4d1c1f92609082c9667103a7b9ec2fc61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0Yx-%^)%|^8f$;${!qs zfqcf2AirP+hi5m^fE+DP7sn8e=;QmpL{Qv*oQPxBdD8g70 zs0gasT02Rcp(J1p{K_7K_6AQYppvH!TF1{*`K6071P3I16? O#SEUVelF{r5}E)vW+5#A diff --git a/data/games/garage/mods/testtranslations/init.lua b/data/games/garage/mods/testtranslations/init.lua deleted file mode 100644 index a2de998..0000000 --- a/data/games/garage/mods/testtranslations/init.lua +++ /dev/null @@ -1,26 +0,0 @@ -local S, NS = core.get_translator("testtranslations") - -local function send_compare(name, text) - core.chat_send_player(name, ("%s | %s | %s"):format( - core.get_translated_string("", text), text, core.get_translated_string("fr", text))) -end - -core.register_chatcommand("testtranslations", { - params = "", - description = "Test translations", - privs = {}, - func = function(name, param) - core.chat_send_player(name, "Please ensure your locale is set to \"fr\"") - core.chat_send_player(name, "Untranslated | Client-side translation | Server-side translation (fr)") - send_compare(name, S("Testing .tr files: untranslated")) - send_compare(name, S("Testing .po files: untranslated")) - send_compare(name, S("Testing .mo files: untranslated")) - send_compare(name, S("Testing fuzzy .po entry: untranslated (expected)")) - send_compare(name, core.translate("translation_po", "Testing .po without context: untranslated")) - send_compare(name, core.translate("translation_mo", "Testing .mo without context: untranslated")) - for i = 0,4 do - send_compare(name, NS("@1: .po singular", "@1: .po plural", i, tostring(i))) - send_compare(name, NS("@1: .mo singular", "@1: .mo plural", i, tostring(i))) - end - end -}) diff --git a/data/games/garage/mods/testtranslations/locale/testtranslations.fr.po b/data/games/garage/mods/testtranslations/locale/testtranslations.fr.po deleted file mode 100644 index 2bcc6c7..0000000 --- a/data/games/garage/mods/testtranslations/locale/testtranslations.fr.po +++ /dev/null @@ -1,9 +0,0 @@ -# Dummy entry. This is a test to make sure that a parser error is not thrown -# if the following line is msgctxt. -msgctxt "testtranslations" -msgid "Dummy entry" -msgstr "Dummy result" - -# Used for translating the mod title -msgid "Test translations" -msgstr "Test translations (French)" diff --git a/data/games/garage/mods/testtranslations/locale/translation_mo.fr.mo b/data/games/garage/mods/testtranslations/locale/translation_mo.fr.mo deleted file mode 100644 index 0e7190de975563e0ec746fb84affeacd5313d3ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 494 zcmaKn!A^uQ6h%>SGfUT+bf+xP!PNw0Vq#?N0(WjIbfmGoVq2nqhjHaEx$q186O*~X zFpiqoaB^GvUhlh~d;Y73<%4~226n*>=vD&)@BpUZZKdzf8hn96aKAP5zCaIf{($1^ z--USFV5i&U!a7NJ?6}tKQMyXEjuo1mcycjo$r(;oaVJX8p>jM*P1Zk;;=awIzg66L zxNqh6JAoG zOH2{7*{yVwtKL7%w5ef1!#FlQP1vwaX&xp2Cm(|%_n2zRIF&47N0|{+RBVhLtSjc< OmxEF8!(1 (French plural)" - -#, foo bar fuzzy -msgctxt "testtranslations" -msgid "Testing fuzzy .po entry: untranslated (expected)" -msgstr "Testing fuzzy .po entry: translated (wrong)" - -msgid "Testing .po without context: untranslated" -msgstr "Testing .po without context: translated" diff --git a/data/games/garage/mods/testtranslations/locale/translation_tr.fr.tr b/data/games/garage/mods/testtranslations/locale/translation_tr.fr.tr deleted file mode 100644 index b9ac66a..0000000 --- a/data/games/garage/mods/testtranslations/locale/translation_tr.fr.tr +++ /dev/null @@ -1,2 +0,0 @@ -# textdomain: testtranslations -Testing .tr files: untranslated=Testing .tr files: translated diff --git a/data/games/garage/mods/testtranslations/mod.conf b/data/games/garage/mods/testtranslations/mod.conf deleted file mode 100644 index 1fc09cf..0000000 --- a/data/games/garage/mods/testtranslations/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = testtranslations -title = Test translations -description = Test mod to test translations. diff --git a/data/games/garage/mods/testtranslations/test_locale/readme.txt b/data/games/garage/mods/testtranslations/test_locale/readme.txt deleted file mode 100644 index 7a2ed43..0000000 --- a/data/games/garage/mods/testtranslations/test_locale/readme.txt +++ /dev/null @@ -1,4 +0,0 @@ -The translation files in this directory intentionally include errors (which -would be reported when someone starts the devtest game in the de locale). This -allows the unittest to check that the translation file reader also handles -files that include errors. diff --git a/data/games/garage/mods/testtranslations/test_locale/translation_mo.de.mo b/data/games/garage/mods/testtranslations/test_locale/translation_mo.de.mo deleted file mode 100644 index ffe05cd7100205ba38f331c44274392b87e821ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 446 zcmZXOF>b;@5Jd+tP#_|NQi52QDO`{e%M}tzK@mYgZIOi_*=uWe9f3s44d4z*OOxBA z;~e3eU0Vtn`RUJ$zGweW*EtcY0eWBxT3`?I`UGw81qR^T&c7%Z{RKRNW`*bp+JknW z6Q~DWKp&t7Xdiln=J(G~d{hH@)q!*Ch^o*$&z~A6Qf8@UTxhv-i%D(7I*UR{#UhO| z8AdeYaq_|6jGLB;(0r?%xplKuB4c{JSxsL!790J}>|hPv1ZFj2!kkvYv(HQ$Fu~k_ k4gKPEJSe%!BK1;" - -msgctxt "testtranslations" -msgid "Testing .mo files: untranslated" -msgstr "Testing .mo files: translated" - -msgid "Testing .mo without context: untranslated" -msgstr "Testing .mo without context: translated" - -msgctxt "testtranslations" -msgid "@1: .mo singular" -msgid_plural "@1: .mo plural" -msgstr[0] "@1: .mo 0 and 1 (French singular)" -msgstr[1] "@1: .mo >1 (French plural)" diff --git a/data/games/garage/mods/tiled/init.lua b/data/games/garage/mods/tiled/init.lua deleted file mode 100644 index 51e1fda..0000000 --- a/data/games/garage/mods/tiled/init.lua +++ /dev/null @@ -1,50 +0,0 @@ -local align_help = "Texture spans over a space of 8×8 nodes" -local align_help_n = "Tiles looks the same for every node" - -core.register_node("tiled:tiled", { - description = "Tiled Node (world-aligned)".."\n"..align_help, - tiles = {{ - name = "tiled_tiled.png", - align_style = "world", - scale = 8, - }}, - groups = {cracky=3}, -}) - -core.register_node("tiled:tiled_rooted", { - description = "Tiled 'plantlike_rooted' Node (world-aligned)".."\n".. - "Base node texture spans over a space of 8×8 nodes".."\n".. - "A plantlike thing grows on top", - paramtype = "light", - drawtype = "plantlike_rooted", - tiles = {{ - name = "tiled_tiled.png", - align_style = "world", - scale = 8, - }}, - special_tiles = {"tiled_tiled_node.png"}, - groups = {cracky=3}, -}) - -core.register_node("tiled:tiled_n", { - description = "Tiled Node (node-aligned)".."\n"..align_help_n, - tiles = {{ - name = "tiled_tiled_node.png", - align_style = "node", - }}, - groups = {cracky=3}, -}) - -stairs.register_stair_and_slab("tiled_n", "tiled:tiled_n", - {cracky=3}, - {{name="tiled_tiled_node.png", align_style="node"}}, - "Tiled Stair (node-aligned)".."\n"..align_help_n, - "Tiled Slab (node-aligned)".."\n"..align_help_n) - -stairs.register_stair_and_slab("tiled", "tiled:tiled", - {cracky=3}, - {{name="tiled_tiled.png", align_style="world", scale=8}}, - "Tiled Stair (world-aligned)".."\n"..align_help, - "Tiled Slab (world-aligned)".."\n"..align_help) - - diff --git a/data/games/garage/mods/tiled/mod.conf b/data/games/garage/mods/tiled/mod.conf deleted file mode 100644 index 78b19f9..0000000 --- a/data/games/garage/mods/tiled/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = tiled -description = Add nodes with a special texture that spans multiple nodes (aka "world-aligned") -depends = stairs diff --git a/data/games/garage/mods/tiled/textures/tiled_tiled.png b/data/games/garage/mods/tiled/textures/tiled_tiled.png deleted file mode 100644 index 363a264870a5927f03e7fd4c74e22066cf09d403..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLDIp#Yx{S0Fue=FBr^&in@gAcx`q zo1Lue3=E9Uo-U3d6^w6ZI_4cR5OMLWW{hgBy&Jcn>n!7{XH0=le#b9Wo2OT&rC6`l zZ6cNLHsgt5!WV;2opN_i8^zf_GHScV^L5|nmC*w6q7#lCOmpgcy{4f~r(qpK6+@EL z1Z{^clEMtO46oS)XZ~Bp+QXI*_b^ZS@`HQn0>RGARiYUOSR1tUGR_qIWKCf(0x~AN zWc$syVfBYEe!b>$A97ah{4Ct?{@`n76$Va*cK#20G9P?ml#6y)%r7Nn^5cNngYZVi zCp-OYCS){l*5_SKI96Sy^ONn5)(Lio6YQT3iVFX`bIs#ZV~v9RnICz-C$qmf?7`w- zH-UeP{f*msvA>yrf;ii5Ed(lVtSMMmdKI;Vst0LkgE Ah5!Hn diff --git a/data/games/garage/mods/tiled/textures/tiled_tiled_node.png b/data/games/garage/mods/tiled/textures/tiled_tiled_node.png deleted file mode 100644 index cc6902850c541825206a6bf8ac4a3d01b637043a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)*Z&L*XU?4F00ChJhW`wV z|IeH`^Z!3km|^yUmotIXOivfbkP616gb)_y$qpQAk153Qu`PYbaOy-;L!t)TqEchd zU<3Bm{U5E_#jh`(vUC2!*5du5>{V~0gdZqAjBSzOJI$Mz?!Bn8L(s9EgZ*KpzpkU~ zX+Z;}EPKBN6AJ96xXx5EEzB!#*moJ{-NW^!Q(QwRRQRmId`lMby*k!9m(M7>gTe~DWM4fU=&yL diff --git a/data/games/garage/mods/tnt/README.txt b/data/games/garage/mods/tnt/README.txt new file mode 100644 index 0000000..ad9ca0e --- /dev/null +++ b/data/games/garage/mods/tnt/README.txt @@ -0,0 +1,73 @@ +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 Game developers and contributors (MIT) + +Authors of media +---------------- +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. + +TumeniNodes (CC0 1.0) +tnt_explode.ogg +renamed, edited, and converted to .ogg from Explosion2.wav +by steveygos93 (CC0 1.0) + + +tnt_ignite.ogg +renamed, edited, and converted to .ogg from sparkler_fuse_nm.wav +by theneedle.tv (CC0 1.0) + + +tnt_gunpowder_burning.ogg +renamed, edited, and converted to .ogg from road flare ignite burns.wav +by frankelmedico (CC0 1.0) + + + +Introduction +------------ +This mod adds TNT. 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/data/games/garage/mods/tnt/init.lua b/data/games/garage/mods/tnt/init.lua new file mode 100644 index 0000000..05f01e3 --- /dev/null +++ b/data/games/garage/mods/tnt/init.lua @@ -0,0 +1,713 @@ +-- tnt/init.lua + +tnt = {} + +-- Load support for MT game translation. +local S = minetest.get_translator("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.register_on_mods_loaded(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() + if obj_pos then + local dist = math.max(1, vector.distance(pos, obj_pos)) + + local damage = (4 / dist) * radius + if obj:is_player() then + local dir = vector.normalize(vector.subtract(obj_pos, pos)) + local moveoff = vector.multiply(dir, 2 / dist * radius) + obj:add_velocity(moveoff) + + obj:set_hp(obj:get_hp() - damage) + else + local luaobj = obj:get_luaentity() + + -- object might have disappeared somehow + if luaobj then + local do_damage = true + local do_knockback = true + local entity_drops = {} + 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 + 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 node + 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 then + node = { name = name } + if def.tiles and type(def.tiles[1]) == "string" then + texture = def.tiles[1] + end + 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.33, + maxsize = radius, + texture = texture, + -- ^ only as fallback for clients without support for `node` parameter + node = node, + 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, gain = 1.0}, true) + 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 + 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.CONTENT_AIR + local c_ignore = minetest.CONTENT_IGNORE + if enable_tnt then + c_tnt = minetest.get_content_id("tnt:tnt") + else + c_tnt = c_tnt_burning -- tnt is not registered if disabled + end + -- 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 + + -- Used to efficiently remove metadata of nodes that were destroyed. + -- Metadata is probably sparse, so this may save us some work. + local has_meta = {} + for _, p in ipairs(minetest.find_nodes_with_meta(p1, p2)) do + has_meta[a:indexp(p)] = true + end + + 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 and cid ~= c_ignore then + local new_cid = destroy(drops, p, cid, c_air, c_fire, + on_blast_queue, on_construct_queue, + ignore_protection, ignore_on_blast, owner) + + if new_cid ~= data[vi] then + data[vi] = new_cid + if has_meta[vi] then + minetest.get_meta(p):from_table(nil) + end + end + 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 and def.ignore_protection ~= true then + minetest.set_node(pos, {name = "tnt:boom"}) + end + local sound = def.sound or "tnt_explode" + minetest.sound_play(sound, {pos = pos, gain = 2.5, + max_hear_distance = math.min(def.radius * 20, 128)}, true) + 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", + inventory_image = "tnt_boom.png", + wield_image = "tnt_boom.png", + light_source = default.LIGHT_MAX, + walkable = false, + drop = "", + groups = {dig_immediate = 3, not_in_creative_inventory = 1}, + -- unaffected by explosions + on_blast = function() end, +}) + +minetest.register_node("tnt:gunpowder", { + description = S("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"}) + default.log_player_action(puncher, "ignites tnt:gunpowder at", 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"), + not_in_creative_inventory = 1 + }, + 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 = 1.0}, true) + 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 = S("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 and 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) + default.log_player_action(puncher, "ignites", node.name, "at", 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, not_in_creative_inventory = 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}, true) + minetest.get_node_timer(pos):start(4) + minetest.check_for_falling(pos) + end, + }) +end + +tnt.register_tnt({ + name = "tnt:tnt", + description = S("TNT"), + radius = tnt_radius, +}) diff --git a/data/games/garage/mods/tnt/license.txt b/data/games/garage/mods/tnt/license.txt new file mode 100644 index 0000000..903d4b0 --- /dev/null +++ b/data/games/garage/mods/tnt/license.txt @@ -0,0 +1,100 @@ +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 Game 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 +----------------- + +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/ + +==================================================== + +CC0 1.0 Universal (CC0 1.0) Public Domain Dedication +for audio files (found in sounds folder) +TumeniNodes +steveygos93 +theneedle.tv +frankelmedico + +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. + +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. + +This license is acceptable for Free Cultural Works. +For more Information: +https://creativecommons.org/publicdomain/zero/1.0/ + diff --git a/data/games/garage/mods/tnt/locale/template.txt b/data/games/garage/mods/tnt/locale/template.txt new file mode 100644 index 0000000..62bcb15 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/template.txt @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder= +TNT Stick= +TNT= diff --git a/data/games/garage/mods/tnt/locale/tnt.de.tr b/data/games/garage/mods/tnt/locale/tnt.de.tr new file mode 100644 index 0000000..09d2ac2 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.de.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Schießpulver +TNT Stick=TNT-Stange +TNT=TNT diff --git a/data/games/garage/mods/tnt/locale/tnt.eo.tr b/data/games/garage/mods/tnt/locale/tnt.eo.tr new file mode 100644 index 0000000..b467d2f --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.eo.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Pulvo +TNT Stick=Dinamita bastono +TNT=Dinamito diff --git a/data/games/garage/mods/tnt/locale/tnt.es.tr b/data/games/garage/mods/tnt/locale/tnt.es.tr new file mode 100644 index 0000000..d9f3f20 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.es.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Pólvora +TNT Stick=Cartucho de TNT +TNT=TNT diff --git a/data/games/garage/mods/tnt/locale/tnt.fr.tr b/data/games/garage/mods/tnt/locale/tnt.fr.tr new file mode 100644 index 0000000..3fe48fb --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.fr.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Poudre à canon +TNT Stick=Bâton de TNT +TNT=TNT diff --git a/data/games/garage/mods/tnt/locale/tnt.id.tr b/data/games/garage/mods/tnt/locale/tnt.id.tr new file mode 100644 index 0000000..2652ae0 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.id.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Bubuk Mesiu +TNT Stick=Tongkat TNT +TNT=TNT diff --git a/data/games/garage/mods/tnt/locale/tnt.it.tr b/data/games/garage/mods/tnt/locale/tnt.it.tr new file mode 100644 index 0000000..6437c00 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.it.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Polvere da sparo +TNT Stick=Candelotto di TNT +TNT=TNT diff --git a/data/games/garage/mods/tnt/locale/tnt.ja.tr b/data/games/garage/mods/tnt/locale/tnt.ja.tr new file mode 100644 index 0000000..d7af9f5 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.ja.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=火薬 +TNT Stick=ダイナマイト +TNT=TNT diff --git a/data/games/garage/mods/tnt/locale/tnt.jbo.tr b/data/games/garage/mods/tnt/locale/tnt.jbo.tr new file mode 100644 index 0000000..b1b425a --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=lo tercelpu'o +TNT Stick=lo granrti'enti +TNT=lo bamrti'enti diff --git a/data/games/garage/mods/tnt/locale/tnt.lv.tr b/data/games/garage/mods/tnt/locale/tnt.lv.tr new file mode 100644 index 0000000..2af9c2e --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.lv.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Šaujampulveris +TNT Stick=Dinamīta kociņš +TNT=Dinamīts diff --git a/data/games/garage/mods/tnt/locale/tnt.ms.tr b/data/games/garage/mods/tnt/locale/tnt.ms.tr new file mode 100644 index 0000000..8f537c7 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.ms.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Serbuk Letupan +TNT Stick=Batang TNT +TNT=TNT diff --git a/data/games/garage/mods/tnt/locale/tnt.pl.tr b/data/games/garage/mods/tnt/locale/tnt.pl.tr new file mode 100644 index 0000000..1ede267 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.pl.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Proch strzelniczy +TNT Stick=Dynamit +TNT=TNT diff --git a/data/games/garage/mods/tnt/locale/tnt.pt_BR.tr b/data/games/garage/mods/tnt/locale/tnt.pt_BR.tr new file mode 100644 index 0000000..d4fc174 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Pólvora +TNT Stick=Banana de Dinamite +TNT=Dinamite diff --git a/data/games/garage/mods/tnt/locale/tnt.ru.tr b/data/games/garage/mods/tnt/locale/tnt.ru.tr new file mode 100644 index 0000000..d8f55f1 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.ru.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Порох +TNT Stick=Динамитная шашка +TNT=Динамит diff --git a/data/games/garage/mods/tnt/locale/tnt.sk.tr b/data/games/garage/mods/tnt/locale/tnt.sk.tr new file mode 100644 index 0000000..639b8c8 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.sk.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Pušný prach +TNT Stick=Časť TNT +TNT=TNT diff --git a/data/games/garage/mods/tnt/locale/tnt.sv.tr b/data/games/garage/mods/tnt/locale/tnt.sv.tr new file mode 100644 index 0000000..fd08913 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.sv.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Krut +TNT Stick=Dynamitpinne +TNT=Dynamit diff --git a/data/games/garage/mods/tnt/locale/tnt.uk.tr b/data/games/garage/mods/tnt/locale/tnt.uk.tr new file mode 100644 index 0000000..5186549 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.uk.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Порох +TNT Stick=Тротилова шашка +TNT=Тротил diff --git a/data/games/garage/mods/tnt/locale/tnt.zh_CN.tr b/data/games/garage/mods/tnt/locale/tnt.zh_CN.tr new file mode 100644 index 0000000..4cb2e94 --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=火药粉 +TNT Stick=三硝基甲苯棒 +TNT=三硝基甲苯 diff --git a/data/games/garage/mods/tnt/locale/tnt.zh_TW.tr b/data/games/garage/mods/tnt/locale/tnt.zh_TW.tr new file mode 100644 index 0000000..c1b3caf --- /dev/null +++ b/data/games/garage/mods/tnt/locale/tnt.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=火藥粉 +TNT Stick=炸藥棒 +TNT=炸藥包 diff --git a/data/games/garage/mods/tnt/mod.conf b/data/games/garage/mods/tnt/mod.conf new file mode 100644 index 0000000..9385e82 --- /dev/null +++ b/data/games/garage/mods/tnt/mod.conf @@ -0,0 +1,3 @@ +name = tnt +description = Minetest Game mod: tnt +depends = default, fire diff --git a/data/games/garage/mods/tnt/sounds/tnt_explode.ogg b/data/games/garage/mods/tnt/sounds/tnt_explode.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e00a16c1a332404379bc5dfeb74007d6bd3d701d GIT binary patch literal 13580 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 V+38NfLd4EwiqSafi~lX&{{v}ltsVdX literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/tnt/sounds/tnt_ignite.ogg b/data/games/garage/mods/tnt/sounds/tnt_ignite.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1a7062e96dd71d51d8b6fe520cd831aa42c04c15 GIT binary patch literal 26196 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 DzB1aE literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/tnt/textures/tnt_blast.png b/data/games/garage/mods/tnt/textures/tnt_blast.png new file mode 100644 index 0000000000000000000000000000000000000000..92be28ba7412357a7fc6f6abedd8852002e229c5 GIT binary patch literal 472 zcmV;}0Vn>6P)Nklrc49=z+iXsqk{G@M0|8u!PK z2jAV*0q`}q0YV)TTPzmNd7J9^-;}EW5fejIRrzwc^z8D&%d$L^&||lol_yE!>-9PS z7@|o`V^@0L_rCA40HH1t?3$R6`g43bGr`Q!XY5dyV(hXr%kw;#ULMHk%AS)H>kVq*z0|2$$8%>hK zFd%>d%CO>u9RT{UruQQNkc({OV*?Om!=M+6VUhuW{V)TufyM8IWu;CpO|0 z0fezc#iasKfh@^n9hsl9=T1bZ#j;5n=rph(qGH=DjI6P#{2@T42u)04`TtsTln8eK z^Nd9;+w`rHPo+Z6)JTG7z)&SZmJE>TTP43pj!6IV=Kur%mb6^`4EzH6r6PZoB})qc O0000x;TbZF!r8y>HgM! z^>o4ClYMGi1OuZPI9w+*7>To1sI3vZ_gnf%+s{C5rjmw*SJ^IA9O#gaJWy`_-kkBm U+X>QYKtmZkUHx3vIVCg!0PsFO;Q#;t literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/tnt/textures/tnt_bottom.png b/data/games/garage/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/data/games/garage/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png b/data/games/garage/mods/tnt/textures/tnt_gunpowder_burning_crossing_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..efab2a9e676f7e738110bb8076282c4c0c5cf937 GIT binary patch literal 512 zcmV+b0{{JqP)>2hd-HkJGpU>2`D(uGuWEf4-CV6>Hor}o#m-D|r-d&Mt zn!Gr8JINDW863o&bX~V9)phOF2^*_URK{`iqMRGTwwfAZD7d?w6h*PVT$aVdHocVx zb+ms>S$3<3b+t%NLv#ywB@Hih(>9WK|T}lNIjf}eFd>|T=bAZb4zQ4`~ z+y`Qa3mo`h7=~ci>3?*rjJ@&!W8bQPNhX>b#5}fZfES~QHI=y{CN8M&E#)*m5Cf@* z#m1>v*l{KDK{67R4=gl(5+5)kFYy5zC+|k)gRJR<6J{N-S$yCE2kU_k^mrFOsH$pb zAWHK*@7`f(>wEl&XJJAs|K$d^Y;~m7(r4AM=0mF@>GQ!Od~kU_;CQq7z=CsDd&3y` zPkeC4L1;dVGxB5igzF?72oDY~Iv-#lGe1LbSTYM0k4}JjjWL}n7!VU8P0000PsvA2awjcBdeeNL~%5>ZSBNCl8YEFOTrt zbsd@F2}bsPC)Pm_kZknIqtL$ZQ<|m%G|#ipecxY40x!$52+b?YGNFfI&`YB%OG4=5 zI0{fzReE6d!r(ZLuk(E;bzKY4wrwx4v5{$-04D3R=SadZv@=i?g?a8yp27zWx2O?uxDLY%S4LA z?#soVc<&7WmSr(IjORtrIq=@+A(VU2_q|;w>^Kh2i*4IXDy0;{Fbuc#ecz3-jA@!o zszwOGnx>)Rzb#)Utm`^+&Xo(z^UNpFIrmaRMu@W>&p3{nKoWu#hmdw*{EB%XPa~W8 z)C*}EHK0TuNCH#^(#x@(X&$83DKDz=AcjNpfa-&HJYa#sj(vkq21__MIGL^Pme*gO#&@-Vc8NUXbVvQC2M@*Pm+Zu~?pXi;002ovPDHLkV1nvAnpFS* literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png b/data/games/garage/mods/tnt/textures/tnt_gunpowder_burning_t_junction_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..5b567e3839620fa44813733c79ca88c5228a5680 GIT binary patch literal 474 zcmV<00VV#4P)#YkEBI;Pd6)3k!sRsbBw@kUVB^*J(_&g(mnWE}$p@tX_A>;U+D zKFRleO4D=;=CUm2*zgIw85;q{Z~i|Bf@3S%wp}-OT}N4#Z7DSZr5o?y*#!_MB}uZb zuh)zEz6S{z!IFf7I1IyDRO&)v0(B+w+B6OE*P4JMukHiqcHX5?2Yx&rA62L|-(3$R z!D&5^U=)?=bRj5TYvhoCyN*}Z18EWTU>rv>Hk60~S-a(|2l7;P`dD094+P11J;3dR zOGZ^l?7vebLJw3VPWR$v1Zq8y8DNro^dJnwYvu!0EcP>!(|o`y&j%notp}I~ilUIp ztk(lrWj!BQr}5JH0N1-p4?uF?d~iuSJG~b!(E|+HPVWV^8{aC?N)Ke?SjU2aPVWU- z%JRJ+JJR@G;0^OU@5PnS=Ek-L0Qckn%?D0;fYUG^KveJ71ND5s{vYl61L;CZB@}Yz Qq5uE@07*qoM6N<$f`;kOp8x;= literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/tnt/textures/tnt_gunpowder_crossing.png b/data/games/garage/mods/tnt/textures/tnt_gunpowder_crossing.png new file mode 100644 index 0000000000000000000000000000000000000000..c0487a09a4b195fd26a179fb9f34b2862b2353db GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8$DedLo80u4RYiiPA0kNq;ZTXj2Wu0=A7ceai zIo->=p|mY(+cl@sgQh literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/tnt/textures/tnt_gunpowder_curved.png b/data/games/garage/mods/tnt/textures/tnt_gunpowder_curved.png new file mode 100644 index 0000000000000000000000000000000000000000..8ed01db8adb0cbba55e72cb8c5627317b34e89c0 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`t2|vCLo9mV2HfRpR*=x`Sa+yS zM0u&nn?s+jeXrkYY?o

    4%yUDEE|K!g0i|NJd+q22I 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 |6GO9W4VB4JgCbKLjfAXx8c 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 i83Y=qUNv#v{vQDd5?!>&%R(Li0000&2; exit 1; } + +chmod -R 777 "$world" # container uses unprivileged user inside + +vol=( + -v "$PWD/utils/test/minetest.conf":/etc/minetest/minetest.conf + --tmpfs /var/lib/minetest/.minetest + -v "$PWD":/var/lib/minetest/.minetest/games/minetest_game + -v "$world":/var/lib/minetest/.minetest/world +) +[ -z "$DOCKER_IMAGE" ] && DOCKER_IMAGE="ghcr.io/minetest/minetest:master" +docker run --rm -i "${vol[@]}" "$DOCKER_IMAGE" --config /etc/minetest/minetest.conf --gameid minetest + +test -f "$world/map.sqlite" || exit 1 +exit 0

    {?cN^W4?^AOED?l(%O&Ch_jOMW4m5-&~yvOIA70f literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/tnt/textures/tnt_gunpowder_inventory.png b/data/games/garage/mods/tnt/textures/tnt_gunpowder_inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..105a2d257414901455937a730d385b4c2ac9498e GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}T7XZ8E06{PDPaZ$2?ljJ1`~CL zNEe1^SB7Xeh8Q=7Sa*gvAo5^{_h3lyWJvO6NcLt(^<_x&WytVj$na;#1fl?j>_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/data/games/garage/mods/tnt/textures/tnt_gunpowder_straight.png b/data/games/garage/mods/tnt/textures/tnt_gunpowder_straight.png new file mode 100644 index 0000000000000000000000000000000000000000..427feb90bf60d21ae7f0844fa1ed3e82cdb41139 GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FglULo7}&oqUmtML@uHB8O(D zkS71X|Ke|FRopDwKKEwyr$;g6X$fz-lX_n7)O8D8`&BANc*@PH&2^KnN%2h&`tadu zqvTF@bynMhZELnNoVU!>jLNQ8P4LoeaOS9Be*gE;oMy-OvbhWnUY&nB9IST(boFyt=akR{0FcK} AHUIzs literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/tnt/textures/tnt_gunpowder_t_junction.png b/data/games/garage/mods/tnt/textures/tnt_gunpowder_t_junction.png new file mode 100644 index 0000000000000000000000000000000000000000..b30c2b468371024f0e447c7b6ac3dd57d89a89b8 GIT binary patch literal 258 zcmV+d0sa1oP)jIF3k?1XWd8 zBAR*Mw|(399bN(!pXZ6L>)c7e7z6ph+XV{=Se6A%(^$}TUC%%#;GFj%#+79WnmNxi z)^&wL`ZzwD38snLw#ibd;7+KY1W}tP`#((+c!CM&JoWo(K476+-Whf>tN;K207*qo IM6N<$f=m)?vH$=8 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/tnt/textures/tnt_side.png b/data/games/garage/mods/tnt/textures/tnt_side.png new file mode 100644 index 0000000000000000000000000000000000000000..d3034732e4be26d06e5f775ee4f88f77ed48612f GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJe}GSjE0EsBz;JL^B%H{MZ=` X4>LJVxOGq&sE@(Z)z4*}Q$iB}^57uD literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/tnt/textures/tnt_smoke.png b/data/games/garage/mods/tnt/textures/tnt_smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..6788974a9db8abf94aeea5446b904630a5dddab4 GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`nVv3=Ar`0aPCUqYz<|S5_NJhW zqOwI(w#8Ii)>p?>wq5YPulm8^bLb-d!tXow>mHK`6!l-f>UEmZq^=p3Wp;^aPtU8* zpYbtltKQdD5nIwZy< r>QNfjz$GzJ>%f5|md$~TR~Z>v-m^*UJjzl5)XCuK>gTe~DWM4f67?qE literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/tnt/textures/tnt_top.png b/data/games/garage/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/data/games/garage/mods/tnt/textures/tnt_top_burning.png b/data/games/garage/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/data/games/garage/mods/tnt/textures/tnt_top_burning_animated.png b/data/games/garage/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/data/games/garage/mods/unittests/async_env.lua b/data/games/garage/mods/unittests/async_env.lua deleted file mode 100644 index b00deb3..0000000 --- a/data/games/garage/mods/unittests/async_env.lua +++ /dev/null @@ -1,209 +0,0 @@ --- helper - -core.register_async_dofile(core.get_modpath(core.get_current_modname()) .. - DIR_DELIM .. "inside_async_env.lua") - -local function deepequal(a, b) - if type(a) == "function" then - return type(b) == "function" - elseif type(a) ~= "table" then - return a == b - elseif type(b) ~= "table" then - return false - end - for k, v in pairs(a) do - if not deepequal(v, b[k]) then - return false - end - end - for k, v in pairs(b) do - if not deepequal(a[k], v) then - return false - end - end - return true -end - --- Object Passing / Serialization - -local test_object = { - name = "stairs:stair_glass", - type = "node", - groups = {oddly_breakable_by_hand = 3, cracky = 3, stair = 1}, - description = "Glass Stair", - sounds = { - dig = {name = "default_glass_footstep", gain = 0.5}, - footstep = {name = "default_glass_footstep", gain = 0.3}, - dug = {name = "default_break_glass", gain = 1} - }, - node_box = { - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5} - }, - type = "fixed" - }, - tiles = { - {name = "stairs_glass_split.png", backface_culling = true}, - {name = "default_glass.png", backface_culling = true}, - {name = "stairs_glass_stairside.png^[transformFX", backface_culling = true} - }, - on_place = function(itemstack, placer) - return core.is_player(placer) - end, - sunlight_propagates = true, - is_ground_content = false, - pos = vector.new(-1, -2, -3), -} - -local function test_object_passing() - local tmp = core.serialize_roundtrip(test_object) - assert(deepequal(test_object, tmp)) - - local circular_key = {"foo", "bar"} - circular_key[circular_key] = true - tmp = core.serialize_roundtrip(circular_key) - assert(tmp[1] == "foo") - assert(tmp[2] == "bar") - assert(tmp[tmp] == true) - - local circular_value = {"foo"} - circular_value[2] = circular_value - tmp = core.serialize_roundtrip(circular_value) - assert(tmp[1] == "foo") - assert(tmp[2] == tmp) - - -- Two-segment cycle - local cycle_seg_1, cycle_seg_2 = {}, {} - cycle_seg_1[1] = cycle_seg_2 - cycle_seg_2[1] = cycle_seg_1 - tmp = core.serialize_roundtrip(cycle_seg_1) - assert(tmp[1][1] == tmp) - - -- Duplicated value without a cycle - local acyclic_dup_holder = {} - tmp = ItemStack("") - acyclic_dup_holder[tmp] = tmp - tmp = core.serialize_roundtrip(acyclic_dup_holder) - for k, v in pairs(tmp) do - assert(rawequal(k, v)) - end -end -unittests.register("test_object_passing", test_object_passing) - -local function test_userdata_passing(_, pos) - -- basic userdata passing - local obj = table.copy(test_object.tiles[1]) - obj.test = ItemStack("default:cobble 99") - local tmp = core.serialize_roundtrip(obj) - assert(type(tmp.test) == "userdata") - assert(obj.test:to_string() == tmp.test:to_string()) - - -- object can't be passed, should error - obj = core.raycast(pos, pos) - assert(not pcall(core.serialize_roundtrip, obj)) - - -- VManip - local vm = core.get_voxel_manip(pos, pos) - local expect = vm:get_node_at(pos) - local vm2 = core.serialize_roundtrip(vm) - assert(deepequal(vm2:get_node_at(pos), expect)) -end -unittests.register("test_userdata_passing", test_userdata_passing, {map=true}) - --- Asynchronous jobs - -local function test_handle_async(cb) - -- Basic test including mod name tracking and unittests.async_test() - -- which is defined inside_async_env.lua - local func = function(x) - return core.get_last_run_mod(), _VERSION, unittests[x]() - end - local expect = {core.get_last_run_mod(), _VERSION, true} - - core.handle_async(func, function(...) - if not deepequal(expect, {...}) then - return cb("Values did not equal") - end - if core.get_last_run_mod() ~= expect[1] then - return cb("Mod name not tracked correctly") - end - - -- Test passing of nil arguments and return values - core.handle_async(function(a, b) - return a, b - end, function(a, b) - if b ~= 123 then - return cb("Argument went missing") - end - cb() - end, nil, 123) - end, "async_test") -end -unittests.register("test_handle_async", test_handle_async, {async=true}) - -local function test_userdata_passing2(cb, _, pos) - -- VManip: check transfer into other env - local vm = core.get_voxel_manip(pos, pos) - local expect = vm:get_node_at(pos) - - core.handle_async(function(vm_, pos_) - return vm_:get_node_at(pos_) - end, function(ret) - if not deepequal(expect, ret) then - return cb("Node data mismatch (one-way)") - end - - -- VManip: test a roundtrip - core.handle_async(function(vm_) - return vm_ - end, function(vm2) - if not deepequal(expect, vm2:get_node_at(pos)) then - return cb("Node data mismatch (roundtrip)") - end - cb() - end, vm) - end, vm, pos) -end -unittests.register("test_userdata_passing2", test_userdata_passing2, {map=true, async=true}) - -local function test_portable_metatable_override() - assert(pcall(core.register_portable_metatable, "__builtin:vector", vector.metatable), - "Metatable name aliasing throws an error when it should be allowed") - - assert(not pcall(core.register_portable_metatable, "__builtin:vector", {}), - "Illegal metatable overriding allowed") -end -unittests.register("test_portable_metatable_override", test_portable_metatable_override) - -local function test_portable_metatable_registration(cb) - local custom_metatable = {} - core.register_portable_metatable("unittests:custom_metatable", custom_metatable) - - core.handle_async(function(x) - -- unittests.custom_metatable is registered in inside_async_env.lua - return getmetatable(x) == unittests.custom_metatable, x - end, function(metatable_preserved_async, table_after_roundtrip) - if not metatable_preserved_async then - return cb("Custom metatable not preserved (main -> async)") - end - if getmetatable(table_after_roundtrip) ~= custom_metatable then - return cb("Custom metable not preserved (after roundtrip)") - end - cb() - end, setmetatable({}, custom_metatable)) -end -unittests.register("test_portable_metatable_registration", test_portable_metatable_registration, {async=true}) - -local function test_vector_preserve(cb) - local vec = vector.new(1, 2, 3) - core.handle_async(function(x) - return x[1] - end, function(ret) - if ret ~= vec then -- fails if metatable was not preserved - return cb("Vector value mismatch") - end - cb() - end, {vec}) -end -unittests.register("test_async_vector", test_vector_preserve, {async=true}) diff --git a/data/games/garage/mods/unittests/color.lua b/data/games/garage/mods/unittests/color.lua deleted file mode 100644 index 8615444..0000000 --- a/data/games/garage/mods/unittests/color.lua +++ /dev/null @@ -1,17 +0,0 @@ -local function assert_colors_equal(c1, c2) - if type(c1) == "table" and type(c2) == "table" then - assert(c1.r == c2.r and c1.g == c2.g and c1.b == c2.b and c1.a == c2.a) - else - assert(c1 == c2) - end -end - -local function test_color_conversion() - assert_colors_equal(core.colorspec_to_table("#fff"), {r = 255, g = 255, b = 255, a = 255}) - assert_colors_equal(core.colorspec_to_table(0xFF00FF00), {r = 0, g = 255, b = 0, a = 255}) - assert_colors_equal(core.colorspec_to_table("#00000000"), {r = 0, g = 0, b = 0, a = 0}) - assert_colors_equal(core.colorspec_to_table("green"), {r = 0, g = 128, b = 0, a = 255}) - assert_colors_equal(core.colorspec_to_table("gren"), nil) -end - -unittests.register("test_color_conversion", test_color_conversion) diff --git a/data/games/garage/mods/unittests/content_ids.lua b/data/games/garage/mods/unittests/content_ids.lua deleted file mode 100644 index d2f1e0c..0000000 --- a/data/games/garage/mods/unittests/content_ids.lua +++ /dev/null @@ -1,37 +0,0 @@ -core.register_alias("unittests:test_content_ids_alias1", "air") -core.register_alias("unittests:test_content_ids_alias2", "~") - -local function test_content_ids() - assert(core.get_content_id("air") == core.CONTENT_AIR) - assert(core.get_content_id("unittests:test_content_ids_alias1") == core.CONTENT_AIR) - assert(core.get_content_id("unknown") == core.CONTENT_UNKNOWN) - assert(core.get_content_id("ignore") == core.CONTENT_IGNORE) - - assert(core.get_name_from_content_id(core.CONTENT_AIR) == "air") - assert(core.get_name_from_content_id(core.CONTENT_UNKNOWN) == "unknown") - assert(core.get_name_from_content_id(core.CONTENT_IGNORE) == "ignore") - - assert(pcall(core.get_content_id, "~") == false) - assert(pcall(core.get_content_id, "unittests:test_content_ids_alias2") == false) - assert(pcall(core.get_content_id) == false) - assert(core.get_name_from_content_id(0xFFFF) == "unknown") - assert(pcall(core.get_name_from_content_id) == false) -end - --- Run while mod is loading. -test_content_ids() - --- Run after mods have loaded. -unittests.register("test_content_ids", test_content_ids) - --- Run in async environment. -local function test_content_ids_async(cb) - local function func(test_func) - local ok, err = pcall(test_func) - if not ok then - return err - end - end - core.handle_async(func, cb, test_content_ids) -end -unittests.register("test_content_ids_async", test_content_ids_async, {async=true}) diff --git a/data/games/garage/mods/unittests/crafting.lua b/data/games/garage/mods/unittests/crafting.lua deleted file mode 100644 index 38b1202..0000000 --- a/data/games/garage/mods/unittests/crafting.lua +++ /dev/null @@ -1,112 +0,0 @@ -dofile(core.get_modpath(core.get_current_modname()) .. "/crafting_prepare.lua") - --- Test core.clear_craft function -local function test_clear_craft() - -- Clearing by output - core.register_craft({ - output = "foo", - recipe = {{"bar"}} - }) - core.register_craft({ - output = "foo 4", - recipe = {{"foo", "bar"}} - }) - assert(#core.get_all_craft_recipes("foo") == 2) - core.clear_craft({output="foo"}) - assert(core.get_all_craft_recipes("foo") == nil) - -- Clearing by input - core.register_craft({ - output = "foo 4", - recipe = {{"foo", "bar"}} - }) - assert(#core.get_all_craft_recipes("foo") == 1) - core.clear_craft({recipe={{"foo", "bar"}}}) - assert(core.get_all_craft_recipes("foo") == nil) -end -unittests.register("test_clear_craft", test_clear_craft) - --- Test core.get_craft_result function -local function test_get_craft_result() - -- normal - local input = { - method = "normal", - width = 2, - items = {"", "unittests:coal_lump", "", "unittests:stick"} - } - core.log("info", "[unittests] torch crafting input: "..dump(input)) - local output, decremented_input = core.get_craft_result(input) - core.log("info", "[unittests] torch crafting output: "..dump(output)) - core.log("info", "[unittests] torch crafting decremented input: "..dump(decremented_input)) - assert(output.item) - core.log("info", "[unittests] torch crafting output.item:to_table(): "..dump(output.item:to_table())) - assert(output.item:get_name() == "unittests:torch") - assert(output.item:get_count() == 4) - - -- fuel - input = { - method = "fuel", - width = 1, - items = {"unittests:coal_lump"} - } - core.log("info", "[unittests] coal fuel input: "..dump(input)) - output, decremented_input = core.get_craft_result(input) - core.log("info", "[unittests] coal fuel output: "..dump(output)) - core.log("info", "[unittests] coal fuel decremented input: "..dump(decremented_input)) - assert(output.time) - assert(output.time > 0) - - -- cooking - input = { - method = "cooking", - width = 1, - items = {"unittests:iron_lump"} - } - core.log("info", "[unittests] iron lump cooking input: "..dump(output)) - output, decremented_input = core.get_craft_result(input) - core.log("info", "[unittests] iron lump cooking output: "..dump(output)) - core.log("info", "[unittests] iron lump cooking decremented input: "..dump(decremented_input)) - assert(output.time) - assert(output.time > 0) - assert(output.item) - core.log("info", "[unittests] iron lump cooking output.item:to_table(): "..dump(output.item:to_table())) - assert(output.item:get_name() == "unittests:steel_ingot") - assert(output.item:get_count() == 1) - - -- tool repair (repairable) - input = { - method = "normal", - width = 2, - -- Using a wear of 60000 - items = {"unittests:repairable_tool 1 60000", "unittests:repairable_tool 1 60000"} - } - core.log("info", "[unittests] repairable tool crafting input: "..dump(input)) - output, decremented_input = core.get_craft_result(input) - core.log("info", "[unittests] repairable tool crafting output: "..dump(output)) - core.log("info", "[unittests] repairable tool crafting decremented input: "..dump(decremented_input)) - assert(output.item) - core.log("info", "[unittests] repairable tool crafting output.item:to_table(): "..dump(output.item:to_table())) - assert(output.item:get_name() == "unittests:repairable_tool") - -- Test the wear value. - -- See src/craftdef.cpp in Luanti source code for the formula. The formula to calculate - -- the value 51187 is: - -- 65536 - ((65536-60000)+(65536-60000)) + floor(additonal_wear * 65536 + 0.5) = 51187 - -- where additional_wear = 0.05 - assert(output.item:get_wear() == 51187) - assert(output.item:get_count() == 1) - - -- failing tool repair (unrepairable) - input = { - method = "normal", - width = 2, - items = {"unittests:unrepairable_tool 1 60000", "unittests:unrepairable_tool 1 60000"} - } - core.log("info", "[unittests] unrepairable tool crafting input: "..dump(input)) - output, decremented_input = core.get_craft_result(input) - core.log("info", "[unittests] unrepairable tool crafting output: "..dump(output)) - core.log("info", "[unittests] unrepairable tool crafting decremented input: "..dump(decremented_input)) - assert(output.item) - core.log("info", "[unittests] unrepairable tool crafting output.item:to_table(): "..dump(output.item:to_table())) - -- unrepairable tool must not yield any output - assert(output.item:is_empty()) -end -unittests.register("test_get_craft_result", test_get_craft_result) diff --git a/data/games/garage/mods/unittests/crafting_prepare.lua b/data/games/garage/mods/unittests/crafting_prepare.lua deleted file mode 100644 index 63ad0a5..0000000 --- a/data/games/garage/mods/unittests/crafting_prepare.lua +++ /dev/null @@ -1,94 +0,0 @@ --- Registering some dummy items and recipes for the crafting tests - -core.register_craftitem("unittests:torch", { - description = "Crafting Test Item: Torch", - inventory_image = "unittests_torch.png", - - groups = { dummy = 1 }, -}) -core.register_craftitem("unittests:coal_lump", { - description = "Crafting Test Item: Coal Lump", - inventory_image = "unittests_coal_lump.png", - - groups = { dummy = 1 }, -}) -core.register_craftitem("unittests:stick", { - description = "Crafting Test Item: Stick", - inventory_image = "unittests_stick.png", - - groups = { dummy = 1 }, -}) -core.register_craftitem("unittests:iron_lump", { - description = "Crafting Test Item: Iron Lump", - inventory_image = "unittests_iron_lump.png", - - groups = { dummy = 1 }, -}) -core.register_craftitem("unittests:steel_ingot", { - description = "Crafting Test Item: Steel Ingot", - inventory_image = "unittests_steel_ingot.png", - - groups = { dummy = 1 }, -}) - --- Use aliases in recipes for more complete testing - -core.register_alias("unittests:steel_ingot_alias", "unittests:steel_ingot") -core.register_alias("unittests:coal_lump_alias", "unittests:coal_lump") -core.register_alias("unittests:iron_lump_alias", "unittests:iron_lump") - --- Recipes for tests: Normal crafting, cooking and fuel - -core.register_craft({ - output = 'unittests:torch 4', - recipe = { - {'unittests:coal_lump_alias'}, - {'unittests:stick'}, - } -}) - -core.register_craft({ - type = "cooking", - output = "unittests:steel_ingot_alias", - recipe = "unittests:iron_lump_alias", -}) - -core.register_craft({ - type = "fuel", - recipe = "unittests:coal_lump_alias", - burntime = 40, -}) - --- Test tool repair -core.register_craft({ - type = "toolrepair", - additional_wear = -0.05, -}) - --- Test the disable_repair=1 group -core.register_tool("unittests:unrepairable_tool", { - description = "Crafting Test Item: Unrepairable Tool", - inventory_image = "unittests_unrepairable_tool.png", - tool_capabilities = { - groupcaps = { - cracky = { - times = {3, 2, 1}, - } - } - }, - groups = { disable_repair = 1, dummy = 1 } -}) - -core.register_tool("unittests:repairable_tool", { - description = "Crafting Test Item: Repairable Tool", - inventory_image = "unittests_repairable_tool.png", - tool_capabilities = { - groupcaps = { - cracky = { - times = {3, 2, 1}, - } - } - }, - - groups = { dummy = 1 }, -}) diff --git a/data/games/garage/mods/unittests/entity.lua b/data/games/garage/mods/unittests/entity.lua deleted file mode 100644 index af91a2a..0000000 --- a/data/games/garage/mods/unittests/entity.lua +++ /dev/null @@ -1,236 +0,0 @@ -local log = {} - -local function insert_log(...) - log[#log+1] = string.format(...) -end - -local function objref_str(self, ref) - if ref and ref:is_player() then - return "player" - end - return self.object == ref and "self" or tostring(ref) -end - -core.register_entity("unittests:callbacks", { - initial_properties = { - hp_max = 5, - visual = "upright_sprite", - textures = { "unittests_callback.png" }, - static_save = false, - }, - - on_activate = function(self, staticdata, dtime_s) - self.object:set_armor_groups({test = 100}) - assert(self.object:get_hp() == self.initial_properties.hp_max) - insert_log("on_activate(%d)", #staticdata) - end, - on_deactivate = function(self, removal) - insert_log("on_deactivate(%s)", tostring(removal)) - end, - on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, dir, damage) - insert_log("on_punch(%s, %.1f, %d)", objref_str(self, puncher), - time_from_last_punch, damage) - end, - on_death = function(self, killer) - assert(self.object:get_hp() == 0) - insert_log("on_death(%s)", objref_str(self, killer)) - end, - on_rightclick = function(self, clicker) - insert_log("on_rightclick(%s)", objref_str(self, clicker)) - end, - on_attach_child = function(self, child) - insert_log("on_attach_child(%s)", objref_str(self, child)) - assert(child:get_attach() == self.object) - local ok = false - for _, obj in ipairs(self.object:get_children()) do - if obj == child then - ok = true - end - end - assert(ok, "Child not found in get_children") - end, - on_detach_child = function(self, child) - insert_log("on_detach_child(%s)", objref_str(self, child)) - assert(child:get_attach() == nil) - local ok = true - for _, obj in ipairs(self.object:get_children()) do - if obj == child then - ok = false - end - end - assert(ok, "Former child found in get_children") - end, - on_detach = function(self, parent) - insert_log("on_detach(%s)", objref_str(self, parent)) - assert(self.object:get_attach() == nil) - local ok = true - for _, obj in ipairs(parent:get_children()) do - if obj == self.object then - ok = false - end - end - assert(ok, "Former child found in get_children") - end, - get_staticdata = function(self) - assert(false) - end, -}) - --- - -local function check_log(expect) - if #expect ~= #log then - error("Log mismatch: " .. core.write_json(log)) - end - for i, s in ipairs(expect) do - if log[i] ~= s then - error("Log mismatch at " .. i .. ": " .. core.write_json(log)) - end - end - log = {} -- clear it for next time -end - -local function test_entity_lifecycle(_, pos) - log = {} - - -- with binary in staticdata - local obj = core.add_entity(pos, "unittests:callbacks", "abc\000def") - assert(obj and obj:is_valid()) - check_log({"on_activate(7)"}) - - obj:set_hp(0) - check_log({"on_death(nil)", "on_deactivate(true)"}) - - assert(not obj:is_valid()) -end -unittests.register("test_entity_lifecycle", test_entity_lifecycle, {map=true}) - -local function test_entity_interact(_, pos) - log = {} - - local obj = core.add_entity(pos, "unittests:callbacks") - check_log({"on_activate(0)"}) - - -- rightclick - obj:right_click(obj) - check_log({"on_rightclick(self)"}) - - -- useless punch - obj:punch(obj, 0.5, {}) - check_log({"on_punch(self, 0.5, 0)"}) - - -- fatal punch - obj:punch(obj, 1.9, { - full_punch_interval = 1.0, - damage_groups = { test = 10 }, - }) - check_log({ - -- does 10 damage even though we only have 5 hp - "on_punch(self, 1.9, 10)", - "on_death(self)", - "on_deactivate(true)" - }) -end -unittests.register("test_entity_interact", test_entity_interact, {map=true}) - -local function test_entity_attach(player, pos) - log = {} - - local obj = core.add_entity(pos, "unittests:callbacks") - check_log({"on_activate(0)"}) - - -- attach player to entity - player:set_attach(obj) - check_log({"on_attach_child(player)"}) - assert(player:get_attach() == obj) - player:set_detach() - check_log({"on_detach_child(player)"}) - assert(player:get_attach() == nil) - - -- attach entity to player - obj:set_attach(player) - check_log({}) - assert(obj:get_attach() == player) - obj:set_detach() - check_log({"on_detach(player)"}) - assert(obj:get_attach() == nil) - - obj:remove() -end -unittests.register("test_entity_attach", test_entity_attach, {player=true, map=true}) - ---------- - -core.register_entity("unittests:dummy", { - initial_properties = { - hp_max = 1, - visual = "upright_sprite", - textures = { "no_texture.png" }, - static_save = false, - }, -}) - -local function test_entity_raycast(_, pos) - local obj1 = core.add_entity(pos, "unittests:dummy") - local obj2 = core.add_entity(pos:offset(1, 0, 0), "unittests:dummy") - local raycast = core.raycast(pos:offset(-1, 0, 0), pos:offset(2, 0, 0), true, false) - for pt in raycast do - if pt.type == "object" then - assert(pt.ref == obj1) - obj1:remove() - obj2:remove() - obj1 = nil -- object should be hit exactly one - end - end - assert(obj1 == nil) -end -unittests.register("test_entity_raycast", test_entity_raycast, {map=true}) - -local function test_object_iterator(pos, make_iterator) - local obj1 = core.add_entity(pos, "unittests:dummy") - local obj2 = core.add_entity(pos, "unittests:dummy") - assert(obj1 and obj2) - local found = false - -- As soon as we find one of the objects, we remove both, invalidating the other. - for obj in make_iterator() do - assert(obj:is_valid()) - if obj == obj1 or obj == obj2 then - obj1:remove() - obj2:remove() - found = true - end - end - assert(found) -end - -unittests.register("test_objects_inside_radius", function(_, pos) - test_object_iterator(pos, function() - return core.objects_inside_radius(pos, 1) - end) -end, {map=true}) - -unittests.register("test_objects_in_area", function(_, pos) - test_object_iterator(pos, function() - return core.objects_in_area(pos:offset(-1, -1, -1), pos:offset(1, 1, 1)) - end) -end, {map=true}) - --- Tests that bone rotation euler angles are preserved (see #14992) -local function test_get_bone_rot(_, pos) - local obj = core.add_entity(pos, "unittests:dummy") - for _ = 1, 100 do - local function assert_similar(euler_angles) - local _, rot = obj:get_bone_position("bonename") - assert(euler_angles:distance(rot) < 1e-3) - local override = obj:get_bone_override("bonename") - assert(euler_angles:distance(override.rotation.vec:apply(math.deg)) < 1e-3) - end - local deg = 1e3 * vector.new(math.random(), math.random(), math.random()) - obj:set_bone_position("bonename", vector.zero(), deg) - assert_similar(deg) - local rad = 3 * math.pi * vector.new(math.random(), math.random(), math.random()) - obj:set_bone_override("bonename", {rotation = {vec = rad}}) - assert_similar(rad:apply(math.deg)) - end -end -unittests.register("test_get_bone_rot", test_get_bone_rot, {map=true}) diff --git a/data/games/garage/mods/unittests/get_version.lua b/data/games/garage/mods/unittests/get_version.lua deleted file mode 100644 index 7ef7825..0000000 --- a/data/games/garage/mods/unittests/get_version.lua +++ /dev/null @@ -1,16 +0,0 @@ - -unittests.register("test_get_version", function() - local version = core.get_version() - assert(type(version) == "table") - assert(type(version.project) == "string") - assert(type(version.string) == "string") - assert(type(version.proto_min) == "number") - assert(type(version.proto_max) == "number") - assert(version.proto_max >= version.proto_min) - assert(type(version.is_dev) == "boolean") - if version.is_dev then - assert(type(version.hash) == "string") - else - assert(version.hash == nil) - end -end) diff --git a/data/games/garage/mods/unittests/init.lua b/data/games/garage/mods/unittests/init.lua deleted file mode 100644 index 7243343..0000000 --- a/data/games/garage/mods/unittests/init.lua +++ /dev/null @@ -1,235 +0,0 @@ -unittests = {} - -unittests.list = {} - --- name: Name of the test --- func: --- for sync: function(player, pos), should error on failure --- for async: function(callback, player, pos) --- MUST call callback() or callback("error msg") in case of error once test is finished --- this means you cannot use assert() in the test implementation --- opts: { --- player = false, -- Does test require a player? --- map = false, -- Does test require map access? --- async = false, -- Does the test run asynchronously? (read notes above!) --- } -function unittests.register(name, func, opts) - local def = table.copy(opts or {}) - def.name = name - def.func = func - table.insert(unittests.list, def) -end - -function unittests.on_finished(all_passed) - -- free to override -end - --- Calls invoke with a callback as argument --- Suspends coroutine until that callback is called --- Return values are passed through -local function await(invoke) - local co = coroutine.running() - assert(co) - local called_early = true - invoke(function(...) - if called_early == true then - called_early = {...} - else - coroutine.resume(co, ...) - co = nil - end - end) - if called_early ~= true then - -- callback was already called before yielding - return unpack(called_early) - end - called_early = nil - return coroutine.yield() -end - -function unittests.run_one(idx, counters, out_callback, player, pos) - local def = unittests.list[idx] - if not def.player then - player = nil - elseif player == nil then - out_callback(false) - return false - end - if not def.map then - pos = nil - elseif pos == nil then - out_callback(false) - return false - end - - local tbegin = core.get_us_time() - local function done(status, err) - local tend = core.get_us_time() - local ms_taken = (tend - tbegin) / 1000 - - if not status then - core.log("error", err) - end - print(string.format("[%s] %s - %dms", - status and "PASS" or "FAIL", def.name, ms_taken)) - counters.time = counters.time + ms_taken - counters.total = counters.total + 1 - if status then - counters.passed = counters.passed + 1 - end - end - - if def.async then - core.log("info", "[unittest] running " .. def.name .. " (async)") - def.func(function(err) - done(err == nil, err) - out_callback(true) - end, player, pos) - else - core.log("info", "[unittest] running " .. def.name) - local status, err = pcall(def.func, player, pos) - done(status, err) - out_callback(true) - end - - return true -end - -local function wait_for_player(callback) - if #core.get_connected_players() > 0 then - return callback(core.get_connected_players()[1]) - end - local first = true - core.register_on_joinplayer(function(player) - if first then - callback(player) - first = false - end - end) -end - -local function wait_for_map(pos, callback) - local function check() - if core.get_node(pos).name ~= "ignore" then - callback() - else - core.after(0, check) - end - end - check() -end - --- This runs in a coroutine so it uses await() -function unittests.run_all() - local counters = { time = 0, total = 0, passed = 0 } - - -- Run standalone tests first - for idx = 1, #unittests.list do - local def = unittests.list[idx] - def.done = await(function(cb) - unittests.run_one(idx, counters, cb, nil, nil) - end) - end - - -- Wait for a player to join, run tests that require a player - local player = await(wait_for_player) - for idx = 1, #unittests.list do - local def = unittests.list[idx] - if not def.done then - def.done = await(function(cb) - unittests.run_one(idx, counters, cb, player, nil) - end) - end - end - - -- Wait for the world to generate/load, run tests that require map access - local pos = player:get_pos():round():offset(0, 5, 0) - core.forceload_block(pos, true, -1) - await(function(cb) - wait_for_map(pos, cb) - end) - for idx = 1, #unittests.list do - local def = unittests.list[idx] - if not def.done then - def.done = await(function(cb) - unittests.run_one(idx, counters, cb, player, pos) - end) - end - end - - -- Print stats - assert(#unittests.list == counters.total) - print(string.rep("+", 80)) - print(string.format("Devtest Unit Test Results: %s", - counters.total == counters.passed and "PASSED" or "FAILED")) - print(string.format(" %d / %d failed tests.", - counters.total - counters.passed, counters.total)) - print(string.format(" Testing took %dms total.", counters.time)) - print(string.rep("+", 80)) - unittests.on_finished(counters.total == counters.passed) - return counters.total == counters.passed -end - --------------- - -local modpath = core.get_modpath("unittests") -dofile(modpath .. "/misc.lua") -dofile(modpath .. "/player.lua") -dofile(modpath .. "/crafting.lua") -dofile(modpath .. "/itemdescription.lua") -dofile(modpath .. "/async_env.lua") -dofile(modpath .. "/entity.lua") -dofile(modpath .. "/get_version.lua") -dofile(modpath .. "/itemstack_equals.lua") -dofile(modpath .. "/content_ids.lua") -dofile(modpath .. "/metadata.lua") -dofile(modpath .. "/raycast.lua") -dofile(modpath .. "/inventory.lua") -dofile(modpath .. "/load_time.lua") -dofile(modpath .. "/on_shutdown.lua") -dofile(modpath .. "/color.lua") - --------------- - -local function send_results(name, ok) - core.chat_send_player(name, - core.colorize(ok and "green" or "red", - (ok and "All devtest unit tests passed." or - "There were devtest unit test failures.") .. - " Check the console for detailed output.")) -end - -if core.settings:get_bool("devtest_unittests_autostart", false) then - local test_results = nil - core.after(0, function() - -- CI adds a mod which sets `unittests.on_finished` - -- to write status information to the filesystem - local old_on_finished = unittests.on_finished - unittests.on_finished = function(ok) - for _, player in ipairs(core.get_connected_players()) do - send_results(player:get_player_name(), ok) - end - test_results = ok - old_on_finished(ok) - end - coroutine.wrap(unittests.run_all)() - end) - core.register_on_joinplayer(function(player) - if test_results == nil then - return -- tests haven't completed yet - end - send_results(player:get_player_name(), test_results) - end) -else - core.register_chatcommand("unittests", { - privs = {basic_privs=true}, - description = "Runs devtest unittests (may modify player or map state)", - func = function(name, param) - unittests.on_finished = function(ok) - send_results(name, ok) - end - coroutine.wrap(unittests.run_all)() - return true, "" - end, - }) -end diff --git a/data/games/garage/mods/unittests/inside_async_env.lua b/data/games/garage/mods/unittests/inside_async_env.lua deleted file mode 100644 index fb61060..0000000 --- a/data/games/garage/mods/unittests/inside_async_env.lua +++ /dev/null @@ -1,35 +0,0 @@ -unittests = {} - -core.log("info", "Hello World") - -unittests.custom_metatable = {} -core.register_portable_metatable("unittests:custom_metatable", unittests.custom_metatable) - -local function do_tests() - assert(core == minetest) - -- stuff that should not be here - assert(not core.get_player_by_name) - assert(not core.set_node) - assert(not core.object_refs) - -- stuff that should be here - assert(ItemStack) - local meta = ItemStack():get_meta() - assert(type(meta) == "userdata") - assert(type(meta.set_tool_capabilities) == "function") - assert(core.registered_items[""]) - assert(next(core.registered_nodes) ~= nil) - assert(core.registered_craftitems["unittests:stick"]) - -- alias handling - assert(core.registered_items["unittests:steel_ingot_alias"].name == - "unittests:steel_ingot") - -- fallback to item defaults - assert(core.registered_items["unittests:description_test"].on_place == true) -end - -function unittests.async_test() - local ok, err = pcall(do_tests) - if not ok then - core.log("error", err) - end - return ok -end diff --git a/data/games/garage/mods/unittests/inside_mapgen_env.lua b/data/games/garage/mods/unittests/inside_mapgen_env.lua deleted file mode 100644 index f6f8513..0000000 --- a/data/games/garage/mods/unittests/inside_mapgen_env.lua +++ /dev/null @@ -1,34 +0,0 @@ -core.log("info", "Hello World") - -local function do_tests() - assert(core == minetest) - -- stuff that should not be here - assert(not core.get_player_by_name) - assert(not core.object_refs) - -- stuff that should be here - assert(core.register_on_generated) - assert(core.get_node) - assert(core.spawn_tree) - assert(ItemStack) - local meta = ItemStack():get_meta() - assert(type(meta) == "userdata") - assert(type(meta.set_tool_capabilities) == "function") - assert(core.registered_items[""]) - assert(core.save_gen_notify) - -- alias handling - assert(core.registered_items["unittests:steel_ingot_alias"].name == - "unittests:steel_ingot") - -- fallback to item defaults - assert(core.registered_items["unittests:description_test"].on_place == true) -end - --- first thread to get here runs the tests -if core.ipc_cas("unittests:mg_once", nil, true) then - -- this is checked from the main env - core.ipc_set("unittests:mg", { pcall(do_tests) }) -end - -core.register_on_generated(function(vm, pos1, pos2, blockseed) - local n = tonumber(core.get_mapgen_setting("chunksize")) * 16 - 1 - assert(pos2:subtract(pos1) == vector.new(n, n, n)) -end) diff --git a/data/games/garage/mods/unittests/inventory.lua b/data/games/garage/mods/unittests/inventory.lua deleted file mode 100644 index cffcba4..0000000 --- a/data/games/garage/mods/unittests/inventory.lua +++ /dev/null @@ -1,73 +0,0 @@ - -local item_with_meta = ItemStack({name = "air", meta = {test = "abc"}}) - -local test_list = { - ItemStack("air"), - ItemStack(""), - ItemStack(item_with_meta), -} - -local function compare_lists(a, b) - if not a or not b or #a ~= #b then - return false - end - for i=1, #a do - if not ItemStack(a[i]):equals(ItemStack(b[i])) then - return false - end - end - return true -end - -local function test_inventory() - local inv = core.create_detached_inventory("test") - - inv:set_lists({test = {""}}) - assert(inv:get_list("test")) - - assert(inv:get_size("test") == 1) - assert(inv:set_size("test", 3)) - assert(not inv:set_size("test", -1)) - - assert(inv:get_width("test") == 0) - assert(inv:set_width("test", 3)) - assert(not inv:set_width("test", -1)) - - inv:set_stack("test", 1, "air") - inv:set_stack("test", 3, item_with_meta) - assert(not inv:is_empty("test")) - assert(compare_lists(inv:get_list("test"), test_list)) - - assert(inv:add_item("test", "air") == ItemStack()) - assert(inv:add_item("test", item_with_meta) == ItemStack()) - assert(inv:get_stack("test", 1) == ItemStack("air 2")) - - assert(inv:room_for_item("test", "air 99")) - inv:set_stack("test", 2, "air 99") - assert(not inv:room_for_item("test", "air 99")) - inv:set_stack("test", 2, "") - - assert(inv:contains_item("test", "air")) - assert(not inv:contains_item("test", "air 99")) - assert(inv:contains_item("test", item_with_meta, true)) - - -- Items should be removed in reverse and combine with first stack removed - assert(inv:remove_item("test", "air") == item_with_meta) - item_with_meta:set_count(2) - assert(inv:remove_item("test", "air 2") == item_with_meta) - assert(inv:remove_item("test", "air") == ItemStack("air")) - assert(inv:is_empty("test")) - - -- Failure of set_list(s) should not change inventory - local before = inv:get_list("test") - pcall(inv.set_lists, inv, {test = true}) - pcall(inv.set_list, inv, "test", true) - local after = inv:get_list("test") - assert(compare_lists(before, after)) - - local location = inv:get_location() - assert(core.remove_detached_inventory("test")) - assert(not core.get_inventory(location)) -end - -unittests.register("test_inventory", test_inventory) diff --git a/data/games/garage/mods/unittests/itemdescription.lua b/data/games/garage/mods/unittests/itemdescription.lua deleted file mode 100644 index 730248d..0000000 --- a/data/games/garage/mods/unittests/itemdescription.lua +++ /dev/null @@ -1,43 +0,0 @@ -local full_description = "Description Test Item\nFor testing item decription" -core.register_tool("unittests:description_test", { - description = full_description, - inventory_image = "unittests_description_test.png", - groups = { dummy = 1 }, -}) - -core.register_chatcommand("item_description", { - param = "", - description = "Show the short and full description of the wielded item.", - func = function(name) - local player = core.get_player_by_name(name) - local item = player:get_wielded_item() - return true, string.format("short_description: %s\ndescription: %s", - item:get_short_description(), item:get_description()) - end -}) - -local function test_short_desc() - local function get_short_description(item) - return ItemStack(item):get_short_description() - end - - local stack = ItemStack("unittests:description_test") - assert(stack:get_short_description() == "Description Test Item") - assert(get_short_description("unittests:description_test") == "Description Test Item") - assert(core.registered_items["unittests:description_test"].short_description == nil) - assert(stack:get_description() == full_description) - assert(stack:get_description() == core.registered_items["unittests:description_test"].description) - - stack:get_meta():set_string("description", "Hello World") - assert(stack:get_short_description() == "Hello World") - assert(stack:get_description() == "Hello World") - assert(get_short_description(stack) == "Hello World") - assert(get_short_description("unittests:description_test") == "Description Test Item") - - stack:get_meta():set_string("short_description", "Foo Bar") - assert(stack:get_short_description() == "Foo Bar") - assert(stack:get_description() == "Hello World") - - return true -end -unittests.register("test_short_desc", test_short_desc) diff --git a/data/games/garage/mods/unittests/itemstack_equals.lua b/data/games/garage/mods/unittests/itemstack_equals.lua deleted file mode 100644 index 561e612..0000000 --- a/data/games/garage/mods/unittests/itemstack_equals.lua +++ /dev/null @@ -1,74 +0,0 @@ -local function test_itemstack_equals_non_stack() - local i1 = ItemStack("basenodes:stone") - local i2 = { foo = "bar" } - - assert(not i1:equals(i2)) - assert(i1 ~= i2) - assert(i2 ~= i1) -end - -unittests.register("test_itemstack_equals_non_stack", test_itemstack_equals_non_stack) - -local function test_itemstack_equals_name() - local i1 = ItemStack("basenodes:stone") - local i2 = ItemStack("basenodes:desert_stone") - - assert(not i1:equals(i2)) - assert(i1 ~= i2) -end - -unittests.register("test_itemstack_equals_name", test_itemstack_equals_name) - -local function test_itemstack_equals_count() - local i1 = ItemStack("basenodes:stone") - local i2 = ItemStack("basenodes:stone 2") - - assert(not i1:equals(i2)) - assert(i1 ~= i2) -end - -unittests.register("test_itemstack_equals_count", test_itemstack_equals_count) - -local function test_itemstack_equals_wear() - local i1 = ItemStack("basetools:axe_stone") - local i2 = ItemStack("basetools:axe_stone") - - i2:add_wear(1) - - assert(not i1:equals(i2)) - assert(i1 ~= i2) -end - -unittests.register("test_itemstack_equals_wear", test_itemstack_equals_wear) - -local function test_itemstack_equals_metadata() - local i1 = ItemStack("basenodes:stone") - local i2 = ItemStack("basenodes:stone") - local i3 = ItemStack("basenodes:stone") - - local m1 = i1:get_meta() - local m2 = i2:get_meta() - local m3 = i3:get_meta() - - local keys = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p"} - local values = {} - - for i, key in pairs(keys) do - m1:set_int(key, i) - m3:set_int(key, i) - values[key] = i - end - - m3:set_int("a", 999) - - for key, i in pairs(values) do - m2:set_int(key, i) - end - - assert(i1:equals(i2)) - assert(i1 == i2) - assert(not i1:equals(i3)) - assert(i1 ~= i3) -end - -unittests.register("test_itemstack_equals_metadata", test_itemstack_equals_metadata) diff --git a/data/games/garage/mods/unittests/load_time.lua b/data/games/garage/mods/unittests/load_time.lua deleted file mode 100644 index 12f1a38..0000000 --- a/data/games/garage/mods/unittests/load_time.lua +++ /dev/null @@ -1,13 +0,0 @@ --- Test item (un)registration and overriding -do - local itemname = "unittests:test_override_item" - core.register_craftitem(":" .. itemname, {description = "foo"}) - assert(assert(core.registered_items[itemname]).description == "foo") - core.override_item(itemname, {description = "bar"}) - assert(assert(core.registered_items[itemname]).description == "bar") - core.override_item(itemname, {}, {"description"}) - -- description has the empty string as a default - assert(assert(core.registered_items[itemname]).description == "") - core.unregister_item("unittests:test_override_item") - assert(core.registered_items["unittests:test_override_item"] == nil) -end diff --git a/data/games/garage/mods/unittests/metadata.lua b/data/games/garage/mods/unittests/metadata.lua deleted file mode 100644 index bdd51c3..0000000 --- a/data/games/garage/mods/unittests/metadata.lua +++ /dev/null @@ -1,121 +0,0 @@ --- Tests of generic and specific metadata functionality - -local compare_meta = ItemStack("unittests:iron_lump"):get_meta() -compare_meta:from_table({ - fields = { - a = "1", - b = "2", - c = "3", - d = "4", - e = "e", - }, -}) - -local function test_metadata(meta) - meta:from_table({fields = {a = 2, b = "2"}}) - meta:set_string("a", 1) - meta:set_string("c", "3") - meta:set_int("d", 4) - meta:set_string("e", "e") - - meta:set_string("", "!") - meta:set_string("", "") - - assert(meta:equals(compare_meta)) - - local tab = meta:to_table() - assert(tab.fields.a == "1") - assert(tab.fields.b == "2") - assert(tab.fields.c == "3") - assert(tab.fields.d == "4") - assert(tab.fields.e == "e") - - local keys = meta:get_keys() - assert(table.indexof(keys, "a") > 0) - assert(table.indexof(keys, "b") > 0) - assert(table.indexof(keys, "c") > 0) - assert(table.indexof(keys, "d") > 0) - assert(table.indexof(keys, "e") > 0) - assert(#keys == 5) - - assert(not meta:contains("")) - assert(meta:contains("a")) - assert(meta:contains("b")) - assert(meta:contains("c")) - assert(meta:contains("d")) - assert(meta:contains("e")) - - assert(meta:get("") == nil) - assert(meta:get_string("") == "") - assert(meta:get_int("") == 0) - assert(meta:get_float("") == 0.0) - assert(meta:get("a") == "1") - assert(meta:get_string("a") == "1") - assert(meta:get_int("a") == 1) - assert(meta:get_float("a") == 1.0) - assert(meta:get_int("e") == 0) - assert(meta:get_float("e") == 0.0) - - meta:set_float("f", 1.1) - meta:set_string("g", "${f}") - meta:set_string("h", "${g}") - meta:set_string("i", "${h}") - assert(meta:get_float("h") > 1) - assert(meta:get_string("i") == "${f}") - - meta:set_float("j", 1.23456789) - assert(meta:get_float("j") == 1.23456789) - meta:set_float("j", -1 / 0) - assert(meta:get_float("j") == -1 / 0) - meta:set_float("j", 0 / 0) - assert(core.is_nan(meta:get_float("j"))) - - meta:from_table() - assert(next(meta:to_table().fields) == nil) - assert(#meta:get_keys() == 0) - - assert(not meta:equals(compare_meta)) -end - -local function test_metadata_compat(meta) - -- key/value removal using set_string (undocumented, deprecated way) - meta:set_string("key", "value") - assert(meta:get_string("key") == "value") - meta:set_string("key", nil) -- ignore warning - assert(meta:to_table().fields["key"] == nil) - - -- undocumented but supported consequence of Lua's - -- automatic string <--> number cast - meta:set_string("key", 2) - assert(meta:get_string("key") == "2") - - -- from_table with non-string keys (supported) - local values = meta:to_table() - values.fields["new"] = 420 - meta:from_table(values) - assert(meta:get_int("new") == 420) - values.fields["new"] = nil - meta:from_table(values) - assert(meta:get("new") == nil) -end - - -local storage_a = core.get_mod_storage() -local storage_b = core.get_mod_storage() -local function test_mod_storage() - assert(rawequal(storage_a, storage_b)) - test_metadata(storage_a) -end -unittests.register("test_mod_storage", test_mod_storage) - -local function test_item_metadata() - local meta = ItemStack("unittest:coal_lump"):get_meta() - test_metadata(meta) - test_metadata_compat(meta) -end -unittests.register("test_item_metadata", test_item_metadata) - -local function test_node_metadata(player, pos) - test_metadata(core.get_meta(pos)) -end -unittests.register("test_node_metadata", test_node_metadata, {map=true}) diff --git a/data/games/garage/mods/unittests/misc.lua b/data/games/garage/mods/unittests/misc.lua deleted file mode 100644 index d01eed1..0000000 --- a/data/games/garage/mods/unittests/misc.lua +++ /dev/null @@ -1,332 +0,0 @@ -core.register_mapgen_script(core.get_modpath(core.get_current_modname()) .. - DIR_DELIM .. "inside_mapgen_env.lua") - -local function test_pseudo_random() - -- We have comprehensive unit tests in C++, this is just to make sure the API code isn't messing up - local gen1 = PseudoRandom(13) - assert(gen1:next() == 22290) - assert(gen1:next() == 13854) - - local gen2 = PseudoRandom(gen1:get_state()) - for n = 0, 16 do - assert(gen1:next() == gen2:next()) - end - - local pr3 = PseudoRandom(-101) - assert(pr3:next(0, 100) == 35) - -- unusual case that is normally disallowed: - assert(pr3:next(10000, 42767) == 12485) -end -unittests.register("test_pseudo_random", test_pseudo_random) - -local function test_pcg_random() - -- We have comprehensive unit tests in C++, this is just to make sure the API code isn't messing up - local gen1 = PcgRandom(55) - - for n = 0, 16 do - gen1:next() - end - - local gen2 = PcgRandom(26) - gen2:set_state(gen1:get_state()) - - for n = 16, 32 do - assert(gen1:next() == gen2:next()) - end -end -unittests.register("test_pcg_random", test_pcg_random) - -local function test_dynamic_media(cb, player) - if core.get_player_information(player:get_player_name()).protocol_version < 40 then - core.log("warning", "test_dynamic_media: Client too old, skipping test.") - return cb() - end - - -- Check that the client acknowledges media transfers - local path = core.get_worldpath() .. "/test_media.obj" - local f = io.open(path, "w") - f:write("# contents don't matter\n") - f:close() - - local call_ok = false - local ok = core.dynamic_add_media({ - filepath = path, - to_player = player:get_player_name(), - }, function(name) - if not call_ok then - return cb("impossible condition") - end - cb() - end) - if not ok then - return cb("dynamic_add_media() returned error") - end - call_ok = true - - -- if the callback isn't called this test will just hang :shrug: -end -unittests.register("test_dynamic_media", test_dynamic_media, {async=true, player=true}) - -local function test_v3f_metatable(player) - assert(vector.check(player:get_pos())) -end -unittests.register("test_v3f_metatable", test_v3f_metatable, {player=true}) - -local function test_v3s16_metatable(player, pos) - local node = core.get_node(pos) - local found_pos = core.find_node_near(pos, 0, node.name, true) - assert(vector.check(found_pos)) -end -unittests.register("test_v3s16_metatable", test_v3s16_metatable, {map=true}) - -local function test_clear_meta(_, pos) - local ref = core.get_meta(pos) - - for way = 1, 3 do - ref:set_string("foo", "bar") - assert(ref:contains("foo")) - - if way == 1 then - ref:from_table({}) - elseif way == 2 then - ref:from_table(nil) - else - ref:set_string("foo", "") - end - - assert(#core.find_nodes_with_meta(pos, pos) == 0, "clearing failed " .. way) - end -end -unittests.register("test_clear_meta", test_clear_meta, {map=true}) - -local on_punch_called, on_place_called -core.register_on_placenode(function() - on_place_called = true -end) -core.register_on_punchnode(function() - on_punch_called = true -end) -local function test_node_callbacks(_, pos) - on_place_called = false - on_punch_called = false - - core.place_node(pos, {name="basenodes:dirt"}) - assert(on_place_called, "on_place not called") - core.punch_node(pos) - assert(on_punch_called, "on_punch not called") - core.remove_node(pos) -end -unittests.register("test_node_callbacks", test_node_callbacks, {map=true}) - -local function test_hashing() - local input = "hello\000world" - assert(core.sha1(input) == "f85b420f1e43ebf88649dfcab302b898d889606c") - assert(core.sha256(input) == "b206899bc103669c8e7b36de29d73f95b46795b508aa87d612b2ce84bfb29df2") -end -unittests.register("test_hashing", test_hashing) - -local function test_compress() - -- This text should be compressible, to make sure the results are... normal - local text = "The\000 icey canoe couldn't move very well on the\128 lake. The\000 ice was too stiff and the icey canoe's paddles simply wouldn't punch through." - local methods = { - "deflate", - "zstd", - -- "noodle", -- for warning alarm test - } - local zstd_magic = string.char(0x28, 0xB5, 0x2F, 0xFD) - for _, method in ipairs(methods) do - local compressed = core.compress(text, method) - assert(core.decompress(compressed, method) == text, "input/output mismatch for compression method " .. method) - local has_zstd_magic = compressed:sub(1, 4) == zstd_magic - if method == "zstd" then - assert(has_zstd_magic, "zstd magic number not in zstd method") - else - assert(not has_zstd_magic, "zstd magic number in method " .. method .. " (which is not zstd)") - end - end -end -unittests.register("test_compress", test_compress) - -local function test_urlencode() - -- checks that API code handles null bytes - assert(core.urlencode("foo\000bar!") == "foo%00bar%21") -end -unittests.register("test_urlencode", test_urlencode) - -local function test_parse_json() - local raw = "{\"how\\u0000weird\":\n\"yes\\u0000really\",\"n\":-1234567891011,\"z\":null}" - do - local data = core.parse_json(raw) - assert(data["how\000weird"] == "yes\000really") - assert(data.n == -1234567891011) - assert(data.z == nil) - end - do - local null = {} - local data = core.parse_json(raw, null) - assert(data.z == null) - end - do - local data, err = core.parse_json('"ceci n\'est pas un json', nil, true) - assert(data == nil) - assert(type(err) == "string") - end -end -unittests.register("test_parse_json", test_parse_json) - -local function test_write_json() - -- deeply nested structures should be preserved - local leaf = 42 - local data = leaf - for i = 1, 1000 do - data = {data} - end - local roundtripped = core.parse_json(core.write_json(data)) - for i = 1, 1000 do - roundtripped = roundtripped[1] - end - assert(roundtripped == 42) -end -unittests.register("test_write_json", test_write_json) - -local function test_game_info() - local info = core.get_game_info() - local game_conf = Settings(info.path .. "/game.conf") - assert(info.id == "devtest") - assert(info.title == game_conf:get("title")) -end -unittests.register("test_game_info", test_game_info) - -local function test_mapgen_edges(cb) - -- Test that the map can extend to the expected edges and no further. - local min_edge, max_edge = core.get_mapgen_edges() - local min_finished = {} - local max_finished = {} - local function finish() - if #min_finished ~= 1 then - return cb("Expected 1 block to emerge around mapgen minimum edge") - end - if min_finished[1] ~= (min_edge / core.MAP_BLOCKSIZE):floor() then - return cb("Expected block within minimum edge to emerge") - end - if #max_finished ~= 1 then - return cb("Expected 1 block to emerge around mapgen maximum edge") - end - if max_finished[1] ~= (max_edge / core.MAP_BLOCKSIZE):floor() then - return cb("Expected block within maximum edge to emerge") - end - return cb() - end - local emerges_left = 2 - local function emerge_block(blockpos, action, blocks_left, finished) - if action ~= core.EMERGE_CANCELLED then - table.insert(finished, blockpos) - end - if blocks_left == 0 then - emerges_left = emerges_left - 1 - if emerges_left == 0 then - return finish() - end - end - end - core.emerge_area(min_edge:subtract(1), min_edge, emerge_block, min_finished) - core.emerge_area(max_edge, max_edge:add(1), emerge_block, max_finished) -end -unittests.register("test_mapgen_edges", test_mapgen_edges, {map=true, async=true}) - -local finish_test_on_mapblocks_changed -core.register_on_mapblocks_changed(function(modified_blocks, modified_block_count) - if finish_test_on_mapblocks_changed then - finish_test_on_mapblocks_changed(modified_blocks, modified_block_count) - finish_test_on_mapblocks_changed = nil - end -end) -local function test_on_mapblocks_changed(cb, player, pos) - local bp1 = (pos / core.MAP_BLOCKSIZE):floor() - local bp2 = bp1:add(1) - for _, bp in ipairs({bp1, bp2}) do - -- Make a modification in the block. - local p = bp * core.MAP_BLOCKSIZE - core.load_area(p) - local meta = core.get_meta(p) - meta:set_int("test_on_mapblocks_changed", meta:get_int("test_on_mapblocks_changed") + 1) - end - finish_test_on_mapblocks_changed = function(modified_blocks, modified_block_count) - if modified_block_count < 2 then - return cb("Expected at least two mapblocks to be recorded as modified") - end - if not modified_blocks[core.hash_node_position(bp1)] or - not modified_blocks[core.hash_node_position(bp2)] then - return cb("The expected mapblocks were not recorded as modified") - end - cb() - end -end -unittests.register("test_on_mapblocks_changed", test_on_mapblocks_changed, {map=true, async=true}) - -local function test_gennotify_api() - local DECO_ID = 123 - local UD_ID = "unittests:dummy" - - -- the engine doesn't check if the id is actually valid, maybe it should - core.set_gen_notify({decoration=true}, {DECO_ID}) - - core.set_gen_notify({custom=true}, nil, {UD_ID}) - - local flags, deco, custom = core.get_gen_notify() - local function ff(flag) - return (" " .. flags .. " "):match("[ ,]" .. flag .. "[ ,]") ~= nil - end - assert(ff("decoration"), "'decoration' flag missing") - assert(ff("custom"), "'custom' flag missing") - assert(table.indexof(deco, DECO_ID) > 0) - assert(table.indexof(custom, UD_ID) > 0) - - core.set_gen_notify({decoration=false, custom=false}) - - flags, deco, custom = core.get_gen_notify() - assert(not ff("decoration") and not ff("custom")) - assert(#deco == 0, "deco ids not empty") - assert(#custom == 0, "custom ids not empty") -end -unittests.register("test_gennotify_api", test_gennotify_api) - --- <=> inside_mapgen_env.lua -local function test_mapgen_env(cb) - -- emerge threads start delayed so this can take a second - local res = core.ipc_get("unittests:mg") - if res == nil then - return core.after(0, test_mapgen_env, cb) - end - -- handle error status - if res[1] then - cb() - else - cb(res[2]) - end -end -unittests.register("test_mapgen_env", test_mapgen_env, {async=true}) - -local function test_ipc_vector_preserve(cb) - -- the IPC also uses register_portable_metatable - core.ipc_set("unittests:v", vector.new(4, 0, 4)) - local v = core.ipc_get("unittests:v") - assert(type(v) == "table") - assert(vector.check(v)) -end -unittests.register("test_ipc_vector_preserve", test_ipc_vector_preserve) - -local function test_ipc_poll(cb) - core.ipc_set("unittests:flag", nil) - assert(core.ipc_poll("unittests:flag", 1) == false) - - -- Note that unlike the async result callback - which has to wait for the - -- next server step - the IPC is instant - local t0 = core.get_us_time() - core.handle_async(function() - core.ipc_set("unittests:flag", true) - end, function() end) - assert(core.ipc_poll("unittests:flag", 1000) == true, "Wait failed (or slow machine?)") - print("delta: " .. (core.get_us_time() - t0) .. "us") -end -unittests.register("test_ipc_poll", test_ipc_poll) diff --git a/data/games/garage/mods/unittests/mod.conf b/data/games/garage/mods/unittests/mod.conf deleted file mode 100644 index ccff737..0000000 --- a/data/games/garage/mods/unittests/mod.conf +++ /dev/null @@ -1,4 +0,0 @@ -name = unittests -description = Adds automated unit tests for the engine -# Also test that it is possible to depend on first_mod -depends = first_mod, basenodes diff --git a/data/games/garage/mods/unittests/on_shutdown.lua b/data/games/garage/mods/unittests/on_shutdown.lua deleted file mode 100644 index 6d5d886..0000000 --- a/data/games/garage/mods/unittests/on_shutdown.lua +++ /dev/null @@ -1,22 +0,0 @@ --- Test whether players still exist on shutdown -local players = {} - -core.register_on_joinplayer(function(player) - players[player:get_player_name()] = true -end) - -core.register_on_leaveplayer(function(player) - local name = player:get_player_name(); - assert(players[name], "Unrecorded player join.") - players[name] = nil -end) - -core.register_on_shutdown(function() - for _, player in pairs(core.get_connected_players()) do - local name = player:get_player_name() - assert(players[name], "Unrecorded player join or left too early.") - players[name] = nil - end - - assert(not next(players), "Invalid connected players on shutdown.") -end) diff --git a/data/games/garage/mods/unittests/player.lua b/data/games/garage/mods/unittests/player.lua deleted file mode 100644 index f8945f3..0000000 --- a/data/games/garage/mods/unittests/player.lua +++ /dev/null @@ -1,206 +0,0 @@ --- --- HP Change Reasons --- -local expect = nil -core.register_on_player_hpchange(function(player, hp_change, reason) - if expect == nil then - return - end - - for key, value in pairs(reason) do - assert(expect[key] == value) - end - for key, value in pairs(expect) do - assert(reason[key] == value) - end - - expect = nil -end) - -local function run_hpchangereason_tests(player) - local old_hp = player:get_hp() - - player:set_hp(20) - expect = { type = "set_hp", from = "mod" } - player:set_hp(3) - assert(expect == nil) - - expect = { a = 234, type = "set_hp", from = "mod" } - player:set_hp(7, { a= 234 }) - assert(expect == nil) - - expect = { df = 3458973454, type = "fall", from = "mod" } - player:set_hp(10, { type = "fall", df = 3458973454 }) - assert(expect == nil) - - player:set_hp(old_hp) -end -unittests.register("test_hpchangereason", run_hpchangereason_tests, {player=true}) - --- --- HP differences --- - -local expected_diff = nil -local hpchange_counter = 0 -local die_counter = 0 -core.register_on_player_hpchange(function(player, hp_change, reason) - if expected_diff then - assert(hp_change == expected_diff) - hpchange_counter = hpchange_counter + 1 - end -end) -core.register_on_dieplayer(function() - die_counter = die_counter + 1 -end) - -local function hp_diference_test(player, hp_max) - assert(hp_max >= 22) - - local old_hp = player:get_hp() - local old_hp_max = player:get_properties().hp_max - - hpchange_counter = 0 - die_counter = 0 - - expected_diff = nil - player:set_properties({hp_max = hp_max}) - player:set_hp(22) - assert(player:get_hp() == 22) - assert(hpchange_counter == 0) - assert(die_counter == 0) - - -- HP difference is not clamped - expected_diff = -25 - player:set_hp(-3) - -- actual final HP value is clamped to >= 0 - assert(player:get_hp() == 0) - assert(hpchange_counter == 1) - assert(die_counter == 1) - - expected_diff = 22 - player:set_hp(22) - assert(player:get_hp() == 22) - assert(hpchange_counter == 2) - assert(die_counter == 1) - - -- Integer overflow is prevented - -- so result is S32_MIN, not S32_MIN - 22 - expected_diff = -2147483648 - player:set_hp(-2147483648) - -- actual final HP value is clamped to >= 0 - assert(player:get_hp() == 0) - assert(hpchange_counter == 3) - assert(die_counter == 2) - - -- Damage is ignored if player is already dead (hp == 0) - expected_diff = "never equal" - player:set_hp(-11) - assert(player:get_hp() == 0) - -- no on_player_hpchange or on_dieplayer call expected - assert(hpchange_counter == 3) - assert(die_counter == 2) - - expected_diff = 11 - player:set_hp(11) - assert(player:get_hp() == 11) - assert(hpchange_counter == 4) - assert(die_counter == 2) - - -- HP difference is not clamped - expected_diff = 1000000 - 11 - player:set_hp(1000000) - -- actual final HP value is clamped to <= hp_max - assert(player:get_hp() == hp_max) - assert(hpchange_counter == 5) - assert(die_counter == 2) - - -- "Healing" is not ignored when hp == hp_max - expected_diff = 80000 - hp_max - player:set_hp(80000) - assert(player:get_hp() == hp_max) - -- on_player_hpchange_call expected - assert(hpchange_counter == 6) - assert(die_counter == 2) - - expected_diff = nil - player:set_properties({hp_max = old_hp_max}) - player:set_hp(old_hp) - core.close_formspec(player:get_player_name(), "") -- hide death screen -end -local function run_hp_difference_tests(player) - hp_diference_test(player, 22) - hp_diference_test(player, 30) - hp_diference_test(player, 65535) -- U16_MAX -end -unittests.register("test_hp_difference", run_hp_difference_tests, {player=true}) - --- --- Player meta --- -local function run_player_meta_tests(player) - local meta = player:get_meta() - meta:set_string("foo", "bar") - assert(meta:contains("foo")) - assert(meta:get_string("foo") == "bar") - assert(meta:get("foo") == "bar") - - local meta2 = player:get_meta() - assert(meta2:get_string("foo") == "bar") - assert(meta2:get("foo") == "bar") - assert(meta:equals(meta2)) - - meta:set_string("bob", "dillan") - assert(meta:get_string("foo") == "bar") - assert(meta:get_string("bob") == "dillan") - assert(meta:get("bob") == "dillan") - assert(meta2:get_string("foo") == "bar") - assert(meta2:get_string("bob") == "dillan") - assert(meta2:get("bob") == "dillan") - assert(meta:equals(meta2)) - - meta:set_string("foo", "") - assert(not meta:contains("foo")) - assert(meta:get("foo") == nil) - assert(meta:get_string("foo") == "") - assert(meta:equals(meta2)) -end -unittests.register("test_player_meta", run_player_meta_tests, {player=true}) - --- --- Player add pos --- -local function run_player_add_pos_tests(player) - local pos = player:get_pos() - player:add_pos(vector.new(0, 1000, 0)) - local newpos = player:get_pos() - player:add_pos(vector.new(0, -1000, 0)) - local backpos = player:get_pos() - local newdist = vector.distance(pos, newpos) - assert(math.abs(newdist - 1000) <= 1) - assert(vector.distance(pos, backpos) <= 1) -end -unittests.register("test_player_add_pos", run_player_add_pos_tests, {player=true}) - --- --- Hotbar selection clamp --- -local function run_player_hotbar_clamp_tests(player) - local inv = player:get_inventory() - local old_inv_size = inv:get_size("main") - local old_inv_list = inv:get_list("main") -- Avoid accidentally removing item - local old_bar_size = player:hud_get_hotbar_itemcount() - - inv:set_size("main", 5) - - player:hud_set_hotbar_itemcount(2) - assert(player:hud_get_hotbar_itemcount() == 2) - - player:hud_set_hotbar_itemcount(6) - assert(player:hud_get_hotbar_itemcount() == 5) - - inv:set_size("main", old_inv_size) - inv:set_list("main", old_inv_list) - player:hud_set_hotbar_itemcount(old_bar_size) -end -unittests.register("test_player_hotbar_clamp", run_player_hotbar_clamp_tests, {player=true}) diff --git a/data/games/garage/mods/unittests/raycast.lua b/data/games/garage/mods/unittests/raycast.lua deleted file mode 100644 index 08d6a11..0000000 --- a/data/games/garage/mods/unittests/raycast.lua +++ /dev/null @@ -1,36 +0,0 @@ -local function raycast_with_pointabilities(start_pos, end_pos, pointabilities) - local ray = core.raycast(start_pos, end_pos, nil, nil, pointabilities) - for hit in ray do - if hit.type == "node" then - return hit.under - end - end - return nil -end - -local function test_raycast_pointabilities(player, pos1) - local pos2 = pos1:offset(0, 0, 1) - local pos3 = pos1:offset(0, 0, 2) - - local oldnode1 = core.get_node(pos1) - local oldnode2 = core.get_node(pos2) - local oldnode3 = core.get_node(pos3) - core.swap_node(pos1, {name = "air"}) - core.swap_node(pos2, {name = "testnodes:not_pointable"}) - core.swap_node(pos3, {name = "testnodes:pointable"}) - - local p = nil - assert(raycast_with_pointabilities(pos1, pos3, p) == pos3) - - p = core.registered_items["testtools:blocked_pointing_staff"].pointabilities - assert(raycast_with_pointabilities(pos1, pos3, p) == nil) - - p = core.registered_items["testtools:ultimate_pointing_staff"].pointabilities - assert(raycast_with_pointabilities(pos1, pos3, p) == pos2) - - core.swap_node(pos1, oldnode1) - core.swap_node(pos2, oldnode2) - core.swap_node(pos3, oldnode3) -end - -unittests.register("test_raycast_pointabilities", test_raycast_pointabilities, {map=true}) diff --git a/data/games/garage/mods/unittests/textures/default_dirt.png b/data/games/garage/mods/unittests/textures/default_dirt.png deleted file mode 100644 index 58670305d007716c3fee12b45e8acf301cbd4c5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 790 zcmV+x1L^#UP)+xj5kBG+jwP?dy=OpTdxIW%S%svYi-AiUwq95neHg?hCz7VnWHWv=)Dt@+7{ zG9yk$tjix{Qdekl_Ycmh6ftmSTdZf+$_P<()8l^eEE301l)&j zPgzWHUtPRR0~_FG^)aeC*V2YeNTaW_wd>dGb*RAH#b}es_^G>U)5gg@K~1JsE{-0v z0A`D8y1L&TY&%$cYrBfdipqnT$G789yi|&^JElE7R3ocRv4*+<>nTzHM=5G!^)%aqz(1wGAfXN%v*Yjt8^_?`gG1 z&);$RzU%0jO?}+_=xVRBAXv!ga z$z&xWeSVb4&(XO?R53R~8Jb?gL!H)|C1iMQ#?79<0v$FGc_eXs-)NrylE3^4-Qh4C z@{|Sc%w?TE+llJ3I7#|;@Tx2&98IsgJB9e|duk4Gx9tuPwp3AEIj^`(<;T;rzBO|k zb>zf#QH)Q*`sE2a9@=S~OL6{o%oB#Wg`}wk66w_9%mFtYMOh=53$us73?bCje;Rml UYvInCO8@`>07*qoM6N<$f@__Gg8%>k diff --git a/data/games/garage/mods/unittests/textures/unittests_callback.png b/data/games/garage/mods/unittests/textures/unittests_callback.png deleted file mode 100644 index 3c80fdc0d3193e66d30e05ba3a20f56b87d0cfc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DV{ElAr*{UCNZ)d2;gz9J~l7o z`HR%eNg4$Z~kD@`M}$e?%>0mSoA`D)=u_vM%73u1}9UQ?Y*m09s})T@O1TaS?83{ F1OQ5THdg=u diff --git a/data/games/garage/mods/unittests/textures/unittests_coal_lump.png b/data/games/garage/mods/unittests/textures/unittests_coal_lump.png deleted file mode 100644 index f460d909ef35804cd8d640574bf879646947ef97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar*{UCNZ)xIPx(6o>8}~ z|K)$ioy9G}DXVj4>Ur?ou3&da_*<84{~+pYZ1X!dN$HG$k8D8!p7frpr>BaF3Q!El z{r?|GGpsc4E&)=kB|(0{AU?yPY_^R+D%sP;F@!@__sl`g1_J??i;lVnn$0#`%clKp-UW7%sGgh%JJ+hH!<|KE|;AIsZ-m`2q w>I1x{h{RlI3Hy7zX_eH`mQ=mjubg(iit7|o%n^Ecp%!GVr>mdKI;Vst0N|xdBLDyZ diff --git a/data/games/garage/mods/unittests/textures/unittests_iron_lump.png b/data/games/garage/mods/unittests/textures/unittests_iron_lump.png deleted file mode 100644 index 22f43e9cce04fe976ec18b3e6836811f2d9803d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`iJmTwAr*|t3{C(4|2O`lKATNA zg?U5VC*B2Xx%2!_{pCNbvXfzNl9+Ty&mrSj_s3lft2$!D z1@*3N%En1LybLN)qN~4p-jD%W#^CAd=d#Wzp$Py& C$1{-t diff --git a/data/games/garage/mods/unittests/textures/unittests_repairable_tool.png b/data/games/garage/mods/unittests/textures/unittests_repairable_tool.png deleted file mode 100644 index 46fbbaa74530c32ef3b02fb0e4fdd7f606fb4ef0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar*{sCpWSkFc5J5{NLey z`{v$OJ)cDntD@p;G~P{M>Hl7R@JxYx$wEF?*U+133tATCOz7U^n14z7#}zidh)zkC z8~4vD9QHDa$o_jM?h%`08Mh=y9b2j$n{CcS$F|S$4_@wLc($A;?aH1!1)!A-p00i_ I>zopr0Ji-*QUCw| diff --git a/data/games/garage/mods/unittests/textures/unittests_steel_ingot.png b/data/games/garage/mods/unittests/textures/unittests_steel_ingot.png deleted file mode 100644 index 6977696a23832867b5c0499997dfcfc0d71777db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`X`U{QAr*{!`WV>`IPkE1zO_f$ z|MdB7dpF$(^B1~fWNDE8Mvmd|kJ@uJ4 zC~eT_aN+vFc(ZfL+vo*}W#>qgTe~DWM4f D!SOfD diff --git a/data/games/garage/mods/unittests/textures/unittests_unrepairable_tool.png b/data/games/garage/mods/unittests/textures/unittests_unrepairable_tool.png deleted file mode 100644 index c676213a5de29a6e3c656f29bead261595ed63ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DV{ElAr*{sCo!@eaNuEK{{G+p z%lzAmj&D%X_Lj0u;|+>enR@N_|CP^W3bnf5J#TYOmgJeS=LFBBMQ0SuPx4x9WMt4T zZf5*eF6CojBxP}D`V7X0OB&cDdoDN_-idj{^v(K0*?v2}%Uky6pPdf0kHOQ`&t;uc GLK6T-H8}PF diff --git a/data/games/garage/mods/util_commands/init.lua b/data/games/garage/mods/util_commands/init.lua deleted file mode 100644 index 8341901..0000000 --- a/data/games/garage/mods/util_commands/init.lua +++ /dev/null @@ -1,243 +0,0 @@ -core.register_chatcommand("hotbar", { - params = "", - description = "Set hotbar size", - func = function(name, param) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - local size = tonumber(param) - if not size then - return false, "Missing or incorrect size parameter!" - end - local ok = player:hud_set_hotbar_itemcount(size) - if ok then - return true - else - return false, "Invalid item count!" - end - end, -}) - -core.register_chatcommand("hp", { - params = "", - description = "Set your health", - func = function(name, param) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - local hp = tonumber(param) - if not hp or core.is_nan(hp) or hp < 0 or hp > 65535 then - return false, "Missing or incorrect hp parameter!" - end - player:set_hp(hp) - return true - end, -}) - -local s_infplace = core.settings:get("devtest_infplace") -if s_infplace == "true" then - infplace = true -elseif s_infplace == "false" then - infplace = false -else - infplace = core.is_creative_enabled("") -end - -core.register_chatcommand("infplace", { - params = "", - description = "Toggle infinite node placement", - func = function(name, param) - infplace = not infplace - if infplace then - core.chat_send_all("Infinite node placement enabled!") - core.log("action", "Infinite node placement enabled") - else - core.chat_send_all("Infinite node placement disabled!") - core.log("action", "Infinite node placement disabled") - end - return true - end, -}) - -core.register_chatcommand("detach", { - params = "[]", - description = "Detach all objects nearby", - func = function(name, param) - local radius = tonumber(param) - if type(radius) ~= "number" then - radius = 8 - end - if radius < 1 then - radius = 1 - end - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - local objs = core.get_objects_inside_radius(player:get_pos(), radius) - local num = 0 - for o=1, #objs do - if objs[o]:get_attach() then - objs[o]:set_detach() - num = num + 1 - end - end - return true, string.format("%d object(s) detached.", num) - end, -}) - -core.register_chatcommand("use_tool", { - params = "(dig ) | (hit ) []", - description = "Apply tool wear a number of times, as if it were used for digging", - func = function(name, param) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - local mode, group, level, uses = string.match(param, "([a-z]+) ([a-z0-9]+) (-?%d+) (%d+)") - if not mode then - mode, group, level = string.match(param, "([a-z]+) ([a-z0-9]+) (-?%d+)") - uses = 1 - end - if not mode or not group or not level then - return false - end - if mode ~= "dig" and mode ~= "hit" then - return false - end - local tool = player:get_wielded_item() - local caps = tool:get_tool_capabilities() - if not caps or tool:get_count() == 0 then - return false, "No tool in hand." - end - local actual_uses = 0 - for u=1, uses do - local wear = tool:get_wear() - local dp - if mode == "dig" then - dp = core.get_dig_params({[group]=3, level=level}, caps, wear) - else - dp = core.get_hit_params({[group]=100}, caps, level, wear) - end - tool:add_wear(dp.wear) - actual_uses = actual_uses + 1 - if tool:get_count() == 0 then - break - end - end - player:set_wielded_item(tool) - if tool:get_count() == 0 then - return true, string.format("Tool used %d time(s). ".. - "The tool broke after %d use(s).", uses, actual_uses) - else - local wear = tool:get_wear() - return true, string.format("Tool used %d time(s). ".. - "Final wear=%d", uses, wear) - end - end, -}) - - --- Unlimited node placement -core.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack) - if placer and placer:is_player() then - return infplace - end -end) - --- Don't pick up if the item is already in the inventory -local old_handle_node_drops = core.handle_node_drops -function core.handle_node_drops(pos, drops, digger) - if not digger or not digger:is_player() or not infplace 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 - -core.register_chatcommand("set_displayed_itemcount", { - params = "(-s \"\" [-c ]) | -a ", - description = "Set the displayed itemcount of the wielded item", - func = function(name, param) - local player = core.get_player_by_name(name) - local item = player:get_wielded_item() - local meta = item:get_meta() - local flag1 = param:sub(1, 2) - if flag1 == "-s" then - if param:sub(3, 4) ~= " \"" then - return false, "Error: Space and string with \"s expected after -s." - end - local se = param:find("\"", 5, true) - if not se then - return false, "Error: String with two \"s expected after -s." - end - local s = param:sub(5, se - 1) - if param:sub(se + 1, se + 4) == " -c " then - s = core.colorize(param:sub(se + 5), s) - end - meta:set_string("count_meta", s) - elseif flag1 == "-a" then - local num = tonumber(param:sub(4)) - if not num then - return false, "Error: Invalid number: "..param:sub(4) - end - meta:set_int("count_alignment", num) - else - return false - end - player:set_wielded_item(item) - return true, "Displayed itemcount set." - end, -}) - -core.register_chatcommand("dump_item", { - params = "", - description = "Prints a dump of the wielded item in table form", - func = function(name, param) - local player = core.get_player_by_name(name) - local item = player:get_wielded_item() - local str = dump(item:to_table()) - print(str) - return true, str - end, -}) - -core.register_chatcommand("dump_itemdef", { - params = "", - description = "Prints a dump of the wielded item's definition in table form", - func = function(name, param) - local player = core.get_player_by_name(name) - local str = dump(player:get_wielded_item():get_definition()) - print(str) - return true, str - end, -}) - -core.register_chatcommand("dump_wear_bar", { - params = "", - description = "Prints a dump of the wielded item's wear bar parameters in table form", - func = function(name, param) - local player = core.get_player_by_name(name) - local item = player:get_wielded_item() - local str = dump(item:get_wear_bar_params()) - print(str) - return true, str - end, -}) - -core.register_chatcommand("set_saturation", { - params = "", - description = "Set the saturation for current player.", - func = function(player_name, param) - local saturation = tonumber(param) - core.get_player_by_name(player_name):set_lighting({saturation = saturation }) - end -}) diff --git a/data/games/garage/mods/util_commands/mod.conf b/data/games/garage/mods/util_commands/mod.conf deleted file mode 100644 index fea6dd3..0000000 --- a/data/games/garage/mods/util_commands/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = util_commands -description = Random server commands to make testing easier and more convenient diff --git a/data/games/garage/mods/vessels/README.txt b/data/games/garage/mods/vessels/README.txt new file mode 100644 index 0000000..c101c0c --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/vessels/init.lua b/data/games/garage/mods/vessels/init.lua new file mode 100644 index 0000000..a2f2471 --- /dev/null +++ b/data/games/garage/mods/vessels/init.lua @@ -0,0 +1,233 @@ +-- vessels/init.lua + +-- Minetest Game mod: vessels +-- See README.txt for licensing and other information. + +-- Load support for MT game translation. +local S = minetest.get_translator("vessels") + + +local vessels_shelf_formspec = + "size[8,7;]" .. + "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 update_vessels_shelf(pos) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local invlist = inv:get_list("vessels") + + local formspec = vessels_shelf_formspec + -- Inventory slots overlay + local vx, vy = 0, 0.3 + local n_items = 0 + 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]" + else + local stack = invlist[i] + if not stack:is_empty() then + n_items = n_items + stack:get_count() + end + end + vx = vx + 1 + end + meta:set_string("formspec", formspec) + if n_items == 0 then + meta:set_string("infotext", S("Empty Vessels Shelf")) + else + meta:set_string("infotext", S("Vessels Shelf (@1 items)", n_items)) + end +end + +local vessels_shelf_def = { + description = S("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) + update_vessels_shelf(pos) + 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_blast = function(pos) + local drops = {} + default.get_inventory_drops(pos, "vessels", drops) + drops[#drops + 1] = "vessels:shelf" + minetest.remove_node(pos) + return drops + end, + on_metadata_inventory_put = function(pos) + update_vessels_shelf(pos) + end, + on_metadata_inventory_take = function(pos) + update_vessels_shelf(pos) + end, + on_metadata_inventory_move = function(pos) + update_vessels_shelf(pos) + end, +} +default.set_inventory_action_loggers(vessels_shelf_def, "vessels shelf") +minetest.register_node("vessels:shelf", vessels_shelf_def) + +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 = S("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 = S("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 = S("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 = S("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, +}) + +-- Register glass fragments as dungeon loot +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + name = "vessels:glass_fragments", chance = 0.35, count = {1, 4} + }) +end diff --git a/data/games/garage/mods/vessels/license.txt b/data/games/garage/mods/vessels/license.txt new file mode 100644 index 0000000..3bd2951 --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/vessels/locale/template.txt b/data/games/garage/mods/vessels/locale/template.txt new file mode 100644 index 0000000..e6e5f69 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/template.txt @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf= +Vessels Shelf (@1 items)= +Vessels Shelf= +Empty Glass Bottle= +Empty Drinking Glass= +Empty Heavy Steel Bottle= +Glass Fragments= diff --git a/data/games/garage/mods/vessels/locale/vessels.de.tr b/data/games/garage/mods/vessels/locale/vessels.de.tr new file mode 100644 index 0000000..162e359 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.de.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Leeres Gefäßregal +Vessels Shelf (@1 items)=Gefäßregal (@1 Gegenstände) +Vessels Shelf=Gefäßregal +Empty Glass Bottle=Leere Glasflasche +Empty Drinking Glass=Leeres Trinkglas +Empty Heavy Steel Bottle=Leere schwere Stahlflasche +Glass Fragments=Glasfragmente diff --git a/data/games/garage/mods/vessels/locale/vessels.eo.tr b/data/games/garage/mods/vessels/locale/vessels.eo.tr new file mode 100644 index 0000000..63a955d --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.eo.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Malplena vaza plataĵo +Vessels Shelf (@1 items)=Vaza plataĵo (@1 objektoj) +Vessels Shelf=Vaza plataĵo +Empty Glass Bottle=Malplena vitra botelo +Empty Drinking Glass=Malplena glaso +Empty Heavy Steel Bottle=Malplena peza ŝtala botelo +Glass Fragments=Vitraj eroj diff --git a/data/games/garage/mods/vessels/locale/vessels.es.tr b/data/games/garage/mods/vessels/locale/vessels.es.tr new file mode 100644 index 0000000..d6131d8 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.es.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Estante de vasijas vacío +Vessels Shelf (@1 items)=Estante de vasijas (@1 objetos) +Vessels Shelf=Estante de vasijas +Empty Glass Bottle=Botella de vidrio vacía +Empty Drinking Glass=Vaso para beber vacío +Empty Heavy Steel Bottle=Botella de acero vacía +Glass Fragments=Fragmentos de vidrio diff --git a/data/games/garage/mods/vessels/locale/vessels.fr.tr b/data/games/garage/mods/vessels/locale/vessels.fr.tr new file mode 100644 index 0000000..f099c19 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.fr.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Etagère à récipient vide +Vessels Shelf (@1 items)=Etagère à récipient (@1 articles) +Vessels Shelf=Etagère à récipient +Empty Glass Bottle=Bouteille de verre vide +Empty Drinking Glass=Verre vide +Empty Heavy Steel Bottle=Bouteille d'acier lourde vide +Glass Fragments=Fragments de verre diff --git a/data/games/garage/mods/vessels/locale/vessels.id.tr b/data/games/garage/mods/vessels/locale/vessels.id.tr new file mode 100644 index 0000000..f80fbc3 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.id.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Rak Bejana Kosong +Vessels Shelf (@1 items)=Rak Bejana (@1 barang) +Vessels Shelf=Rak Bejana +Empty Glass Bottle=Botol Kaca Kosong +Empty Drinking Glass=Gelas Minum Kosong +Empty Heavy Steel Bottle=Botol Baja Berat Kosong +Glass Fragments=Pecahan Kaca diff --git a/data/games/garage/mods/vessels/locale/vessels.it.tr b/data/games/garage/mods/vessels/locale/vessels.it.tr new file mode 100644 index 0000000..70ea575 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.it.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Scaffale per contenitori vuoto +Vessels Shelf (@1 items)=Scaffale per contenitori (@1 oggetti) +Vessels Shelf=Scaffale per contenitori +Empty Glass Bottle=Bottiglia di vetro vuota +Empty Drinking Glass=Bicchiere di vetro vuoto +Empty Heavy Steel Bottle=Bottigia di metallo pesante vuota +Glass Fragments=Frammenti di vetro diff --git a/data/games/garage/mods/vessels/locale/vessels.ja.tr b/data/games/garage/mods/vessels/locale/vessels.ja.tr new file mode 100644 index 0000000..451489a --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.ja.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=空の瓶の棚 +Vessels Shelf (@1 items)=瓶の棚(@1 本) +Vessels Shelf=瓶の棚 +Empty Glass Bottle=空のガラス瓶 +Empty Drinking Glass=空のガラスコップ +Empty Heavy Steel Bottle=空の重い鉄瓶 +Glass Fragments=ガラスの破片 diff --git a/data/games/garage/mods/vessels/locale/vessels.jbo.tr b/data/games/garage/mods/vessels/locale/vessels.jbo.tr new file mode 100644 index 0000000..6e1145e --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.jbo.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=.i ti kunti ke vasru kajna +Vessels Shelf (@1 items)=.i lo ti vasru kajna cu vasru lo @1 dacti +Vessels Shelf=lo vasru kajna +Empty Glass Bottle=lo blacybo'i be no da +Empty Drinking Glass=lo blacykabri be no da +Empty Heavy Steel Bottle=lo tilju ke gasta botpi be no da +Glass Fragments=lo derxi be lo blaci spisa diff --git a/data/games/garage/mods/vessels/locale/vessels.lv.tr b/data/games/garage/mods/vessels/locale/vessels.lv.tr new file mode 100644 index 0000000..2e5127f --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.lv.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Tukšs trauku plaukts +Vessels Shelf (@1 items)=Trauku plaukts ar @1 priekšmetiem +Vessels Shelf=Trauku plaukts +Empty Glass Bottle=Tukša stikla pudele +Empty Drinking Glass=Tukša glāze +Empty Heavy Steel Bottle=Tukša tērauda pudele +Glass Fragments=Stikla skaidas diff --git a/data/games/garage/mods/vessels/locale/vessels.ms.tr b/data/games/garage/mods/vessels/locale/vessels.ms.tr new file mode 100644 index 0000000..db6e62f --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.ms.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Rak Bekas Kaca Kosong +Vessels Shelf (@1 items)=Rak Bekas Kaca (@1 item) +Vessels Shelf=Rak Bekas Kaca +Empty Glass Bottle=Botol Kaca Kosong +Empty Drinking Glass=Gelas Minuman Kosong +Empty Heavy Steel Bottle=Botol Keluli Berat Kosong +Glass Fragments=Serpihan Kaca diff --git a/data/games/garage/mods/vessels/locale/vessels.pl.tr b/data/games/garage/mods/vessels/locale/vessels.pl.tr new file mode 100644 index 0000000..5e91da9 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.pl.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Pusta półka na naczynia +Vessels Shelf (@1 items)=Półka na naczynia (@1 przedmiotów) +Vessels Shelf=Półka na naczynia +Empty Glass Bottle=Pusta szklana butelka +Empty Drinking Glass=Pusta butelka do picia +Empty Heavy Steel Bottle=Pusta stalowa butelka +Glass Fragments=Odłamki szkła diff --git a/data/games/garage/mods/vessels/locale/vessels.pt_BR.tr b/data/games/garage/mods/vessels/locale/vessels.pt_BR.tr new file mode 100644 index 0000000..c22cb06 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.pt_BR.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Prateleira de Vasos Vazia +Vessels Shelf (@1 items)=Prateleira de Vasos (@1 itens) +Vessels Shelf=Prateleira de Vasos +Empty Glass Bottle=Garrafa de Vidro Vazia +Empty Drinking Glass=Copo Vazio +Empty Heavy Steel Bottle=Garrafa de Aço Pesada Vazia +Glass Fragments=Cacos de Vidro diff --git a/data/games/garage/mods/vessels/locale/vessels.ru.tr b/data/games/garage/mods/vessels/locale/vessels.ru.tr new file mode 100644 index 0000000..e9f276a --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.ru.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Полка с пустыми сосудами +Vessels Shelf (@1 items)=Полка с сосудами (@1 штук) +Vessels Shelf=Полка с сосудами +Empty Glass Bottle=Пустая стеклянная бутылка +Empty Drinking Glass=Пустой стакан +Empty Heavy Steel Bottle=Пустая стальная бутылка +Glass Fragments=Стеклянные осколки diff --git a/data/games/garage/mods/vessels/locale/vessels.sk.tr b/data/games/garage/mods/vessels/locale/vessels.sk.tr new file mode 100644 index 0000000..6ec640b --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.sk.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Prázdna polica na fľašky +Vessels Shelf (@1 items)=Polica na fľašky (@1 položka/y) +Vessels Shelf=Polica na fľašky +Empty Glass Bottle=Prázdna sklenená fľaša +Empty Drinking Glass=Prázdny pohár na pitie +Empty Heavy Steel Bottle=Prázdna oceľová fľaša +Glass Fragments=Časti skla diff --git a/data/games/garage/mods/vessels/locale/vessels.sv.tr b/data/games/garage/mods/vessels/locale/vessels.sv.tr new file mode 100644 index 0000000..48e76e2 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.sv.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Tom kärlhylla +Vessels Shelf (@1 items)=Kärlhylla (@1 saker) +Vessels Shelf=Kärlhylla +Empty Glass Bottle=Tom glasflaska +Empty Drinking Glass=Tom drycksflaska +Empty Heavy Steel Bottle=Tom tungstålsflaska +Glass Fragments=Glasbitar diff --git a/data/games/garage/mods/vessels/locale/vessels.uk.tr b/data/games/garage/mods/vessels/locale/vessels.uk.tr new file mode 100644 index 0000000..34165d9 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.uk.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=Пуста полиця для посуду +Vessels Shelf (@1 items)=Полиця для посуду (@1 предм.) +Vessels Shelf=Полиця для посуду +Empty Glass Bottle=Порожня скляна пляшка +Empty Drinking Glass=Порожня склянка +Empty Heavy Steel Bottle=Порожня важка сталева пляшка +Glass Fragments=Скляні уламки diff --git a/data/games/garage/mods/vessels/locale/vessels.zh_CN.tr b/data/games/garage/mods/vessels/locale/vessels.zh_CN.tr new file mode 100644 index 0000000..e303e24 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.zh_CN.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=空容器架 +Vessels Shelf (@1 items)=容器架(@1项) +Vessels Shelf=容器架 +Empty Glass Bottle=空玻璃瓶 +Empty Drinking Glass=空水杯 +Empty Heavy Steel Bottle=空重型钢瓶 +Glass Fragments=玻璃碎片 diff --git a/data/games/garage/mods/vessels/locale/vessels.zh_TW.tr b/data/games/garage/mods/vessels/locale/vessels.zh_TW.tr new file mode 100644 index 0000000..6aecb35 --- /dev/null +++ b/data/games/garage/mods/vessels/locale/vessels.zh_TW.tr @@ -0,0 +1,8 @@ +# textdomain: vessels +Empty Vessels Shelf=空容器架 +Vessels Shelf (@1 items)=容器架(@1項) +Vessels Shelf=容器架 +Empty Glass Bottle=空玻璃瓶 +Empty Drinking Glass=空水杯 +Empty Heavy Steel Bottle=空重型鋼瓶 +Glass Fragments=玻璃碎片 diff --git a/data/games/garage/mods/vessels/mod.conf b/data/games/garage/mods/vessels/mod.conf new file mode 100644 index 0000000..eba9076 --- /dev/null +++ b/data/games/garage/mods/vessels/mod.conf @@ -0,0 +1,4 @@ +name = vessels +description = Minetest Game mod: vessels +depends = default +optional_depends = dungeon_loot diff --git a/data/games/garage/mods/vessels/textures/vessels_drinking_glass.png b/data/games/garage/mods/vessels/textures/vessels_drinking_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..aef7329626138067fdb3a130b0c8773e498806b3 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ot`d^Ar}5`{SCPq33e65?O$I%@la#fz9Jw|o=43IZpP6PpbRohpr*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)`^yNii1sXHo)5S4FLNfJWC{t5_h{M6p6OO%m_ikPH z#{Z$5i~d(uBB53~E)hezkjtgRzg)pUdY9E@-fRHGd)KeK|EcC!rrnml%b!A+nmvwLSom&U>od7SkUN9%-(H5cc0Oh%&N)YcPG#_P L^>bP0l+XkK6FD3y literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/vessels/textures/vessels_shelf.png b/data/games/garage/mods/vessels/textures/vessels_shelf.png new file mode 100644 index 0000000000000000000000000000000000000000..87c69b28954009b8d719d477168a53fd91cde343 GIT binary patch literal 354 zcmV-o0iFJdP)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/data/games/garage/mods/vessels/textures/vessels_shelf_slot.png b/data/games/garage/mods/vessels/textures/vessels_shelf_slot.png new file mode 100644 index 0000000000000000000000000000000000000000..93a729e511ce69cfbfb0bc3a47d72093d3fc2274 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E07Kd2$0~OeILkTED7=p zW^j0RBMr#W@^o9f4z>(x#N>SFM8^>bP0l+XkK4gDLg literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/vessels/textures/vessels_steel_bottle.png b/data/games/garage/mods/vessels/textures/vessels_steel_bottle.png new file mode 100644 index 0000000000000000000000000000000000000000..169930a38dbb9306b7b8d1fc73acd916b1419e37 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`-JULvAr`0K25IvhP!PHOwXEgl z-Nd@@GaMcjYN$xCG_f>4RLXzp?V0z2N)2ImIH$DGkoqT++!FQ-T)FF=m#L+H;&qQ}umEfMzQrA8%YRqaJTMzoNl` ug|$l^I0_>f*1y!88Wdt5$hu|oR_oMx-_?Tz(>4N~#o+1c=d#Wzp$Py$Lr28` literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/walls/README.txt b/data/games/garage/mods/walls/README.txt new file mode 100644 index 0000000..ba33bd7 --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/walls/init.lua b/data/games/garage/mods/walls/init.lua new file mode 100644 index 0000000..0f7425c --- /dev/null +++ b/data/games/garage/mods/walls/init.lua @@ -0,0 +1,73 @@ +-- walls/init.lua + +walls = {} + +local fence_collision_extra = minetest.settings:get_bool("enable_fence_tall") and 3/8 or 0 + +-- Load support for MT game translation. +local S = minetest.get_translator("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}, + }, + collision_box = { + type = "connected", + fixed = {-1/4, -1/2, -1/4, 1/4, 1/2 + fence_collision_extra, 1/4}, + -- connect_top = + -- connect_bottom = + connect_front = {-1/4,-1/2,-1/2,1/4,1/2 + fence_collision_extra,-1/4}, + connect_left = {-1/2,-1/2,-1/4,-1/4,1/2 + fence_collision_extra,1/4}, + connect_back = {-1/4,-1/2,1/4,1/4,1/2 + fence_collision_extra,1/2}, + connect_right = {1/4,-1/2,-1/4,1/2,1/2 + fence_collision_extra,1/4}, + }, + connects_to = { "group:wall", "group:stone", "group:fence", "group:wall_connected" }, + paramtype = "light", + is_ground_content = false, + tiles = wall_texture_table, + walkable = true, + groups = { cracky = 3, wall = 1, stone = 2 }, + sounds = wall_sounds, + }) + + -- crafting recipe + -- HACK: + -- Walls have no crafts, when register new wall via API from another mod, but in the same namespace (`walls`). + -- So we should remove `":"` at the beginning of the name. + if wall_name:sub(1, 1) == ":" then + wall_name = wall_name:sub(2) + end + 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", S("Cobblestone Wall"), {"default_cobble.png"}, + "default:cobble", default.node_sound_stone_defaults()) + +walls.register("walls:mossycobble", S("Mossy Cobblestone Wall"), {"default_mossycobble.png"}, + "default:mossycobble", default.node_sound_stone_defaults()) + +walls.register("walls:desertcobble", S("Desert Cobblestone Wall"), {"default_desert_cobble.png"}, + "default:desert_cobble", default.node_sound_stone_defaults()) + diff --git a/data/games/garage/mods/walls/license.txt b/data/games/garage/mods/walls/license.txt new file mode 100644 index 0000000..ccfaf1c --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/walls/locale/template.txt b/data/games/garage/mods/walls/locale/template.txt new file mode 100644 index 0000000..6721dc6 --- /dev/null +++ b/data/games/garage/mods/walls/locale/template.txt @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall= +Mossy Cobblestone Wall= +Desert Cobblestone Wall= diff --git a/data/games/garage/mods/walls/locale/walls.de.tr b/data/games/garage/mods/walls/locale/walls.de.tr new file mode 100644 index 0000000..c31d4f6 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.de.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Kopfsteinpflastermauer +Mossy Cobblestone Wall=Moosige Kopfsteinpflastermauer +Desert Cobblestone Wall=Wüstenkopfsteinpflastermauer diff --git a/data/games/garage/mods/walls/locale/walls.eo.tr b/data/games/garage/mods/walls/locale/walls.eo.tr new file mode 100644 index 0000000..95b8ced --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.eo.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Pavimŝtona muro +Mossy Cobblestone Wall=Muska pavimŝtona muro +Desert Cobblestone Wall=Dezerta pavimŝtona muro diff --git a/data/games/garage/mods/walls/locale/walls.es.tr b/data/games/garage/mods/walls/locale/walls.es.tr new file mode 100644 index 0000000..796710f --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.es.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Pared de adoquines +Mossy Cobblestone Wall=Pared de adoquines musgosos +Desert Cobblestone Wall=Pared de adoquines desérticos diff --git a/data/games/garage/mods/walls/locale/walls.fr.tr b/data/games/garage/mods/walls/locale/walls.fr.tr new file mode 100644 index 0000000..8dcb625 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.fr.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Mur en pavé +Mossy Cobblestone Wall=Mur en pavé moussu +Desert Cobblestone Wall=Mur en pavé du désert diff --git a/data/games/garage/mods/walls/locale/walls.id.tr b/data/games/garage/mods/walls/locale/walls.id.tr new file mode 100644 index 0000000..8bfd9c7 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.id.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Tembok Bongkahan Batu +Mossy Cobblestone Wall=Tembok Bongkahan Batu Berlumut +Desert Cobblestone Wall=Tembok Bongkahan Batu Gurun diff --git a/data/games/garage/mods/walls/locale/walls.it.tr b/data/games/garage/mods/walls/locale/walls.it.tr new file mode 100644 index 0000000..4babad2 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.it.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Muro di ciottoli +Mossy Cobblestone Wall=Muro di ciottoli muschiosi +Desert Cobblestone Wall=Muro di ciottoli del deserto diff --git a/data/games/garage/mods/walls/locale/walls.ja.tr b/data/games/garage/mods/walls/locale/walls.ja.tr new file mode 100644 index 0000000..c907aed --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.ja.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=丸石の塀 +Mossy Cobblestone Wall=苔むした丸石の塀 +Desert Cobblestone Wall=砂漠の丸石の塀 diff --git a/data/games/garage/mods/walls/locale/walls.jbo.tr b/data/games/garage/mods/walls/locale/walls.jbo.tr new file mode 100644 index 0000000..aba765c --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=lo lolro'iboi bitmu +Mossy Cobblestone Wall=lo clika lolro'iboi bitmu +Desert Cobblestone Wall=lo cantu'a lolro'iboi bitmu diff --git a/data/games/garage/mods/walls/locale/walls.lv.tr b/data/games/garage/mods/walls/locale/walls.lv.tr new file mode 100644 index 0000000..5d50ddf --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.lv.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Mūrakmens siena +Mossy Cobblestone Wall=Apsūnējuša mūrakmens siena +Desert Cobblestone Wall=Tuksneša mūrakmens siena diff --git a/data/games/garage/mods/walls/locale/walls.ms.tr b/data/games/garage/mods/walls/locale/walls.ms.tr new file mode 100644 index 0000000..9375342 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.ms.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Pagar Batu Buntar +Mossy Cobblestone Wall=Pagar Batu Buntar Berlumut +Desert Cobblestone Wall=Pagar Batu Buntar Gurun diff --git a/data/games/garage/mods/walls/locale/walls.pl.tr b/data/games/garage/mods/walls/locale/walls.pl.tr new file mode 100644 index 0000000..ff544e2 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.pl.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Brukowa ściana +Mossy Cobblestone Wall=Brukowa ściana z mchem +Desert Cobblestone Wall=Pustynno-brukowa ściana diff --git a/data/games/garage/mods/walls/locale/walls.pt_BR.tr b/data/games/garage/mods/walls/locale/walls.pt_BR.tr new file mode 100644 index 0000000..58c3d12 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Parede de Paralelepípedo +Mossy Cobblestone Wall=Parede de Paralelepípedo com Musgo +Desert Cobblestone Wall=Parede de Paralelepípedo do Deserto diff --git a/data/games/garage/mods/walls/locale/walls.ru.tr b/data/games/garage/mods/walls/locale/walls.ru.tr new file mode 100644 index 0000000..2f61536 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.ru.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Стена из булыжника +Mossy Cobblestone Wall=Стена из замшелого булыжника +Desert Cobblestone Wall=Стена из пустынного булыжника diff --git a/data/games/garage/mods/walls/locale/walls.sk.tr b/data/games/garage/mods/walls/locale/walls.sk.tr new file mode 100644 index 0000000..69cf3a9 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.sk.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Múr z dlažbových kociek +Mossy Cobblestone Wall=Múr z dlažbových kociek obrastených machom +Desert Cobblestone Wall=Múr z púštnych dlažbových kociek diff --git a/data/games/garage/mods/walls/locale/walls.sv.tr b/data/games/garage/mods/walls/locale/walls.sv.tr new file mode 100644 index 0000000..1ad4a29 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.sv.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Kullerstensvägg +Mossy Cobblestone Wall=Mossig kullerstensvägg +Desert Cobblestone Wall=Ökenkullerstensvägg diff --git a/data/games/garage/mods/walls/locale/walls.uk.tr b/data/games/garage/mods/walls/locale/walls.uk.tr new file mode 100644 index 0000000..25bdd26 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.uk.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=Кругляковий паркан +Mossy Cobblestone Wall=Паркан з моховитого кругляку +Desert Cobblestone Wall=Паркан з пустельного кругляку diff --git a/data/games/garage/mods/walls/locale/walls.zh_CN.tr b/data/games/garage/mods/walls/locale/walls.zh_CN.tr new file mode 100644 index 0000000..f590e82 --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=鹅卵石墙 +Mossy Cobblestone Wall=苔藓覆盖的鹅卵石墙 +Desert Cobblestone Wall=沙漠鹅卵石墙 diff --git a/data/games/garage/mods/walls/locale/walls.zh_TW.tr b/data/games/garage/mods/walls/locale/walls.zh_TW.tr new file mode 100644 index 0000000..ba1285f --- /dev/null +++ b/data/games/garage/mods/walls/locale/walls.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: walls +Cobblestone Wall=鵝卵石牆 +Mossy Cobblestone Wall=苔蘚覆蓋的鵝卵石牆 +Desert Cobblestone Wall=沙漠鵝卵石牆 diff --git a/data/games/garage/mods/walls/mod.conf b/data/games/garage/mods/walls/mod.conf new file mode 100644 index 0000000..9b8bbe8 --- /dev/null +++ b/data/games/garage/mods/walls/mod.conf @@ -0,0 +1,3 @@ +name = walls +description = Minetest Game mod: walls +depends = default diff --git a/data/games/garage/mods/weather/README.txt b/data/games/garage/mods/weather/README.txt new file mode 100644 index 0000000..6733460 --- /dev/null +++ b/data/games/garage/mods/weather/README.txt @@ -0,0 +1,4 @@ +Minetest Game mod: weather +========================== +See license.txt for license information. +Source code by paramat (MIT). diff --git a/data/games/garage/mods/weather/api.lua b/data/games/garage/mods/weather/api.lua new file mode 100644 index 0000000..818e26a --- /dev/null +++ b/data/games/garage/mods/weather/api.lua @@ -0,0 +1,32 @@ +local CYCLE = 8 -- Time period of cyclic clouds update in seconds + +weather = {} + +-- default implementation is empty +function weather.get(player) + return {} +end + +local function do_update() + for _, player in ipairs(minetest.get_connected_players()) do + local params = weather.get(player) + assert(params ~= nil, "weather.get() must not return nil") + if params.clouds then + player:set_clouds(params.clouds) + end + if params.lighting then + player:set_lighting(params.lighting) + end + end +end + +local function cyclic_update() + do_update() + minetest.after(CYCLE, cyclic_update) +end +minetest.after(0, cyclic_update) + +-- Update on player join to instantly alter clouds from the default +minetest.register_on_joinplayer(function(player) + do_update() +end) diff --git a/data/games/garage/mods/weather/init.lua b/data/games/garage/mods/weather/init.lua new file mode 100644 index 0000000..6874328 --- /dev/null +++ b/data/games/garage/mods/weather/init.lua @@ -0,0 +1,129 @@ +-- Always load the API +dofile(minetest.get_modpath(minetest.get_current_modname()) .. "/api.lua") + +-- Disable by mapgen or setting + +if minetest.settings:get_bool("enable_weather") == false then + return +end + +local mg_name = minetest.get_mapgen_setting("mg_name") +if mg_name == "v6" or mg_name == "singlenode" then + -- set a default shadow intensity for mgv6 and singlenode + minetest.register_on_joinplayer(function(player) + player:set_lighting({ + shadows = { intensity = 0.33 }, + bloom = { intensity = 0.05 }, + volumetric_light = { strength = 0.2 }, + }) + end) + + return +end + +-- Default implementation for noise based cloud appearance + +local TSCALE = 600 -- Time scale of noise variation in seconds + +local np_density = { + offset = 0.5, + scale = 0.5, + spread = {x = TSCALE, y = TSCALE, z = TSCALE}, + seed = 813, + octaves = 1, + persist = 0, + lacunarity = 2, +} + +local np_thickness = { + offset = 0.5, + scale = 0.5, + spread = {x = TSCALE, y = TSCALE, z = TSCALE}, + seed = 96, + octaves = 1, + persist = 0, + lacunarity = 2, +} + +local np_speedx = { + offset = 0, + scale = 1, + spread = {x = TSCALE, y = TSCALE, z = TSCALE}, + seed = 911923, + octaves = 1, + persist = 0, + lacunarity = 2, +} + +local np_speedz = { + offset = 0, + scale = 1, + spread = {x = TSCALE, y = TSCALE, z = TSCALE}, + seed = 5728, + octaves = 1, + persist = 0, + lacunarity = 2, +} + +local nobj_density = nil +local nobj_thickness = nil +local nobj_speedx = nil +local nobj_speedz = nil + +local function rangelim(value, lower, upper) + return math.min(math.max(value, lower), upper) +end + +local t_offset +do + local meta = minetest.get_mod_storage() + if meta:contains("time_offset") then + t_offset = meta:get_int("time_offset") + else + -- Use random offset so not each new world behaves the same. + t_offset = math.random(0, 300000) + meta:set_int("time_offset", t_offset) + end +end + +function weather.get(player) + -- Adjusted time in seconds + local time = math.floor(minetest.get_gametime() - t_offset) + + nobj_density = nobj_density or minetest.get_perlin(np_density) + nobj_thickness = nobj_thickness or minetest.get_perlin(np_thickness) + nobj_speedx = nobj_speedx or minetest.get_perlin(np_speedx) + nobj_speedz = nobj_speedz or minetest.get_perlin(np_speedz) + + local n_density = nobj_density:get_2d({x = time, y = 0}) -- 0 to 1 + local n_thickness = nobj_thickness:get_2d({x = time, y = 0}) -- 0 to 1 + local n_speedx = nobj_speedx:get_2d({x = time, y = 0}) -- -1 to 1 + local n_speedz = nobj_speedz:get_2d({x = time, y = 0}) -- -1 to 1 + + -- Fallback to mid-value 50 for very old worlds + local humid = minetest.get_humidity(player:get_pos()) or 50 + -- Default and classic density value is 0.4, make this happen + -- at humidity midvalue 50 when n_density is at midvalue 0.5. + -- density_max = 0.25 at humid = 0. + -- density_max = 0.8 at humid = 50. + -- density_max = 1.35 at humid = 100. + local density_max = 0.8 + ((humid - 50) / 50) * 0.55 + -- Range limit density_max to always have occasional + -- small scattered clouds at extreme low humidity. + local density = rangelim(density_max, 0.2, 1.0) * n_density + + return { + clouds = { + density = density, + thickness = math.max(math.floor( + rangelim(32 * humid / 100, 8, 32) * n_thickness + ), 2), + speed = {x = n_speedx * 4, z = n_speedz * 4}, + }, + lighting = { + shadows = { intensity = 0.7 * (1 - density) }, + bloom = { intensity = 0.05 }, + volumetric_light = { strength = 0.2 }, + } + } +end diff --git a/data/games/garage/mods/weather/license.txt b/data/games/garage/mods/weather/license.txt new file mode 100644 index 0000000..33baa06 --- /dev/null +++ b/data/games/garage/mods/weather/license.txt @@ -0,0 +1,24 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2019 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/data/games/garage/mods/weather/mod.conf b/data/games/garage/mods/weather/mod.conf new file mode 100644 index 0000000..436ce67 --- /dev/null +++ b/data/games/garage/mods/weather/mod.conf @@ -0,0 +1,2 @@ +name = weather +description = Minetest Game mod: weather diff --git a/data/games/garage/mods/wool/README.txt b/data/games/garage/mods/wool/README.txt new file mode 100644 index 0000000..31febdf --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/wool/init.lua b/data/games/garage/mods/wool/init.lua new file mode 100644 index 0000000..87bd427 --- /dev/null +++ b/data/games/garage/mods/wool/init.lua @@ -0,0 +1,54 @@ +-- wool/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("wool") + +local dyes = dye.dyes + +for i = 1, #dyes do + local name, desc = unpack(dyes[i]) + + local color_group = "color_" .. name + + minetest.register_node("wool:" .. name, { + description = S(desc .. " Wool"), + tiles = {"wool_" .. name .. ".png"}, + is_ground_content = false, + groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 3, + flammable = 3, wool = 1, [color_group] = 1}, + sounds = default.node_sound_defaults(), + }) + + minetest.register_craft{ + type = "shapeless", + output = "wool:" .. name, + recipe = {"group:dye," .. color_group, "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") + +-- Dummy calls to S() to allow translation scripts to detect the strings. +-- To update this run: +-- for _,e in ipairs(dye.dyes) do print(("S(%q)"):format(e[2].." Wool")) end + +--[[ +S("White Wool") +S("Grey Wool") +S("Dark Grey Wool") +S("Black Wool") +S("Violet Wool") +S("Blue Wool") +S("Cyan Wool") +S("Dark Green Wool") +S("Green Wool") +S("Yellow Wool") +S("Brown Wool") +S("Orange Wool") +S("Red Wool") +S("Magenta Wool") +S("Pink Wool") +--]] diff --git a/data/games/garage/mods/wool/license.txt b/data/games/garage/mods/wool/license.txt new file mode 100644 index 0000000..5dfc751 --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/wool/locale/template.txt b/data/games/garage/mods/wool/locale/template.txt new file mode 100644 index 0000000..316cd2c --- /dev/null +++ b/data/games/garage/mods/wool/locale/template.txt @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool= +Grey Wool= +Dark Grey Wool= +Black Wool= +Violet Wool= +Blue Wool= +Cyan Wool= +Dark Green Wool= +Green Wool= +Yellow Wool= +Brown Wool= +Orange Wool= +Red Wool= +Magenta Wool= +Pink Wool= diff --git a/data/games/garage/mods/wool/locale/wool.de.tr b/data/games/garage/mods/wool/locale/wool.de.tr new file mode 100644 index 0000000..9b6b8ab --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.de.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Weiße Wolle +Grey Wool=Graue Wolle +Dark Grey Wool=Dunkelgraue Wolle +Black Wool=Schwarze Wolle +Violet Wool=Violette Wolle +Blue Wool=Blaue Wolle +Cyan Wool=Türkise Wolle +Dark Green Wool=Dunkelgrüne Wolle +Green Wool=Grüne Wolle +Yellow Wool=Gelbe Wolle +Brown Wool=Braune Wolle +Orange Wool=Orange Wolle +Red Wool=Rote Wolle +Magenta Wool=Magenta Wolle +Pink Wool=Rosa Wolle diff --git a/data/games/garage/mods/wool/locale/wool.eo.tr b/data/games/garage/mods/wool/locale/wool.eo.tr new file mode 100644 index 0000000..78242cd --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.eo.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Blanka lano +Grey Wool=Griza lano +Dark Grey Wool=Malhela griza lano +Black Wool=Nigra lano +Violet Wool=Violkolora lano +Blue Wool=Blua lano +Cyan Wool=Bluverda lano +Dark Green Wool=Malhela verda lano +Green Wool=Verda lano +Yellow Wool=Flava lano +Brown Wool=Bruna lano +Orange Wool=Oranĝkolora lano +Red Wool=Ruĝa lano +Magenta Wool=Fuksina lano +Pink Wool=Rozkolora lano diff --git a/data/games/garage/mods/wool/locale/wool.es.tr b/data/games/garage/mods/wool/locale/wool.es.tr new file mode 100644 index 0000000..ac15592 --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.es.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Lana blanca +Grey Wool=Lana gris +Dark Grey Wool=Lana gris oscuro +Black Wool=Lana negra +Violet Wool=Lana violeta +Blue Wool=Lana azul +Cyan Wool=Lana cián +Dark Green Wool=Lana verde oscuro +Green Wool=Lana verde +Yellow Wool=Lana amarilla +Brown Wool=Lana marrón +Orange Wool=Lana naranja +Red Wool=Lana roja +Magenta Wool=Lana magenta +Pink Wool=Lana rosa diff --git a/data/games/garage/mods/wool/locale/wool.fr.tr b/data/games/garage/mods/wool/locale/wool.fr.tr new file mode 100644 index 0000000..48a60a7 --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.fr.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Laine blanche +Grey Wool=Laine grise +Dark Grey Wool=Laine grise foncée +Black Wool=Laine noire +Violet Wool=Laine violette +Blue Wool=Laine bleue +Cyan Wool=Laine cyan +Dark Green Wool=Laine verte foncée +Green Wool=Laine verte +Yellow Wool=Laine jaune +Brown Wool=Laine marron +Orange Wool=Laine orange +Red Wool=Laine rouge +Magenta Wool=Laine magenta +Pink Wool=Laine rose diff --git a/data/games/garage/mods/wool/locale/wool.id.tr b/data/games/garage/mods/wool/locale/wool.id.tr new file mode 100644 index 0000000..603277f --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.id.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Wol Putih +Grey Wool=Wol Abu +Dark Grey Wool=Wol Abu Tua +Black Wool=Wol Hitam +Violet Wool=Wol Ungu +Blue Wool=Wol Biru +Cyan Wool=Wol Sian +Dark Green Wool=Wol Hijau Tua +Green Wool=Wol Hijau +Yellow Wool=Wol Kuning +Brown Wool=Wol Cokelat +Orange Wool=Wol Oranye +Red Wool=Wol Merah +Magenta Wool=Wol Magenta +Pink Wool=Wol Merah Muda diff --git a/data/games/garage/mods/wool/locale/wool.it.tr b/data/games/garage/mods/wool/locale/wool.it.tr new file mode 100644 index 0000000..8108f2f --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.it.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Lana bianca +Grey Wool=Lana grigia +Dark Grey Wool=Lana grigia scura +Black Wool=Lana nera +Violet Wool=Lana viola +Blue Wool=Lana blu +Cyan Wool=Lana ciano +Dark Green Wool=Lana verde scura +Green Wool=Lana verde +Yellow Wool=Lana gialla +Brown Wool=Lana marrone +Orange Wool=Lana arancione +Red Wool=Lana rossa +Magenta Wool=Lana magenta +Pink Wool=Lana rosa diff --git a/data/games/garage/mods/wool/locale/wool.ja.tr b/data/games/garage/mods/wool/locale/wool.ja.tr new file mode 100644 index 0000000..5051f9e --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.ja.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=白色の羊毛 +Grey Wool=灰色の羊毛 +Dark Grey Wool=濃灰色の羊毛 +Black Wool=黒色の羊毛 +Violet Wool=紫色の羊毛 +Blue Wool=青色の羊毛 +Cyan Wool=青緑色の羊毛 +Dark Green Wool=濃緑色の羊毛 +Green Wool=緑色の羊毛 +Yellow Wool=黄色の羊毛 +Brown Wool=茶色の羊毛 +Orange Wool=橙色の羊毛 +Red Wool=赤色の羊毛 +Magenta Wool=赤紫色の羊毛 +Pink Wool=桃色の羊毛 diff --git a/data/games/garage/mods/wool/locale/wool.jbo.tr b/data/games/garage/mods/wool/locale/wool.jbo.tr new file mode 100644 index 0000000..4bf44ec --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.jbo.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=lo blabi sunla +Grey Wool=lo grusi sunla +Dark Grey Wool=lo xekri grusi sunla +Black Wool=lo xekri sunla +Violet Wool=lo zirpu sunla +Blue Wool=lo blanu sunla +Cyan Wool=lo cicna sunla +Dark Green Wool=lo xekri crino sunla +Green Wool=lo crino sunla +Yellow Wool=lo pelxu sunla +Brown Wool=lo bunre sunla +Orange Wool=lo narju sunla +Red Wool=lo xunre sunla +Magenta Wool=lo nukni sunla +Pink Wool=lo xunblabi sunla diff --git a/data/games/garage/mods/wool/locale/wool.lv.tr b/data/games/garage/mods/wool/locale/wool.lv.tr new file mode 100644 index 0000000..72e514e --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.lv.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Balta vilna +Grey Wool=Pelēka vilna +Dark Grey Wool=Tumšpelēka vilna +Black Wool=Melna vilna +Violet Wool=Violeta vilna +Blue Wool=Zila vilna +Cyan Wool=Ciānkrāsas vilna +Dark Green Wool=Tumšzaļa vilna +Green Wool=Zaļa vilna +Yellow Wool=Dzeltena vilna +Brown Wool=Brūna vilna +Orange Wool=Oranža vilna +Red Wool=Sarkana vilna +Magenta Wool=Fuksīna krāsas vilna +Pink Wool=Rozā vilna diff --git a/data/games/garage/mods/wool/locale/wool.ms.tr b/data/games/garage/mods/wool/locale/wool.ms.tr new file mode 100644 index 0000000..8b597d1 --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.ms.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Bulu Biri-Biri Putih +Grey Wool=Bulu Biri-Biri Kelabu +Dark Grey Wool=Bulu Biri-Biri Kelabu Tua +Black Wool=Bulu Biri-Biri Hitam +Violet Wool=Bulu Biri-Biri Ungu +Blue Wool=Bulu Biri-Biri Biru +Cyan Wool=Bulu Biri-Biri Biru Kehijauan +Dark Green Wool=Bulu Biri-Biri Hijau Tua +Green Wool=Bulu Biri-Biri Hijau +Yellow Wool=Bulu Biri-Biri Kuning +Brown Wool=Bulu Biri-Biri Perang +Orange Wool=Bulu Biri-Biri Jingga +Red Wool=Bulu Biri-Biri Merah +Magenta Wool=Bulu Biri-Biri Magenta +Pink Wool=Bulu Biri-Biri Merah Jambu diff --git a/data/games/garage/mods/wool/locale/wool.pl.tr b/data/games/garage/mods/wool/locale/wool.pl.tr new file mode 100644 index 0000000..9c411c8 --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.pl.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Biała wełna +Grey Wool=Szara wełna +Dark Grey Wool=Ciemnoszara wełna +Black Wool=Czarna wełna +Violet Wool=Fioletowa wełna +Blue Wool=Niebieska wełna +Cyan Wool=Cyjanowa wełna +Dark Green Wool=Ciemnozielona wełna +Green Wool=Zielona wełna +Yellow Wool=Żółta wełna +Brown Wool=Brązowa wełna +Orange Wool=Pomarańczowa wełna +Red Wool=Czerwona wełna +Magenta Wool=Karmazynowa wełna +Pink Wool=Różowa wełna diff --git a/data/games/garage/mods/wool/locale/wool.pt.tr b/data/games/garage/mods/wool/locale/wool.pt.tr new file mode 100644 index 0000000..9b4232f --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.pt.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Tecido Branco +Grey Wool=Tecido Cinza +Dark Grey Wool=Tecido Cinza-escuro +Black Wool=Tecido Preto +Violet Wool=Tecido Violeta +Blue Wool=Tecido Azul +Cyan Wool=Tecido Ciano +Dark Green Wool=Tecido Verde-escuro +Green Wool=Tecido Verde +Yellow Wool=Tecido Amarelo +Brown Wool=Tecido Marrom +Orange Wool=Tecido Laranja +Red Wool=Tecido Vermelho +Magenta Wool=Tecido Magenta +Pink Wool=Tecido Rosa diff --git a/data/games/garage/mods/wool/locale/wool.pt_BR.tr b/data/games/garage/mods/wool/locale/wool.pt_BR.tr new file mode 100644 index 0000000..9b4232f --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.pt_BR.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Tecido Branco +Grey Wool=Tecido Cinza +Dark Grey Wool=Tecido Cinza-escuro +Black Wool=Tecido Preto +Violet Wool=Tecido Violeta +Blue Wool=Tecido Azul +Cyan Wool=Tecido Ciano +Dark Green Wool=Tecido Verde-escuro +Green Wool=Tecido Verde +Yellow Wool=Tecido Amarelo +Brown Wool=Tecido Marrom +Orange Wool=Tecido Laranja +Red Wool=Tecido Vermelho +Magenta Wool=Tecido Magenta +Pink Wool=Tecido Rosa diff --git a/data/games/garage/mods/wool/locale/wool.ru.tr b/data/games/garage/mods/wool/locale/wool.ru.tr new file mode 100644 index 0000000..9893a08 --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.ru.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Белая шерсть +Grey Wool=Серая шерсть +Dark Grey Wool=Тёмно-Серая шерсть +Black Wool=Чёрная шерсть +Violet Wool=Фиолетовая шерсть +Blue Wool=Синяя шерсть +Cyan Wool=Бирюзовая шерсть +Dark Green Wool=Тёмно-Зелёная шерсть +Green Wool=Зелёная шерсть +Yellow Wool=Жёлтая шерсть +Brown Wool=Коричневая шерсть +Orange Wool=Оранжевая шерсть +Red Wool=Красная шерсть +Magenta Wool=Сиреневая шерсть +Pink Wool=Розовая шерсть diff --git a/data/games/garage/mods/wool/locale/wool.sk.tr b/data/games/garage/mods/wool/locale/wool.sk.tr new file mode 100644 index 0000000..755370e --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.sk.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Biela vlna +Grey Wool=Šedá vlna +Dark Grey Wool=Tmavošedá vlna +Black Wool=Čierna vlna +Violet Wool=Fialová vlna +Blue Wool=Modrá vlna +Cyan Wool=Tyrkysová vlna +Dark Green Wool=Tmavozelená vlna +Green Wool=Zelená vlna +Yellow Wool=Žltá vlna +Brown Wool=Hnedá vlna +Orange Wool=Oranžová vlna +Red Wool=Červená vlna +Magenta Wool=Purpurová vlna +Pink Wool=Ružová vlna diff --git a/data/games/garage/mods/wool/locale/wool.sv.tr b/data/games/garage/mods/wool/locale/wool.sv.tr new file mode 100644 index 0000000..bfce214 --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.sv.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Vit ull +Grey Wool=Grå ull +Dark Grey Wool=Mörkgrå ull +Black Wool=Svart ull +Violet Wool=Violett ull +Blue Wool=Blå ull +Cyan Wool=Cyan ull +Dark Green Wool=Mörkgrön ull +Green Wool=Grön ull +Yellow Wool=Gul ull +Brown Wool=Brun ull +Orange Wool=Orange ull +Red Wool=Röd ull +Magenta Wool=Magenta ull +Pink Wool=Rosa ull diff --git a/data/games/garage/mods/wool/locale/wool.uk.tr b/data/games/garage/mods/wool/locale/wool.uk.tr new file mode 100644 index 0000000..24dbed7 --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.uk.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=Біла вовна +Grey Wool=Сіра вовна +Dark Grey Wool=Темно-сіра вовна +Black Wool=Чорна вовна +Violet Wool=Фіолетова вовна +Blue Wool=Синя вовна +Cyan Wool=Синьо-зелена вовна +Dark Green Wool=Темно-зелена вовна +Green Wool=Зелена вовна +Yellow Wool=Жовта вовна +Brown Wool=Коричнева вовна +Orange Wool=Помаранчева вовна +Red Wool=Червона вовна +Magenta Wool=Пурпурна вовна +Pink Wool=Рожева вовна diff --git a/data/games/garage/mods/wool/locale/wool.zh_CN.tr b/data/games/garage/mods/wool/locale/wool.zh_CN.tr new file mode 100644 index 0000000..caac9ee --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.zh_CN.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=白羊毛 +Grey Wool=灰羊毛 +Dark Grey Wool=暗灰羊毛 +Black Wool=黑羊毛 +Violet Wool=紫羊毛 +Blue Wool=蓝羊毛 +Cyan Wool=青羊毛 +Dark Green Wool=暗绿羊毛 +Green Wool=绿羊毛 +Yellow Wool=黄羊毛 +Brown Wool=棕羊毛 +Orange Wool=橙羊毛 +Red Wool=红羊毛 +Magenta Wool=品红羊毛 +Pink Wool=粉红羊毛 diff --git a/data/games/garage/mods/wool/locale/wool.zh_TW.tr b/data/games/garage/mods/wool/locale/wool.zh_TW.tr new file mode 100644 index 0000000..290a1fe --- /dev/null +++ b/data/games/garage/mods/wool/locale/wool.zh_TW.tr @@ -0,0 +1,16 @@ +# textdomain: wool +White Wool=白羊毛 +Grey Wool=灰羊毛 +Dark Grey Wool=暗灰羊毛 +Black Wool=黑羊毛 +Violet Wool=紫羊毛 +Blue Wool=藍羊毛 +Cyan Wool=青羊毛 +Dark Green Wool=暗綠羊毛 +Green Wool=綠羊毛 +Yellow Wool=黃羊毛 +Brown Wool=棕羊毛 +Orange Wool=橙羊毛 +Red Wool=紅羊毛 +Magenta Wool=品紅羊毛 +Pink Wool=粉紅羊毛 diff --git a/data/games/garage/mods/wool/mod.conf b/data/games/garage/mods/wool/mod.conf new file mode 100644 index 0000000..a0ca3f0 --- /dev/null +++ b/data/games/garage/mods/wool/mod.conf @@ -0,0 +1,3 @@ +name = wool +description = Minetest Game mod: wool +depends = default, dye diff --git a/data/games/garage/mods/wool/textures/wool_black.png b/data/games/garage/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/data/games/garage/mods/wool/textures/wool_cyan.png b/data/games/garage/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/data/games/garage/mods/wool/textures/wool_dark_green.png b/data/games/garage/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/data/games/garage/mods/wool/textures/wool_dark_grey.png b/data/games/garage/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/data/games/garage/mods/wool/textures/wool_green.png b/data/games/garage/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/data/games/garage/mods/wool/textures/wool_magenta.png b/data/games/garage/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/data/games/garage/mods/wool/textures/wool_orange.png b/data/games/garage/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/data/games/garage/mods/wool/textures/wool_red.png b/data/games/garage/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/data/games/garage/mods/wool/textures/wool_white.png b/data/games/garage/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/data/games/garage/mods/wool/textures/wool_yellow.png b/data/games/garage/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.swap_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 + +minetest.register_on_placenode(function(pos, node) + 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[3], + def.textures[3], + def.textures[1], + def.textures[1] + }, + groups = flatgroups, + drop = "xpanes:" .. name .. "_flat", + sounds = def.sounds, + use_texture_alpha = def.use_texture_alpha and "blend" or "clip", + 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 and "blend" or "clip", + 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 16", + recipe = def.recipe + }) +end + +xpanes.register_pane("pane", { + description = S("Glass Pane"), + textures = {"default_glass.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"} + } +}) + +xpanes.register_pane("obsidian_pane", { + description = S("Obsidian Glass Pane"), + textures = {"default_obsidian_glass.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 = S("Steel Bars"), + textures = {"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 +}) + +-- Register steel bar doors and trapdoors + +if minetest.get_modpath("doors") then + + doors.register("xpanes:door_steel_bar", { + tiles = {{name = "xpanes_door_steel_bar.png", backface_culling = true}}, + description = S("Steel Bar Door"), + inventory_image = "xpanes_item_steel_bar.png", + protected = true, + groups = {node = 1, cracky = 1, level = 2}, + sounds = default.node_sound_metal_defaults(), + sound_open = "xpanes_steel_bar_door_open", + sound_close = "xpanes_steel_bar_door_close", + gain_open = 0.15, + gain_close = 0.13, + recipe = { + {"xpanes:bar_flat", "xpanes:bar_flat"}, + {"xpanes:bar_flat", "xpanes:bar_flat"}, + {"xpanes:bar_flat", "xpanes:bar_flat"}, + }, + }) + + doors.register_trapdoor("xpanes:trapdoor_steel_bar", { + description = S("Steel Bar Trapdoor"), + inventory_image = "xpanes_trapdoor_steel_bar.png", + wield_image = "xpanes_trapdoor_steel_bar.png", + tile_front = "xpanes_trapdoor_steel_bar.png", + tile_side = "xpanes_trapdoor_steel_bar_side.png", + protected = true, + groups = {node = 1, cracky = 1, level = 2, door = 1}, + sounds = default.node_sound_metal_defaults(), + sound_open = "xpanes_steel_bar_door_open", + sound_close = "xpanes_steel_bar_door_close", + gain_open = 0.15, + gain_close = 0.13, + }) + + minetest.register_craft({ + output = "xpanes:trapdoor_steel_bar", + recipe = { + {"xpanes:bar_flat", "xpanes:bar_flat"}, + {"xpanes:bar_flat", "xpanes:bar_flat"}, + } + }) +end diff --git a/data/games/garage/mods/xpanes/license.txt b/data/games/garage/mods/xpanes/license.txt new file mode 100644 index 0000000..c1f31e3 --- /dev/null +++ b/data/games/garage/mods/xpanes/license.txt @@ -0,0 +1,65 @@ +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 Game 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 +Copyright (C) 2019 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/data/games/garage/mods/xpanes/locale/template.txt b/data/games/garage/mods/xpanes/locale/template.txt new file mode 100644 index 0000000..08dfbba --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/template.txt @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane= +Obsidian Glass Pane= +Steel Bars= +Steel Bar Door= +Steel Bar Trapdoor= diff --git a/data/games/garage/mods/xpanes/locale/xpanes.de.tr b/data/games/garage/mods/xpanes/locale/xpanes.de.tr new file mode 100644 index 0000000..9852753 --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.de.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Glasscheibe +Obsidian Glass Pane=Obsidianglasscheibe +Steel Bars=Stahlgitter +Steel Bar Door=Stahlgittertür +Steel Bar Trapdoor=Stahlgitterfalltür diff --git a/data/games/garage/mods/xpanes/locale/xpanes.eo.tr b/data/games/garage/mods/xpanes/locale/xpanes.eo.tr new file mode 100644 index 0000000..cfbbfb5 --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.eo.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Vitra vitraĵo +Obsidian Glass Pane=Obsidiana vitra vitraĵo +Steel Bars=Ŝtalaj baraĵoj +Steel Bar Door=Ŝtala baraĵa pordo +Steel Bar Trapdoor=Ŝtala baraĵa plankpordo diff --git a/data/games/garage/mods/xpanes/locale/xpanes.es.tr b/data/games/garage/mods/xpanes/locale/xpanes.es.tr new file mode 100644 index 0000000..9902be7 --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.es.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Panel de vidrio +Obsidian Glass Pane=Panel de vidrio de obsidiana +Steel Bars=Barras de acero +Steel Bar Door=Puerta de barras de acero +Steel Bar Trapdoor=Trampilla de barras de acero diff --git a/data/games/garage/mods/xpanes/locale/xpanes.fr.tr b/data/games/garage/mods/xpanes/locale/xpanes.fr.tr new file mode 100644 index 0000000..c751799 --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.fr.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Panneau de verre +Obsidian Glass Pane=Panneau de verre d'obsidienne +Steel Bars=Barreaux d'acier +Steel Bar Door=Porte en barreaux d'acier +Steel Bar Trapdoor=Trappe en barreaux d'acier diff --git a/data/games/garage/mods/xpanes/locale/xpanes.id.tr b/data/games/garage/mods/xpanes/locale/xpanes.id.tr new file mode 100644 index 0000000..906cc0f --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.id.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Panel Kaca +Obsidian Glass Pane=Panel Kaca Obsidian +Steel Bars=Batang Baja +Steel Bar Door=Pintu Batang Baja +Steel Bar Trapdoor=Pintu Kolong Batang Baja diff --git a/data/games/garage/mods/xpanes/locale/xpanes.it.tr b/data/games/garage/mods/xpanes/locale/xpanes.it.tr new file mode 100644 index 0000000..63c8b62 --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.it.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Pannello di vetro +Obsidian Glass Pane=Pannello di vetro d'ossidiana +Steel Bars=Sbarre d'acciaio +Steel Bar Door=Porta con sbarre d'acciaio +Steel Bar Trapdoor=Botola con sbarre d'acciaio diff --git a/data/games/garage/mods/xpanes/locale/xpanes.ja.tr b/data/games/garage/mods/xpanes/locale/xpanes.ja.tr new file mode 100644 index 0000000..06e0bed --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.ja.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=板ガラス +Obsidian Glass Pane=黒曜石の板ガラス +Steel Bars=鉄棒の柵 +Steel Bar Door=鉄棒のドア +Steel Bar Trapdoor=鉄棒のトラップドア diff --git a/data/games/garage/mods/xpanes/locale/xpanes.jbo.tr b/data/games/garage/mods/xpanes/locale/xpanes.jbo.tr new file mode 100644 index 0000000..333b531 --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.jbo.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=lo blaci plita +Obsidian Glass Pane=lo je'erma'ablaci blaci plita +Steel Bars=lo gasta garna +Steel Bar Door=lo gasta garna vrogai +Steel Bar Trapdoor=lo gasta garna lolvrogai diff --git a/data/games/garage/mods/xpanes/locale/xpanes.lv.tr b/data/games/garage/mods/xpanes/locale/xpanes.lv.tr new file mode 100644 index 0000000..c75849c --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.lv.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Stikla panelis +Obsidian Glass Pane=Obsidiāna stikla panelis +Steel Bars=Tērauda režģis +Steel Bar Door=Tērauda režģa durvis +Steel Bar Trapdoor=Tērauda režģa lūka diff --git a/data/games/garage/mods/xpanes/locale/xpanes.ms.tr b/data/games/garage/mods/xpanes/locale/xpanes.ms.tr new file mode 100644 index 0000000..dedfefa --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.ms.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Kaca Tingkap +Obsidian Glass Pane=Kaca Tingkap Obsidia +Steel Bars=Jeriji Keluli +Steel Bar Door=Pintu Jeriji Keluli +Steel Bar Trapdoor=Pintu Kolong Jeriji Keluli diff --git a/data/games/garage/mods/xpanes/locale/xpanes.pl.tr b/data/games/garage/mods/xpanes/locale/xpanes.pl.tr new file mode 100644 index 0000000..0ebb386 --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.pl.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Szyba +Obsidian Glass Pane=Obsydianowa szyba +Steel Bars=Stalowe kraty +Steel Bar Door=Drzwi ze stalowych krat +Steel Bar Trapdoor=Właz ze stalowych krat diff --git a/data/games/garage/mods/xpanes/locale/xpanes.pt_BR.tr b/data/games/garage/mods/xpanes/locale/xpanes.pt_BR.tr new file mode 100644 index 0000000..c1ca3b2 --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.pt_BR.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Painel de Vidro +Obsidian Glass Pane=Painel de Vidro de Obsidiana +Steel Bars=Barras de Aço +Steel Bar Door=Porta de Barras de Aço +Steel Bar Trapdoor=Alçapão de Barras de Aço diff --git a/data/games/garage/mods/xpanes/locale/xpanes.ru.tr b/data/games/garage/mods/xpanes/locale/xpanes.ru.tr new file mode 100644 index 0000000..cd7173e --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.ru.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Стеклянная панель +Obsidian Glass Pane=Панель из обсидианового стекла +Steel Bars=Стальная решетка +Steel Bar Door=Стальная решётчатая дверь +Steel Bar Trapdoor=Стальной решётчатый люк diff --git a/data/games/garage/mods/xpanes/locale/xpanes.sk.tr b/data/games/garage/mods/xpanes/locale/xpanes.sk.tr new file mode 100644 index 0000000..0d07e08 --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.sk.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Tabuľa skla +Obsidian Glass Pane=Tabuľa obsidiánového skla +Steel Bars=Oceľové mreže +Steel Bar Door=Dvere z oceľových mreží +Steel Bar Trapdoor=Padajúce dvere z oceľových mreží diff --git a/data/games/garage/mods/xpanes/locale/xpanes.sv.tr b/data/games/garage/mods/xpanes/locale/xpanes.sv.tr new file mode 100644 index 0000000..7b615dd --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.sv.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Glasruta +Obsidian Glass Pane=Obsidianglasruta +Steel Bars=Stålgaller +Steel Bar Door=Stålgallerdörr +Steel Bar Trapdoor=Stålgallerfallucka diff --git a/data/games/garage/mods/xpanes/locale/xpanes.uk.tr b/data/games/garage/mods/xpanes/locale/xpanes.uk.tr new file mode 100644 index 0000000..41033bd --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.uk.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=Скляна панель +Obsidian Glass Pane=Панель з обсидіанового скла +Steel Bars=Ґрати +Steel Bar Door=Двері з ґратами +Steel Bar Trapdoor=Люк з ґратами diff --git a/data/games/garage/mods/xpanes/locale/xpanes.zh_CN.tr b/data/games/garage/mods/xpanes/locale/xpanes.zh_CN.tr new file mode 100644 index 0000000..7b1871c --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.zh_CN.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=玻璃窗 +Obsidian Glass Pane=黑曜石玻璃窗 +Steel Bars=钢筋 +Steel Bar Door=钢筋门 +Steel Bar Trapdoor=钢筋活板门 diff --git a/data/games/garage/mods/xpanes/locale/xpanes.zh_TW.tr b/data/games/garage/mods/xpanes/locale/xpanes.zh_TW.tr new file mode 100644 index 0000000..97ee7a2 --- /dev/null +++ b/data/games/garage/mods/xpanes/locale/xpanes.zh_TW.tr @@ -0,0 +1,6 @@ +# textdomain: xpanes +Glass Pane=玻璃窗 +Obsidian Glass Pane=黑曜石玻璃窗 +Steel Bars=鋼筋 +Steel Bar Door=鋼筋門 +Steel Bar Trapdoor=鋼筋活板門 diff --git a/data/games/garage/mods/xpanes/mod.conf b/data/games/garage/mods/xpanes/mod.conf new file mode 100644 index 0000000..dcb0716 --- /dev/null +++ b/data/games/garage/mods/xpanes/mod.conf @@ -0,0 +1,4 @@ +name = xpanes +description = Minetest Game mod: xpanes +depends = default +optional_depends = doors diff --git a/data/games/garage/mods/xpanes/sounds/xpanes_steel_bar_door_close.ogg b/data/games/garage/mods/xpanes/sounds/xpanes_steel_bar_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0620bfb8a151b9434bcf0dab73f89d67579e233e GIT binary patch literal 17553 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 Pk$Xc3LBg_rfbqWowMV&q literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/xpanes/sounds/xpanes_steel_bar_door_open.ogg b/data/games/garage/mods/xpanes/sounds/xpanes_steel_bar_door_open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d159be9b3bcb8629809acaab113c5b962938e781 GIT binary patch literal 21837 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/xpanes/textures/xpanes_bar.png b/data/games/garage/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@ x#}JO_yeGTg&cLpf^c`;ZC-2rP#t9`+=$$JYD@<);T3K0RS0o8BqWL literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/xpanes/textures/xpanes_door_steel_bar.png b/data/games/garage/mods/xpanes/textures/xpanes_door_steel_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..39f45c302553aa9de4953a4aac6d472a680e1405 GIT binary patch literal 552 zcmV+@0@wYCP)!>k00DGTPE!Ct=GbNc z00DeSL_t(IPlZ!ivVJI6MFeaFg4f~_nrz8CO z{(W9wL=d9*K;Bb?NCG}Ul(x)-jYg)GmX)p(*{H{=q}Rdhw2E=ut5tXi!l6_lrsINP zNJp_CRb)I8~C zM$66Kc&9B_Gd}9T(0iHfLCf?!(|o+q?7Y0Q9Z{lrTuf6j&$L$hjI&_IX@;J|``(ac zcnTLB73lGt@AEc49~?vo`kJ>=?Su@$T3Pe9PSv+$amkzUiKe^53RYUhx_JYLQQB_a zDDxEhdGo?SN^dW3T2Q5I_X^H13vkWbI9~Dwio$Nl{ePOEl{3zD^9GDErc2)9Ra-n# qA_Z3w()So?r1V7d67%8%XZ{~-Ks6Vz!7*I`0000MGn literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/xpanes/textures/xpanes_edge.png b/data/games/garage/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/data/games/garage/mods/xpanes/textures/xpanes_edge_obsidian.png b/data/games/garage/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;(l$4a5oSc@H zmY$xTnVFfDm6e^HotvARmzS5HpI=Z=P*_-4R8&-4TwGdOT2@w8US3{RRaH|{Q(s@- z(9qD@+S=aU-r3pN)z#JA-QCmE)8F4eVZwyTlP6D^GG*%2sk3IyTDELiLKc4+&`QRV zAirP+hi5m^fSepp7sn6@N!x=L#hMgETo1;oWW;!>oHo(k`v3p2Y5M7HcXw{LyT^O7 zLMUD(VDgO#9mgdE+XFv3S;_Fqt4vst$2`fR(6Y~C$w5BmNgt>DabPlSW$mos%0H60 sWsOJs;#5bbPHkhOzw>TyIrrwD`%RXEeJZE4fc7$Yy85}Sb4q9e0DJ;-QUCw| literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/xpanes/textures/xpanes_trapdoor_steel_bar.png b/data/games/garage/mods/xpanes/textures/xpanes_trapdoor_steel_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..a56c5ee3af9532d0031fbe2cfbcddfa917ef92aa GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=4D2YKDe}k&%&6QBiSm zammTanVFecSy_2`dBw%Wm6er~Cr@6mV8MZ%soQ|68B2ovf*Bm1-ADs+LOfj@LpY+7 zUqo!oI=U(}cD01q2NQ;eOmYgzC*=g#j1(p$GU~G^T`_66y2asY!xAY6t%gZFx(R1_ zZBDQ)n$3JAXVy-3ol62M_$FBuf6qy~IdgM5!;~*3I&-E}>H*DX@O1TaS?83{1OOIy BMN$9& literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/xpanes/textures/xpanes_trapdoor_steel_bar_side.png b/data/games/garage/mods/xpanes/textures/xpanes_trapdoor_steel_bar_side.png new file mode 100644 index 0000000000000000000000000000000000000000..a71231e84cf289acdb40c000f88ef44ea73d8274 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u0VSF^y%~G&tEW|>ot%g t;_2cT!f`!0f|Z45p~C?O&W71c46cXSe?Ba}J_{(%;OXk;vd$@?2>=ua8NvVn literal 0 HcmV?d00001 diff --git a/data/games/garage/schematic_tables.txt b/data/games/garage/schematic_tables.txt new file mode 100644 index 0000000..e8765d5 --- /dev/null +++ b/data/games/garage/schematic_tables.txt @@ -0,0 +1,2228 @@ +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 Luanti. +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, 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, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + }, + 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, 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, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + }, + 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, B, 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} +local R = {name = "default:cactus", prob = 255, force_place = true} +local E = {name = "default:cactus", prob = 127} + +mts_save("large_cactus", { + size = {x = 5, y = 7, z = 5}, + data = { + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, C, _, _, + _, _, R, _, _, + _, _, C, _, _, + C, C, C, C, C, + C, _, C, _, C, + E, _, C, _, E, + _, _, C, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + _, _, _, _, _, + }, + yslice_prob = { + {ypos = 2, prob = 127}, + }, +}) + + +-- Papyrus + +mts_save("papyrus_on_dirt", { + 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}, + }, +}) + +mts_save("papyrus_on_dry_dirt", { + size = {x = 1, y = 7, z = 1}, + data = { + {name = "default:dry_dirt", prob = 255, force_place = true}, + {name = "default:dry_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/data/games/garage/screenshot.png b/data/games/garage/screenshot.png index 7324883f6c29aafd8e50f3eac6c8515c8e39b866..d648ea4bab9137241c0661c81902a9f9042e28e9 100644 GIT binary patch literal 96122 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 FV1moJa4-M> literal 133364 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 vjY!nrnr9BzUj zGwLMS0cBDHfE+LoOl{llp|)+?wr$(CZR2g*wrv~xlQUurf<=3#O&z{^sbwVv;!2|` zAnfZq*5jT1;QAYyaVkLXMNMg+z-53;La#@C@97;ic~P^Qs!nrO3zL?% z^`F=XLMe;-t8Qhl>X^B$E29g2(dDgguV8{B9e9nd15m>JmKYc96F>$240@Os?-hj1 zZ<~3%qZEfWe{W|><;JAgKdPvc9Q-J%x&2cU()E!2V zvz_+xIN;_uMtS%|DUQ=Fw#s_dgS@6<(eryPgO#lG`74ornxALja~ zJvlGtm%G%Xz;PmFtitVaQF2|I^iWiIcNjR|hg3qS?rvV2eHh2cayH(y^!Mz9_g&Dc g2J_+OHJN&<0K5(ArcF)GVE_OC07*qoM6N<$f)yVa@&Et; literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/fire/textures/fire_basic_flame_animated.png b/data/games/garage/mods/fire/textures/fire_basic_flame_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..b01f7036278f3c1ac1fce6bca2e7a5a2acc2cbc1 GIT binary patch literal 1029 zcmV+g1p51lP)?bgBL9Lg+*1wz$wvOfJjrkX|DihJP88`_9MnPWAkEd0nd!#WrGk~`yH73sSt@rotoejE909sk!u zMiB|oRRC`q3je`G^_nmLzeMo0HSB5};eHtSwL0^ zBn{rjJNBeOsy6}4GXejbC-I~@|L9+gRx*G90004WQchC+qP}n82@8i$JYIq&f3XXol?5kPkoCwu>&whjt!s>D8j&xY3AbNXJ9>? z{RJt%!+xLBz3$&&TSAHf;5(zqYyq$;Q7Ijw`w5&@7w)AlM%?!voOlfmAO6ihfj}^% zb`Tjwr~DI(1Fn_TX<}nFxtr2t2Is(~RXfa)%1;Wv&SphQ;9V}m_u9%@wf4t1JSys2 zupJuiR2n)(4s8=iv<{kwN5}vE_rnS8vrcOJ;y3+4=PGjjmp#kPZSZb#2iSW&Wi0Qv z+29pN8ry?McwP2D^4J$1iYy49mmWqQqwFs{ObZW}8-Zj{Dh(dtVUazoK;Yh^c0|0+ zsL$u$j7uJB;gOU*r1`;xM?RU-XkxO*iZ+ph{BAWA4KlXOFJYWHGyBAOolDnYw1P6EWWkN|c6$ zkk{#S`H71r5D2JICr3ia?T^Prap_U7IwHwvDys1f1^`;MI=7J@?Pg*c0aPkot|StP zjS5vwW>zdhsa{6_wF-yALsvvay-Z6abga`g6bjB%DweruHuXoMIZ@EoF79Ko|2P76 zxM|;tMlVQuJ<(+UAGzhnX!$W(evFnMqvZzxYUAZeh4a$>00000NkvXXu0mjfDN*Ko literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/fire/textures/fire_flint_steel.png b/data/games/garage/mods/fire/textures/fire_flint_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..9d32d85b001c0836b969989ffeb7bc16856eb71c GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ{r~^Jjg3uoSU_e#kk9cFL3~ruv%I)z$g=`BGlVkZDL0RW=C$F``&88!)Y70 yHST3Pkx+P_&$K=HJvT@5-bYqv-f*o6V`iAnCOD@+VC7q&$qb&ZelF{r5}E*g$Va>Y literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/fireflies/README.txt b/data/games/garage/mods/fireflies/README.txt new file mode 100644 index 0000000..7382578 --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/fireflies/init.lua b/data/games/garage/mods/fireflies/init.lua new file mode 100644 index 0000000..827ed98 --- /dev/null +++ b/data/games/garage/mods/fireflies/init.lua @@ -0,0 +1,259 @@ +-- firefly/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("fireflies") + +-- Legacy compatibility, when pointabilities don't exist, pointable is set to true. +local pointable_compat = not minetest.features.item_specific_pointabilities + +minetest.register_node("fireflies:firefly", { + description = S("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, + pointable = pointable_compat, + 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_construct = function(pos) + minetest.get_node_timer(pos):start(1) + 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 = S("Hidden Firefly"), + drawtype = "airlike", + inventory_image = "fireflies_firefly.png^default_invisible_node_overlay.png", + wield_image = "fireflies_firefly.png^default_invisible_node_overlay.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_construct = function(pos) + minetest.get_node_timer(pos):start(1) + 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 = S("Bug Net"), + inventory_image = "fireflies_bugnet.png", + pointabilities = {nodes = {["group:catchable"] = true}}, + tool_capabilities = { + groupcaps = { + catchable = { maxlevel = 1, uses = 256, times = { [1] = 0, [2] = 0, [3] = 0 } } + }, + }, +}) + +minetest.register_craft( { + output = "fireflies:bug_net", + recipe = { + {"farming:string", "farming:string"}, + {"farming:string", "farming:string"}, + {"group:stick", ""} + } +}) + + +-- firefly in a bottle +minetest.register_node("fireflies:firefly_bottle", { + description = S("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 = {vessel = 1, 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/data/games/garage/mods/fireflies/license.txt b/data/games/garage/mods/fireflies/license.txt new file mode 100644 index 0000000..eebdad6 --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/fireflies/locale/fireflies.de.tr b/data/games/garage/mods/fireflies/locale/fireflies.de.tr new file mode 100644 index 0000000..c5d116a --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.de.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Glühwürmchen +Hidden Firefly=Verborgenes Glühwürmchen +Bug Net=Insektennetz +Firefly in a Bottle=Glühwürmchen in einer Flasche diff --git a/data/games/garage/mods/fireflies/locale/fireflies.eo.tr b/data/games/garage/mods/fireflies/locale/fireflies.eo.tr new file mode 100644 index 0000000..0eaa2cb --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.eo.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Lampiro +Hidden Firefly=Kaŝita lampiro +Bug Net=Insekta reto +Firefly in a Bottle=Lampiro en botelo diff --git a/data/games/garage/mods/fireflies/locale/fireflies.es.tr b/data/games/garage/mods/fireflies/locale/fireflies.es.tr new file mode 100644 index 0000000..95d053e --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.es.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Luciérnaga +Hidden Firefly=Luciérnaga oculta +Bug Net=Red de insectos +Firefly in a Bottle=Luciérnaga en botella diff --git a/data/games/garage/mods/fireflies/locale/fireflies.fr.tr b/data/games/garage/mods/fireflies/locale/fireflies.fr.tr new file mode 100644 index 0000000..3deda66 --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.fr.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Luciole +Hidden Firefly=Luciole cachée +Bug Net=Filet à papillon +Firefly in a Bottle=Luciole en bouteille diff --git a/data/games/garage/mods/fireflies/locale/fireflies.id.tr b/data/games/garage/mods/fireflies/locale/fireflies.id.tr new file mode 100644 index 0000000..bc6434e --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.id.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Kunang-Kunang +Hidden Firefly=Kunang-Kunang Tersembunyi +Bug Net=Jaring Serangga +Firefly in a Bottle=Kunang-Kunang dalam Botol diff --git a/data/games/garage/mods/fireflies/locale/fireflies.it.tr b/data/games/garage/mods/fireflies/locale/fireflies.it.tr new file mode 100644 index 0000000..22ad57b --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.it.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Lucciola +Hidden Firefly=Lucciola nascosta +Bug Net=Retino +Firefly in a Bottle=Lucciola imbottigliata diff --git a/data/games/garage/mods/fireflies/locale/fireflies.ja.tr b/data/games/garage/mods/fireflies/locale/fireflies.ja.tr new file mode 100644 index 0000000..4116ca2 --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.ja.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=ホタル +Hidden Firefly=隠されたホタル +Bug Net=虫取り網 +Firefly in a Bottle=ホタルの入った瓶 diff --git a/data/games/garage/mods/fireflies/locale/fireflies.jbo.tr b/data/games/garage/mods/fireflies/locale/fireflies.jbo.tr new file mode 100644 index 0000000..4e69ab4 --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.jbo.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=lo gusycinki +Hidden Firefly=lo se mipri gusycinki +Bug Net=lo cinki julne +Firefly in a Bottle=lo gusycinki poi nenri lo botpi diff --git a/data/games/garage/mods/fireflies/locale/fireflies.lv.tr b/data/games/garage/mods/fireflies/locale/fireflies.lv.tr new file mode 100644 index 0000000..7bb6520 --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.lv.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Jāņtārpiņš +Hidden Firefly=Paslēpts jāņtārpiņš +Bug Net=Ķeramtīkls +Firefly in a Bottle=Jāņtārpiņš pudelē diff --git a/data/games/garage/mods/fireflies/locale/fireflies.ms.tr b/data/games/garage/mods/fireflies/locale/fireflies.ms.tr new file mode 100644 index 0000000..509d03d --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.ms.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Kelip-Kelip +Hidden Firefly=Kelip-Kelip Tersembunyi +Bug Net=Jaring Pepijat +Firefly in a Bottle=Kelip-Kelip dalam Botol diff --git a/data/games/garage/mods/fireflies/locale/fireflies.pl.tr b/data/games/garage/mods/fireflies/locale/fireflies.pl.tr new file mode 100644 index 0000000..b07152b --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.pl.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Świetlik +Hidden Firefly=Ukryty świetlik +Bug Net=Siatka na owady +Firefly in a Bottle=Świetlik w butelce diff --git a/data/games/garage/mods/fireflies/locale/fireflies.pt_BR.tr b/data/games/garage/mods/fireflies/locale/fireflies.pt_BR.tr new file mode 100644 index 0000000..543c00b --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.pt_BR.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Vaga-lume +Hidden Firefly=Vaga-lume escondido +Bug Net=Rede de Insetos +Firefly in a Bottle=Vaga-lume em uma garrafa diff --git a/data/games/garage/mods/fireflies/locale/fireflies.ru.tr b/data/games/garage/mods/fireflies/locale/fireflies.ru.tr new file mode 100644 index 0000000..8c50a7d --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.ru.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Светлячок +Hidden Firefly=Притаившийся светлячок +Bug Net=Сачок +Firefly in a Bottle=Светлячок в бутылке diff --git a/data/games/garage/mods/fireflies/locale/fireflies.sk.tr b/data/games/garage/mods/fireflies/locale/fireflies.sk.tr new file mode 100644 index 0000000..b68674d --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.sk.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Svetluška +Hidden Firefly=Skrytá svetluška +Bug Net=Sieťka na hmyz +Firefly in a Bottle=Svetluška vo fľaši diff --git a/data/games/garage/mods/fireflies/locale/fireflies.sv.tr b/data/games/garage/mods/fireflies/locale/fireflies.sv.tr new file mode 100644 index 0000000..d8016f9 --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.sv.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Eldfluga +Hidden Firefly=Gömd eldfluga +Bug Net=Insektshåv +Firefly in a Bottle=Eldfluga i en flaska diff --git a/data/games/garage/mods/fireflies/locale/fireflies.uk.tr b/data/games/garage/mods/fireflies/locale/fireflies.uk.tr new file mode 100644 index 0000000..f1bcb16 --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.uk.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=Світляк +Hidden Firefly=Світляк, що причаївся +Bug Net=Сачок +Firefly in a Bottle=Світляк у пляшці diff --git a/data/games/garage/mods/fireflies/locale/fireflies.zh_CN.tr b/data/games/garage/mods/fireflies/locale/fireflies.zh_CN.tr new file mode 100644 index 0000000..5971785 --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.zh_CN.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=萤火虫 +Hidden Firefly=隐藏的萤火虫 +Bug Net=虫网 +Firefly in a Bottle=放在瓶子里的萤火虫 diff --git a/data/games/garage/mods/fireflies/locale/fireflies.zh_TW.tr b/data/games/garage/mods/fireflies/locale/fireflies.zh_TW.tr new file mode 100644 index 0000000..af754a9 --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/fireflies.zh_TW.tr @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly=螢火蟲 +Hidden Firefly=隱藏的螢火蟲 +Bug Net=蟲網 +Firefly in a Bottle=放在瓶子裡的螢火蟲 diff --git a/data/games/garage/mods/fireflies/locale/template.txt b/data/games/garage/mods/fireflies/locale/template.txt new file mode 100644 index 0000000..91aa8ff --- /dev/null +++ b/data/games/garage/mods/fireflies/locale/template.txt @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly= +Hidden Firefly= +Bug Net= +Firefly in a Bottle= diff --git a/data/games/garage/mods/fireflies/mod.conf b/data/games/garage/mods/fireflies/mod.conf new file mode 100644 index 0000000..a533588 --- /dev/null +++ b/data/games/garage/mods/fireflies/mod.conf @@ -0,0 +1,3 @@ +name = fireflies +description = Minetest Game mod: fireflies +depends = default, vessels diff --git a/data/games/garage/mods/fireflies/textures/fireflies_bottle.png b/data/games/garage/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/data/games/garage/mods/fireflies/textures/fireflies_bottle_animated.png b/data/games/garage/mods/fireflies/textures/fireflies_bottle_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..294ff974203694d660df65fded9991158c6fcfef GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0zjO=!VDyz{eM3hNT~$)gt!9fEql(MzkGk+kt?@u zJw0~j#@4N8R&PCV>H5Q&jkz7UvH$<4U7z%5E>Im~NswPKgTu2MX+Tb>r;B5V#`)v~ z1-=5kh6`sLeHjJ9o+zydVG`~+$g@yVQi4Z;XBw}7TO%{Ga?8O3Ovx4oi?q@_vQib~ zCcKo>SbU&*!cKNUyJ)tV)d>#|+e+CzSt8Fc%}RU1kFzfSffg`$y85}Sb4q9e0NhPX A7ytkO literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/fireflies/textures/fireflies_bugnet.png b/data/games/garage/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/data/games/garage/mods/fireflies/textures/fireflies_firefly.png b/data/games/garage/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/data/games/garage/mods/fireflies/textures/fireflies_firefly_animated.png b/data/games/garage/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/data/games/garage/mods/first_mod/init.lua b/data/games/garage/mods/first_mod/init.lua deleted file mode 100644 index 3909a39..0000000 --- a/data/games/garage/mods/first_mod/init.lua +++ /dev/null @@ -1 +0,0 @@ --- Nothing to do here, loading order is tested in C++ unittests. diff --git a/data/games/garage/mods/first_mod/mod.conf b/data/games/garage/mods/first_mod/mod.conf deleted file mode 100644 index d35fa8d..0000000 --- a/data/games/garage/mods/first_mod/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = first_mod -description = Mod which should be loaded before every other mod. diff --git a/data/games/garage/mods/flowers/README.txt b/data/games/garage/mods/flowers/README.txt new file mode 100644 index 0000000..1cb02a7 --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/flowers/init.lua b/data/games/garage/mods/flowers/init.lua new file mode 100644 index 0000000..6456216 --- /dev/null +++ b/data/games/garage/mods/flowers/init.lua @@ -0,0 +1,336 @@ +-- flowers/init.lua + +-- Minetest Game mod: flowers +-- See README.txt for licensing and other information. + + +-- Namespace for functions + +flowers = {} + +-- Load support for MT game translation. +local S = minetest.get_translator("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, + groups = f_groups, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = box + } + }) +end + +flowers.datas = { + { + "rose", + S("Red Rose"), + {-2 / 16, -0.5, -2 / 16, 2 / 16, 5 / 16, 2 / 16}, + {color_red = 1, flammable = 1} + }, + { + "tulip", + S("Orange Tulip"), + {-2 / 16, -0.5, -2 / 16, 2 / 16, 3 / 16, 2 / 16}, + {color_orange = 1, flammable = 1} + }, + { + "dandelion_yellow", + S("Yellow Dandelion"), + {-4 / 16, -0.5, -4 / 16, 4 / 16, -2 / 16, 4 / 16}, + {color_yellow = 1, flammable = 1} + }, + { + "chrysanthemum_green", + S("Green Chrysanthemum"), + {-4 / 16, -0.5, -4 / 16, 4 / 16, -1 / 16, 4 / 16}, + {color_green = 1, flammable = 1} + }, + { + "geranium", + S("Blue Geranium"), + {-2 / 16, -0.5, -2 / 16, 2 / 16, 2 / 16, 2 / 16}, + {color_blue = 1, flammable = 1} + }, + { + "viola", + S("Viola"), + {-5 / 16, -0.5, -5 / 16, 5 / 16, -1 / 16, 5 / 16}, + {color_violet = 1, flammable = 1} + }, + { + "dandelion_white", + S("White Dandelion"), + {-5 / 16, -0.5, -5 / 16, 5 / 16, -2 / 16, 5 / 16}, + {color_white = 1, flammable = 1} + }, + { + "tulip_black", + S("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 = S("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 = {mushroom = 1, 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 = S("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 = {mushroom = 1, 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, 0.5) > 3 then + if minetest.get_node_light(pos, nil) == 15 then + minetest.remove_node(pos) + end + 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(pos2, 0.5) <= 3 then + minetest.set_node(pos2, {name = node.name}) + end +end + +minetest.register_abm({ + label = "Mushroom spread", + nodenames = {"group:mushroom"}, + 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 +-- + +local waterlily_def = { + description = S("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", + use_texture_alpha = "clip", + 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] + + 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 + local player_name = placer and placer:get_player_name() or "" + if not minetest.is_protected(pos, player_name) then + minetest.set_node(pos, {name = "flowers:waterlily" .. + (def.waving == 3 and "_waving" or ""), + param2 = math.random(0, 3)}) + if not minetest.is_creative_enabled(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 +} + +local waterlily_waving_def = table.copy(waterlily_def) +waterlily_waving_def.waving = 3 +waterlily_waving_def.drop = "flowers:waterlily" +waterlily_waving_def.groups.not_in_creative_inventory = 1 + +minetest.register_node("flowers:waterlily", waterlily_def) +minetest.register_node("flowers:waterlily_waving", waterlily_waving_def) + diff --git a/data/games/garage/mods/flowers/license.txt b/data/games/garage/mods/flowers/license.txt new file mode 100644 index 0000000..4cd7024 --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/flowers/locale/flowers.de.tr b/data/games/garage/mods/flowers/locale/flowers.de.tr new file mode 100644 index 0000000..18afb2a --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.de.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Rote Rose +Orange Tulip=Orange Tulpe +Yellow Dandelion=Gelber Löwenzahn +Green Chrysanthemum=Grüne Chrysantheme +Blue Geranium=Blaue Geranie +Viola=Veilchen +White Dandelion=Weißer Löwenzahn +Black Tulip=Schwarze Tulpe +Red Mushroom=Roter Pilz +Brown Mushroom=Brauner Pilz +Waterlily=Wasserlilie diff --git a/data/games/garage/mods/flowers/locale/flowers.eo.tr b/data/games/garage/mods/flowers/locale/flowers.eo.tr new file mode 100644 index 0000000..076df18 --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.eo.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Ruĝa rozo +Orange Tulip=Oranĝkolora tulipo +Yellow Dandelion=Flava leontodo +Green Chrysanthemum=Verda krizantemo +Blue Geranium=Blua geranio +Viola=Violo +White Dandelion=Blanka leontodo +Black Tulip=Nigra tulipo +Red Mushroom=Ruĝa fungo +Brown Mushroom=Bruna fungo +Waterlily=Nimfeo diff --git a/data/games/garage/mods/flowers/locale/flowers.es.tr b/data/games/garage/mods/flowers/locale/flowers.es.tr new file mode 100644 index 0000000..e9c345d --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.es.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Rosa roja +Orange Tulip=Tulipán naranja +Yellow Dandelion=Diente de León amarillo +Green Chrysanthemum=Crisantemo verde +Blue Geranium=Geranio azul +Viola=Violeta +White Dandelion=Diente de León blanco +Black Tulip=Tulipán negro +Red Mushroom=Champiñón rojo +Brown Mushroom=Champiñón café +Waterlily=Nenúfar diff --git a/data/games/garage/mods/flowers/locale/flowers.fr.tr b/data/games/garage/mods/flowers/locale/flowers.fr.tr new file mode 100644 index 0000000..41e0d00 --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.fr.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Rose rouge +Orange Tulip=Tulipe orange +Yellow Dandelion=Pissenlit jaune +Green Chrysanthemum=Chrysanthème vert +Blue Geranium=Géranium bleu +Viola=Violette +White Dandelion=Pissenlit blanc +Black Tulip=Tulipe noire +Red Mushroom=Champignon rouge +Brown Mushroom=Champignon brun +Waterlily=Nénuphar diff --git a/data/games/garage/mods/flowers/locale/flowers.id.tr b/data/games/garage/mods/flowers/locale/flowers.id.tr new file mode 100644 index 0000000..730529b --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.id.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Mawar Merah +Orange Tulip=Tulip Oranye +Yellow Dandelion=Dandelion Kuning +Green Chrysanthemum=Krisan Hijau +Blue Geranium=Geranium Biru +Viola=Viola +White Dandelion=Dandelion Putih +Black Tulip=Tulip Hitam +Red Mushroom=Jamur Merah +Brown Mushroom=Jamur Cokelat +Waterlily=Teratai diff --git a/data/games/garage/mods/flowers/locale/flowers.it.tr b/data/games/garage/mods/flowers/locale/flowers.it.tr new file mode 100644 index 0000000..1ab49dd --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.it.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Rosa rossa +Orange Tulip=Tulipano arancione +Yellow Dandelion=Dente di leone giallo +Green Chrysanthemum=Crisantemo verde +Blue Geranium=Geranio blu +Viola=Viola +White Dandelion=Dente di leone bianco +Black Tulip=Tulipano nero +Red Mushroom=Fungo rosso +Brown Mushroom=Fungo marrone +Waterlily=Ninfea diff --git a/data/games/garage/mods/flowers/locale/flowers.ja.tr b/data/games/garage/mods/flowers/locale/flowers.ja.tr new file mode 100644 index 0000000..bea87e2 --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.ja.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=赤色のバラ +Orange Tulip=橙色のチューリップ +Yellow Dandelion=黄色のタンポポ +Green Chrysanthemum=緑色のキク +Blue Geranium=青色のゼラニウム +Viola=ビオラ +White Dandelion=白色のタンポポ +Black Tulip=黒色のチューリップ +Red Mushroom=赤色のキノコ +Brown Mushroom=茶色のキノコ +Waterlily=スイレン diff --git a/data/games/garage/mods/flowers/locale/flowers.jbo.tr b/data/games/garage/mods/flowers/locale/flowers.jbo.tr new file mode 100644 index 0000000..1df06ec --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.jbo.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=lo xunre rozgu +Orange Tulip=lo narju tujli +Yellow Dandelion=lo pelxu spatrtaraksaku +Green Chrysanthemum=lo crino xrisantemo +Blue Geranium=lo blanu plargoni +Viola=lo spatrvi'ola +White Dandelion=lo blabi spatrtaraksaku +Black Tulip=lo xekri tujli +Red Mushroom=lo xunre ledgrute +Brown Mushroom=lo bunre ledgrute +Waterlily=lo jacrulspa diff --git a/data/games/garage/mods/flowers/locale/flowers.lv.tr b/data/games/garage/mods/flowers/locale/flowers.lv.tr new file mode 100644 index 0000000..315272d --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.lv.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Sarkanā roze +Orange Tulip=Oranžā tulpe +Yellow Dandelion=Dzeltena pienene +Green Chrysanthemum=Zaļā krizantema +Blue Geranium=Zilā ģerānija +Viola=Vijolīte +White Dandelion=Balta pienene +Black Tulip=Melnā tulpe +Red Mushroom=Sarkanā sēne +Brown Mushroom=Brūnā sēne +Waterlily=Ūdensroze diff --git a/data/games/garage/mods/flowers/locale/flowers.ms.tr b/data/games/garage/mods/flowers/locale/flowers.ms.tr new file mode 100644 index 0000000..4e846eb --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.ms.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Ros Merah +Orange Tulip=Tulip Jingga +Yellow Dandelion=Dandelion Kuning +Green Chrysanthemum=Kekwa Hijau +Blue Geranium=Geranium Biru +Viola=Violet +White Dandelion=Dandelion Putih +Black Tulip=Tulip Hitam +Red Mushroom=Cendawan Merah +Brown Mushroom=Cendawan Perang +Waterlily=Teratai diff --git a/data/games/garage/mods/flowers/locale/flowers.pl.tr b/data/games/garage/mods/flowers/locale/flowers.pl.tr new file mode 100644 index 0000000..ff6a5e2 --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.pl.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Czerwona róża +Orange Tulip=Pomarańczowy tulipan +Yellow Dandelion=Żółty mlecz +Green Chrysanthemum=Zielona chryzantema +Blue Geranium=Niebieska pelargonia +Viola=Fiołek +White Dandelion=Biały mlecz +Black Tulip=Czarny tulipan +Red Mushroom=Czerwony muchomor +Brown Mushroom=Brązowy grzyb +Waterlily=Lilia wodna diff --git a/data/games/garage/mods/flowers/locale/flowers.pt_BR.tr b/data/games/garage/mods/flowers/locale/flowers.pt_BR.tr new file mode 100644 index 0000000..1f5ff92 --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.pt_BR.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Rosa Vermelha +Orange Tulip=Tulipa Laranja +Yellow Dandelion=Dente-de-leão Amarelo +Green Chrysanthemum=Crisântemo Verde +Blue Geranium=Gerânio Azul +Viola=Violeta +White Dandelion=Dente-de-leão Branco +Black Tulip=Tulipa Negra +Red Mushroom=Cogumelo Vermelho +Brown Mushroom=Cogumelo Marrom +Waterlily=Nenúfar diff --git a/data/games/garage/mods/flowers/locale/flowers.ru.tr b/data/games/garage/mods/flowers/locale/flowers.ru.tr new file mode 100644 index 0000000..0d129a5 --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.ru.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Красная роза +Orange Tulip=Оранжевый тюльпан +Yellow Dandelion=Жёлтый одуванчик +Green Chrysanthemum=Зелёная хризантема +Blue Geranium=Синяя герань +Viola=Фиалка +White Dandelion=Белый одуванчик +Black Tulip=Чёрный тюльпан +Red Mushroom=Красный гриб +Brown Mushroom=Коричневый гриб +Waterlily=Лилия diff --git a/data/games/garage/mods/flowers/locale/flowers.sk.tr b/data/games/garage/mods/flowers/locale/flowers.sk.tr new file mode 100644 index 0000000..75d4ae1 --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.sk.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Červená ruža +Orange Tulip=Oranžový tulipán +Yellow Dandelion=Žltá púpava +Green Chrysanthemum=Zelená chryzantéma +Blue Geranium=Modrý muškát +Viola=Fialka +White Dandelion=Biela púpava +Black Tulip=Čierny tulipán +Red Mushroom=Červená huba +Brown Mushroom=Hnedá huba +Waterlily=Lekno diff --git a/data/games/garage/mods/flowers/locale/flowers.sv.tr b/data/games/garage/mods/flowers/locale/flowers.sv.tr new file mode 100644 index 0000000..c8a26a3 --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.sv.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Röd ros +Orange Tulip=Orange tulpan +Yellow Dandelion=Gul maskros +Green Chrysanthemum=Grön krysantemum +Blue Geranium=Blå geranium +Viola=Violett viola +White Dandelion=Vit maskros +Black Tulip=Svart tulpan +Red Mushroom=Röd svamp +Brown Mushroom=Brun svamp +Waterlily=Näckros diff --git a/data/games/garage/mods/flowers/locale/flowers.uk.tr b/data/games/garage/mods/flowers/locale/flowers.uk.tr new file mode 100644 index 0000000..5620029 --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.uk.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=Червона троянда +Orange Tulip=Помаранчевий тюльпан +Yellow Dandelion=Жовта кульбаба +Green Chrysanthemum=Зелена хризантема +Blue Geranium=Синій журавець +Viola=Фіалка +White Dandelion=Біла кульбаба +Black Tulip=Чорний тюльпан +Red Mushroom=Червоний гриб +Brown Mushroom=Коричневий гриб +Waterlily=Латаття diff --git a/data/games/garage/mods/flowers/locale/flowers.zh_CN.tr b/data/games/garage/mods/flowers/locale/flowers.zh_CN.tr new file mode 100644 index 0000000..3139dfb --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.zh_CN.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=红玫瑰 +Orange Tulip=橙郁金香 +Yellow Dandelion=黄蒲公英 +Green Chrysanthemum=绿菊花 +Blue Geranium=蓝天竺葵 +Viola=三色堇 +White Dandelion=白蒲公英 +Black Tulip=黑郁金香 +Red Mushroom=红蘑菇 +Brown Mushroom=棕蘑菇 +Waterlily=睡莲 diff --git a/data/games/garage/mods/flowers/locale/flowers.zh_TW.tr b/data/games/garage/mods/flowers/locale/flowers.zh_TW.tr new file mode 100644 index 0000000..a3a3ec5 --- /dev/null +++ b/data/games/garage/mods/flowers/locale/flowers.zh_TW.tr @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose=紅玫瑰 +Orange Tulip=橙鬱金香 +Yellow Dandelion=黃蒲公英 +Green Chrysanthemum=綠菊花 +Blue Geranium=藍天竺葵 +Viola=三色堇 +White Dandelion=白蒲公英 +Black Tulip=黑鬱金香 +Red Mushroom=紅蘑菇 +Brown Mushroom=棕蘑菇 +Waterlily=睡蓮 diff --git a/data/games/garage/mods/flowers/locale/template.txt b/data/games/garage/mods/flowers/locale/template.txt new file mode 100644 index 0000000..a3a687f --- /dev/null +++ b/data/games/garage/mods/flowers/locale/template.txt @@ -0,0 +1,12 @@ +# textdomain: flowers +Red Rose= +Orange Tulip= +Yellow Dandelion= +Green Chrysanthemum= +Blue Geranium= +Viola= +White Dandelion= +Black Tulip= +Red Mushroom= +Brown Mushroom= +Waterlily= diff --git a/data/games/garage/mods/flowers/mapgen.lua b/data/games/garage/mods/flowers/mapgen.lua new file mode 100644 index 0000000..f282f50 --- /dev/null +++ b/data/games/garage/mods/flowers/mapgen.lua @@ -0,0 +1,181 @@ +-- +-- 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_waving", + 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"}, + 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"}, + 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_waving", + 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/data/games/garage/mods/flowers/mod.conf b/data/games/garage/mods/flowers/mod.conf new file mode 100644 index 0000000..cdafe64 --- /dev/null +++ b/data/games/garage/mods/flowers/mod.conf @@ -0,0 +1,3 @@ +name = flowers +description = Minetest Game mod: flowers +depends = default diff --git a/data/games/garage/mods/flowers/textures/flowers_chrysanthemum_green.png b/data/games/garage/mods/flowers/textures/flowers_chrysanthemum_green.png new file mode 100644 index 0000000000000000000000000000000000000000..01d8c7e3a69a7dfe9e00084d41f1b69df00843a0 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}RDe&2D}y3~oIRJUi>9ipu8NnS zqK}BIAFol6pk|=Caiok{gspjmuVtLJb+mItpFz|tw%FMsnX6eBJ!eEuBp~r}==kFqQ=Q1v5B2yO9Ru*n7G-hDb=B zJs2(Kpupg8aQ1|Bm8sAFZNJ&Rc(Uw_hu04sYrp=P@44@$H3dG;lq4C_E5FK`Zb?b$ g)S5N1XGMieV;|!d^Sbb_K%*EuUHx3vIVCg!04EesApigX literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/flowers/textures/flowers_dandelion_white.png b/data/games/garage/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/data/games/garage/mods/flowers/textures/flowers_dandelion_yellow.png b/data/games/garage/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/data/games/garage/mods/flowers/textures/flowers_geranium.png b/data/games/garage/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/data/games/garage/mods/flowers/textures/flowers_mushroom_red.png b/data/games/garage/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/data/games/garage/mods/flowers/textures/flowers_tulip_black.png b/data/games/garage/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/data/games/garage/mods/flowers/textures/flowers_viola.png b/data/games/garage/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!@P)+vm0fR&T2! z5lfu}hp%9^Ge!VFmsz@KHPJjmc__Wm1U!6DAT4RE891H?V&S(9pQrnCNUK xnB96d#8a3nz;+s)0S%WCa{T!fh(FK2;s?zd93+y#ur>ey002ovPDHLkV1g%qtcd^s literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/flowers/textures/flowers_waterlily_bottom.png b/data/games/garage/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/data/games/garage/mods/game_commands/README.txt b/data/games/garage/mods/game_commands/README.txt new file mode 100644 index 0000000..a451608 --- /dev/null +++ b/data/games/garage/mods/game_commands/README.txt @@ -0,0 +1,7 @@ +Minetest Game mod: game_commands +================================ +See license.txt for license information. + +Authors of source code +---------------------- +rubenwardy (MIT) diff --git a/data/games/garage/mods/game_commands/init.lua b/data/games/garage/mods/game_commands/init.lua new file mode 100644 index 0000000..e038be1 --- /dev/null +++ b/data/games/garage/mods/game_commands/init.lua @@ -0,0 +1,31 @@ +-- game_commands/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("game_commands") + + +minetest.register_chatcommand("killme", { + description = S("Kill yourself to respawn"), + func = function(name) + local player = minetest.get_player_by_name(name) + if player then + if minetest.settings:get_bool("enable_damage") then + player:set_hp(0) + return true + else + for _, callback in pairs(minetest.registered_on_respawnplayers) do + if callback(player) then + return true + end + end + + -- There doesn't seem to be a way to get a default spawn pos + -- from the lua API + return false, S("No static_spawnpoint defined") + end + else + -- Show error message if used when not logged in, eg: from IRC mod + return false, S("You need to be online to be killed!") + end + end +}) diff --git a/data/games/garage/mods/game_commands/license.txt b/data/games/garage/mods/game_commands/license.txt new file mode 100644 index 0000000..fa85564 --- /dev/null +++ b/data/games/garage/mods/game_commands/license.txt @@ -0,0 +1,24 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2017-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/data/games/garage/mods/game_commands/locale/game_commands.de.tr b/data/games/garage/mods/game_commands/locale/game_commands.de.tr new file mode 100644 index 0000000..24b0e25 --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.de.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Selbstmord begehen, um zu Respawnen +No static_spawnpoint defined=Kein static_spawnpoint definiert +You need to be online to be killed!=Sie müssen online sein, um getötet zu werden! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.eo.tr b/data/games/garage/mods/game_commands/locale/game_commands.eo.tr new file mode 100644 index 0000000..0ff99aa --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.eo.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Sinmortigu por renaski +No static_spawnpoint defined=Ne estas difina static_spawnpoint +You need to be online to be killed!=Vi devas esti enreta por esti mortigita! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.es.tr b/data/games/garage/mods/game_commands/locale/game_commands.es.tr new file mode 100644 index 0000000..702a2ef --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.es.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Suicídate para reaparecer +No static_spawnpoint defined=No se ha definido un punto de aparición +You need to be online to be killed!=¡Necesitas estar en línea para que te maten! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.fr.tr b/data/games/garage/mods/game_commands/locale/game_commands.fr.tr new file mode 100644 index 0000000..0e295d6 --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.fr.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Se suicider pour réapparaître +No static_spawnpoint defined=Pas de point d'apparition défini +You need to be online to be killed!=Vous devez être en ligne pour être tué ! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.id.tr b/data/games/garage/mods/game_commands/locale/game_commands.id.tr new file mode 100644 index 0000000..0d586c9 --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.id.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Bunuh diri untuk bangkit kembali +No static_spawnpoint defined=Tidak ada static_spawnpoint (titik bangkit statis) yang diatur +You need to be online to be killed!=Anda harus daring untuk dibunuh! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.it.tr b/data/games/garage/mods/game_commands/locale/game_commands.it.tr new file mode 100644 index 0000000..91646b0 --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.it.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Ucciditi per ricomparire +No static_spawnpoint defined=Nessuno static_spawnpoint definito +You need to be online to be killed!=Devi essere in linea per essere ucciso! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.ja.tr b/data/games/garage/mods/game_commands/locale/game_commands.ja.tr new file mode 100644 index 0000000..b6c77dc --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.ja.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=リセットしてリスポーンします +No static_spawnpoint defined=static_spawnpoint が設定されていません +You need to be online to be killed!=リセットするにはオンラインである必要があります diff --git a/data/games/garage/mods/game_commands/locale/game_commands.jbo.tr b/data/games/garage/mods/game_commands/locale/game_commands.jbo.tr new file mode 100644 index 0000000..ddddcd7 --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.jbo.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=.i ro nu do catra do cu tadji pa nu do tolcanci +No static_spawnpoint defined=.i no da ckaji lo me la'o zoi.static_spawnpoint.zoi +You need to be online to be killed!=.i lo nu samjo'e cu sarcu lo nu do se catra diff --git a/data/games/garage/mods/game_commands/locale/game_commands.lv.tr b/data/games/garage/mods/game_commands/locale/game_commands.lv.tr new file mode 100644 index 0000000..b498bcb --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.lv.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Nobeidzieties lai atdzīvotos +No static_spawnpoint defined=static_spawnpoint nav definēts +You need to be online to be killed!=Jums jābūt tiešsaistē lai nobeigtos. diff --git a/data/games/garage/mods/game_commands/locale/game_commands.ms.tr b/data/games/garage/mods/game_commands/locale/game_commands.ms.tr new file mode 100644 index 0000000..d22e0a4 --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.ms.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Bunuh diri anda untuk jelma semula +No static_spawnpoint defined=Tiada titik jelma statik (tetapan static_spawnpoint) ditakrifkan +You need to be online to be killed!=Anda mesti berada dalam talian untuk dibunuh! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.pl.tr b/data/games/garage/mods/game_commands/locale/game_commands.pl.tr new file mode 100644 index 0000000..52477c6 --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.pl.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Zastosować komendę kill aby się zrespawnować +No static_spawnpoint defined=Nie zdefiniowano static_spawnpoint +You need to be online to be killed!=Musisz być online aby zastosować komendę kill diff --git a/data/games/garage/mods/game_commands/locale/game_commands.pt_BR.tr b/data/games/garage/mods/game_commands/locale/game_commands.pt_BR.tr new file mode 100644 index 0000000..6c52c0b --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Mate-se para reaparecer +No static_spawnpoint defined=Nenhum ponto de reaparecer estático definido +You need to be online to be killed!=Você precisa estar online para ser morto! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.ru.tr b/data/games/garage/mods/game_commands/locale/game_commands.ru.tr new file mode 100644 index 0000000..59a5971 --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.ru.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Убейте себя, чтобы возродиться +No static_spawnpoint defined=static_spawnpoint не определён +You need to be online to be killed!=Вы должны быть в сети, чтобы убить себя! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.sk.tr b/data/games/garage/mods/game_commands/locale/game_commands.sk.tr new file mode 100644 index 0000000..f7d153a --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.sk.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Samovražda pre znovuzrodenie +No static_spawnpoint defined=Nie je definované stále miesto znovuzrodenia +You need to be online to be killed!=Musíš byť online, aby si mohol byť zabitý! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.sv.tr b/data/games/garage/mods/game_commands/locale/game_commands.sv.tr new file mode 100644 index 0000000..e3110da --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.sv.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Döda dig själv för att respawna +No static_spawnpoint defined=Ingen static_spawnpoint definierad +You need to be online to be killed!=Du måsta vara online för att bli dödad! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.uk.tr b/data/games/garage/mods/game_commands/locale/game_commands.uk.tr new file mode 100644 index 0000000..03cd267 --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.uk.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=Вбити себе, щоб відродитися +No static_spawnpoint defined=Немає визначеного static_spawnpoint +You need to be online to be killed!=Ви повинні бути онлайн, щоби Вас було вбито! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.zh_CN.tr b/data/games/garage/mods/game_commands/locale/game_commands.zh_CN.tr new file mode 100644 index 0000000..ba9a027 --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.zh_CN.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=自杀并重生 +No static_spawnpoint defined=static_spawnpoint 未定义 +You need to be online to be killed!=您需要在线才能被杀死! diff --git a/data/games/garage/mods/game_commands/locale/game_commands.zh_TW.tr b/data/games/garage/mods/game_commands/locale/game_commands.zh_TW.tr new file mode 100644 index 0000000..34e148d --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/game_commands.zh_TW.tr @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn=殺死自己並重生 +No static_spawnpoint defined=static_spawnpoint 未定義 +You need to be online to be killed!=您需要在線才能被殺死! diff --git a/data/games/garage/mods/game_commands/locale/template.txt b/data/games/garage/mods/game_commands/locale/template.txt new file mode 100644 index 0000000..903f160 --- /dev/null +++ b/data/games/garage/mods/game_commands/locale/template.txt @@ -0,0 +1,4 @@ +# textdomain: game_commands +Kill yourself to respawn= +No static_spawnpoint defined= +You need to be online to be killed!= diff --git a/data/games/garage/mods/game_commands/mod.conf b/data/games/garage/mods/game_commands/mod.conf new file mode 100644 index 0000000..5571ff5 --- /dev/null +++ b/data/games/garage/mods/game_commands/mod.conf @@ -0,0 +1,2 @@ +name = game_commands +description = Minetest Game mod: game_commands diff --git a/data/games/garage/mods/give_initial_stuff/README.txt b/data/games/garage/mods/give_initial_stuff/README.txt new file mode 100644 index 0000000..b10c360 --- /dev/null +++ b/data/games/garage/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 Game developers and contributors (MIT) diff --git a/data/games/garage/mods/give_initial_stuff/init.lua b/data/games/garage/mods/give_initial_stuff/init.lua index 4b31b52..74421dc 100644 --- a/data/games/garage/mods/give_initial_stuff/init.lua +++ b/data/games/garage/mods/give_initial_stuff/init.lua @@ -1,37 +1,46 @@ -local give_if_not_gotten_already = function(inv, list, item) - if not inv:contains_item(list, item) then - inv:add_item(list, item) - end -end +-- gave_initial_stuff/init.lua -local give_initial_stuff = function(player) +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() - give_if_not_gotten_already(inv, "main", "basetools:pick_mese") - give_if_not_gotten_already(inv, "main", "basetools:axe_steel") - give_if_not_gotten_already(inv, "main", "basetools:shovel_steel") - give_if_not_gotten_already(inv, "main", "bucket:bucket") - give_if_not_gotten_already(inv, "main", "testnodes:light14") - give_if_not_gotten_already(inv, "main", "chest_of_everything:bag") - core.log("action", "[give_initial_stuff] Giving initial stuff to "..player:get_player_name()) + for _, stack in ipairs(give_initial_stuff.items) do + inv:add_item("main", stack) + end end -core.register_on_newplayer(function(player) - if core.settings:get_bool("give_initial_stuff", true) then - give_initial_stuff(player) +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) +end -core.register_chatcommand("stuff", { - params = "", - privs = { give = true }, - description = "Give yourself initial items", - func = function(name, param) - local player = core.get_player_by_name(name) - if not player or not player:is_player() then - return false, "No player." - end - give_initial_stuff(player) - return true - 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/data/games/garage/mods/give_initial_stuff/license.txt b/data/games/garage/mods/give_initial_stuff/license.txt new file mode 100644 index 0000000..45dba3f --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/give_initial_stuff/mod.conf b/data/games/garage/mods/give_initial_stuff/mod.conf index 1ba49f5..51d31ae 100644 --- a/data/games/garage/mods/give_initial_stuff/mod.conf +++ b/data/games/garage/mods/give_initial_stuff/mod.conf @@ -1,3 +1,3 @@ name = give_initial_stuff -description = Gives items to players on join -depends = basetools, bucket, chest_of_everything, testnodes +description = Minetest Game mod: give_initial_stuff +depends = default diff --git a/data/games/garage/mods/gltf/LICENSE.md b/data/games/garage/mods/gltf/LICENSE.md deleted file mode 100644 index 6c3828a..0000000 --- a/data/games/garage/mods/gltf/LICENSE.md +++ /dev/null @@ -1,14 +0,0 @@ -The glTF test models (and corresponding textures) in this mod are all licensed freely: - -* Spider (`gltf_spider.gltf`, `gltf_spider.png`): - * By [archfan7411](https://github.com/archfan7411) - * Licensed under CC0, public domain "wherever public domain carries fewer rights or legal protections" -* Frog (`gltf_frog.gltf`, `gltf_frog.png`): - * By [Susybaka1234](https://sketchfab.com/3d-models/african-clawed-frog-v2-c81152c93948480c931c280d18957358) - * Licensed under CC-BY 4.0 -* Snow Man (`gltf_snow_man.gltf`, `gltf_snow_man.png`): - * By [jordan4ibanez](https://github.com/jordan4ibanez) - * Licensed under CC0 -* Minimal triangle, triangle without indices (`gltf_minimal_triangle.gltf`, `gltf_triangle_without_indices.gltf`) - * From [the glTF sample model collection](https://github.com/KhronosGroup/glTF-Sample-Models) - * Licensed under CC0 / public domain diff --git a/data/games/garage/mods/gltf/init.lua b/data/games/garage/mods/gltf/init.lua deleted file mode 100644 index fd4d13b..0000000 --- a/data/games/garage/mods/gltf/init.lua +++ /dev/null @@ -1,95 +0,0 @@ -local function register_entity(name, textures, backface_culling) - core.register_entity("gltf:" .. name, { - initial_properties = { - visual = "mesh", - mesh = "gltf_" .. name .. ".gltf", - textures = textures, - backface_culling = backface_culling, - }, - }) -end - --- These do not have texture coordinates; they simple render as black surfaces. -register_entity("minimal_triangle", {}, false) -register_entity("triangle_with_vertex_stride", {}, false) -register_entity("triangle_without_indices", {}, false) -do - local cube_textures = {"gltf_cube.png"} - register_entity("blender_cube", cube_textures) - register_entity("blender_cube_scaled", cube_textures) - register_entity("blender_cube_matrix_transform", cube_textures) - core.register_entity("gltf:blender_cube_glb", { - initial_properties = { - visual = "mesh", - mesh = "gltf_blender_cube.glb", - textures = cube_textures, - backface_culling = true, - }, - }) -end - -register_entity("snow_man", {"gltf_snow_man.png"}) -register_entity("spider", {"gltf_spider.png"}) - -core.register_entity("gltf:spider_animated", { - initial_properties = { - visual = "mesh", - mesh = "gltf_spider_animated.gltf", - textures = {"gltf_spider.png"}, - }, - on_activate = function(self) - self.object:set_animation({x = 0, y = 140}, 1) - end -}) - -core.register_entity("gltf:simple_skin", { - initial_properties = { - visual = "mesh", - visual_size = vector.new(5, 5, 5), - mesh = "gltf_simple_skin.gltf", - textures = {}, - backface_culling = false - }, - on_activate = function(self) - self.object:set_animation({x = 0, y = 5.5}, 1) - end -}) - --- The claws rendering incorrectly from one side is expected behavior: --- They use an unsupported double-sided material. -core.register_entity("gltf:frog", { - initial_properties = { - visual = "mesh", - mesh = "gltf_frog.gltf", - textures = {"gltf_frog.png"}, - backface_culling = false - }, - on_activate = function(self) - self.object:set_animation({x = 0, y = 0.75}, 1) - end -}) - - -core.register_node("gltf:frog", { - description = "glTF frog, but it's a node", - tiles = {{name = "gltf_frog.png", backface_culling = false}}, - drawtype = "mesh", - mesh = "gltf_frog.gltf", -}) - -core.register_chatcommand("show_model", { - params = " [textures]", - description = "Show a model (defaults to gltf models, for example '/show_model frog').", - func = function(name, param) - local model, textures = param:match"^(.-)%s+(.+)$" - if not model then - model = "gltf_" .. param .. ".gltf" - textures = "gltf_" .. param .. ".png" - end - core.show_formspec(name, "gltf:model", table.concat{ - "formspec_version[7]", - "size[10,10]", - "model[0,0;10,10;model;", model, ";", textures, ";0,0;true;true;0,0;0]", - }) - end, -}) diff --git a/data/games/garage/mods/gltf/invalid/invalid_bufferview_bounds.gltf b/data/games/garage/mods/gltf/invalid/invalid_bufferview_bounds.gltf deleted file mode 100644 index 2182861..0000000 --- a/data/games/garage/mods/gltf/invalid/invalid_bufferview_bounds.gltf +++ /dev/null @@ -1 +0,0 @@ -{"scene":0,"scenes":[{"nodes":[0]}],"nodes":[{"mesh":0}],"meshes":[{"primitives":[{"attributes":{"POSITION":0}}]}],"buffers":[{"uri":"data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAA","byteLength":36}],"bufferViews":[{"buffer":0,"byteOffset":1,"byteLength":36,"target":34962}],"accessors":[{"bufferView":0,"byteOffset":0,"componentType":5126,"count":3,"type":"VEC3","max":[1,1,0],"min":[0,0,0]}],"asset":{"version":"2.0"}} diff --git a/data/games/garage/mods/gltf/invalid/json_missing_brace.gltf b/data/games/garage/mods/gltf/invalid/json_missing_brace.gltf deleted file mode 100644 index 98232c6..0000000 --- a/data/games/garage/mods/gltf/invalid/json_missing_brace.gltf +++ /dev/null @@ -1 +0,0 @@ -{ diff --git a/data/games/garage/mods/gltf/mod.conf b/data/games/garage/mods/gltf/mod.conf deleted file mode 100644 index 3ec50d2..0000000 --- a/data/games/garage/mods/gltf/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = gltf -description = Hosts gltf test models, both for the C++ unit tests and for in-game viewing diff --git a/data/games/garage/mods/gltf/models/gltf_blender_cube.glb b/data/games/garage/mods/gltf/models/gltf_blender_cube.glb deleted file mode 100644 index b1894fc4f276ed133ad27096109b05165001915c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1752 zcmb7DZEq4m5FY!c)%sGk`t`D(Pdtv-@(ljBBJz$}iz#X|e(1wus&+upX zbDUXs?RrwE3%B$3JTp6UdxK%?-39>s+yRI;0X{UH`i!|z#A8;Pu>tpa=*B_FO6=oB z82CYC43J_R4Y}Xrp;3M57}IRZPUQ;BWK$kSUf?6xPFZYjvZ#v*Sjm!F#7gZM^W72p zSX0DI<_A4a0qbmjc4f`jh({NKD)E&`hhvSX>kg6LPFtq<3l?ETl0VrAowBSfGRC1d z@?vi)0d5?JUS|@MIb)xlX0=sy>Y`HJX?!ZzSSf9?*70e@aT;&GSgd4YC!XK)xhNVjoh$yAwe$Wu@9Y$H%1LX4nXU=n6>ai8SnAiJF3?4OZ>i&&+9ch#TDi{eWB&J zPFFc7zD!p>lB;wTUnLjvJSq>_NnP0_m+1=}lD24G`cfR-M>_fcl1bhYJDFSXB~Inj zeWCzv;taB$@(G;uDXx+VldLE1!m>PxGw6AKypp|=#D{EJ2Ie6gNm}P*%lI4e5e_Bc z$u{uOM9fZOmG_Hf^WTks6-!8Y#O@CbeZCD@ea diff --git a/data/games/garage/mods/gltf/models/gltf_blender_cube.gltf b/data/games/garage/mods/gltf/models/gltf_blender_cube.gltf deleted file mode 100644 index 041b4a1..0000000 --- a/data/games/garage/mods/gltf/models/gltf_blender_cube.gltf +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"generator":"Khronos glTF Blender I/O v1.7.33","version":"2.0"},"scene":0,"scenes":[{"name":"Scene","nodes":[0]}],"nodes":[{"mesh":0,"name":"Cube","scale":[10,10,10]}],"meshes":[{"name":"Cube.004","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3}]}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"type":"SCALAR"}],"bufferViews":[{"buffer":0,"byteLength":288,"byteOffset":0},{"buffer":0,"byteLength":288,"byteOffset":288},{"buffer":0,"byteLength":192,"byteOffset":576},{"buffer":0,"byteLength":72,"byteOffset":768}],"buffers":[{"byteLength":840,"uri":"data:application/octet-stream;base64,AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAADAPgAAgD8AAAA+AACAPgAAwD4AAAAAAAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AAADAAkAAAAJAAYACAAKABUACAAVABMAFAAXABEAFAARAA4ADQAPAAQADQAEAAIABwASAAwABwAMAAEAFgALAAUAFgAFABAA"}]} diff --git a/data/games/garage/mods/gltf/models/gltf_blender_cube_matrix_transform.gltf b/data/games/garage/mods/gltf/models/gltf_blender_cube_matrix_transform.gltf deleted file mode 100644 index 50235ce..0000000 --- a/data/games/garage/mods/gltf/models/gltf_blender_cube_matrix_transform.gltf +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"generator":"Khronos glTF Blender I/O v1.7.33","version":"2.0"},"scene":0,"scenes":[{"name":"Scene","nodes":[0]}],"nodes":[{"mesh":0,"name":"Cube","matrix":[1,0,0,0,0,2,0,0,0,0,3,0,4,5,6,1]}],"meshes":[{"name":"Cube.004","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3}]}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"type":"SCALAR"}],"bufferViews":[{"buffer":0,"byteLength":288,"byteOffset":0},{"buffer":0,"byteLength":288,"byteOffset":288},{"buffer":0,"byteLength":192,"byteOffset":576},{"buffer":0,"byteLength":72,"byteOffset":768}],"buffers":[{"byteLength":840,"uri":"data:application/octet-stream;base64,AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAADAPgAAgD8AAAA+AACAPgAAwD4AAAAAAAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AAADAAkAAAAJAAYACAAKABUACAAVABMAFAAXABEAFAARAA4ADQAPAAQADQAEAAIABwASAAwABwAMAAEAFgALAAUAFgAFABAA"}]} diff --git a/data/games/garage/mods/gltf/models/gltf_blender_cube_scaled.gltf b/data/games/garage/mods/gltf/models/gltf_blender_cube_scaled.gltf deleted file mode 100644 index 3b626b3..0000000 --- a/data/games/garage/mods/gltf/models/gltf_blender_cube_scaled.gltf +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"generator":"Khronos glTF Blender I/O v1.7.33","version":"2.0"},"scene":0,"scenes":[{"name":"Scene","nodes":[0]}],"nodes":[{"mesh":0,"name":"Cube","scale":[150,1,21.5]}],"meshes":[{"name":"Cube.004","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3}]}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"type":"SCALAR"}],"bufferViews":[{"buffer":0,"byteLength":288,"byteOffset":0},{"buffer":0,"byteLength":288,"byteOffset":288},{"buffer":0,"byteLength":192,"byteOffset":576},{"buffer":0,"byteLength":72,"byteOffset":768}],"buffers":[{"byteLength":840,"uri":"data:application/octet-stream;base64,AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAADAPgAAgD8AAAA+AACAPgAAwD4AAAAAAAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AAADAAkAAAAJAAYACAAKABUACAAVABMAFAAXABEAFAARAA4ADQAPAAQADQAEAAIABwASAAwABwAMAAEAFgALAAUAFgAFABAA"}]} diff --git a/data/games/garage/mods/gltf/models/gltf_frog.gltf b/data/games/garage/mods/gltf/models/gltf_frog.gltf deleted file mode 100644 index a41e9de..0000000 --- a/data/games/garage/mods/gltf/models/gltf_frog.gltf +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Blockbench 4.9.4 glTF exporter"},"scenes":[{"nodes":[20],"name":"blockbench_export"}],"scene":0,"nodes":[{"name":"cube","mesh":0},{"name":"cube","mesh":1},{"name":"cube","mesh":2},{"name":"body","children":[0,1,2]},{"translation":[0,0,-0.0625],"name":"cube","mesh":3},{"translation":[0.03125,0,-0.3125],"name":"cube","mesh":4},{"rotation":[0,-0.19509032201612825,0,0.9807852804032304],"translation":[0.01812248876854733,-0.0625,-0.25194388507103505],"name":"cube","mesh":5},{"translation":[0.0625,0,0.3125],"name":"leftleg","children":[4,5,6]},{"translation":[0.0625,0,-0.3125],"name":"cube","mesh":6},{"translation":[-0.03125,0,-0.3125],"name":"cube","mesh":7},{"rotation":[0,0.19509032201612825,0,0.9807852804032304],"translation":[-0.01812248876854733,-0.0625,-0.25194388507103505],"name":"cube","mesh":8},{"translation":[-0.0625,0,0.3125],"name":"rightleg","children":[8,9,10]},{"translation":[-0.125,-0.0625,0.125],"name":"cube","mesh":9},{"rotation":[0,0.5372996083468239,0,0.8433914458128857],"translation":[0.10431178959951112,-0.0625,0.2349474087973531],"name":"cube","mesh":10},{"rotation":[0,0.5372996083468239,0,0.8433914458128857],"translation":[0.10431178959951112,-0.0625,0.2349474087973531],"name":"cube","mesh":11},{"translation":[0.125,0.0625,-0.125],"name":"leftarm","children":[12,13,14]},{"translation":[0.125,-0.0625,0.125],"name":"cube","mesh":12},{"rotation":[0,-0.5372996083468239,0,0.8433914458128857],"translation":[-0.10431178959951112,-0.0625,0.2349474087973531],"name":"cube","mesh":13},{"rotation":[0,-0.5372996083468239,0,0.8433914458128857],"translation":[-0.10431178959951112,-0.0625,0.2349474087973531],"name":"cube","mesh":14},{"translation":[-0.125,0.0625,-0.125],"name":"rightarm","children":[16,17,18]},{"children":[3,7,11,15,19]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":840,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1128,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1416,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":1608,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":1680,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1968,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2256,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":2448,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":2520,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2808,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3096,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":3288,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":3360,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3648,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3936,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":4128,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":4200,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4488,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4776,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":4968,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":5040,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":5328,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":5616,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":5808,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":5880,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":6168,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":6456,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":6648,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":6720,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7008,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7296,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":7488,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":7560,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7848,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8136,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":8328,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":8400,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8688,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8976,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":9168,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":9240,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":9528,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":9816,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":10008,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":10080,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":10368,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":10656,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":10848,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":10920,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":11208,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":11496,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":11688,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":11760,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":12048,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":12336,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":12528,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":12600,"byteLength":12},{"buffer":0,"byteOffset":12612,"byteLength":48},{"buffer":0,"byteOffset":12660,"byteLength":12},{"buffer":0,"byteOffset":12672,"byteLength":48},{"buffer":0,"byteOffset":12720,"byteLength":12},{"buffer":0,"byteOffset":12732,"byteLength":48},{"buffer":0,"byteOffset":12780,"byteLength":12},{"buffer":0,"byteOffset":12792,"byteLength":48},{"buffer":0,"byteOffset":12840,"byteLength":12},{"buffer":0,"byteOffset":12852,"byteLength":48},{"buffer":0,"byteOffset":12900,"byteLength":12},{"buffer":0,"byteOffset":12912,"byteLength":48},{"buffer":0,"byteOffset":12960,"byteLength":12},{"buffer":0,"byteOffset":12972,"byteLength":48},{"buffer":0,"byteOffset":13020,"byteLength":12},{"buffer":0,"byteOffset":13032,"byteLength":48},{"buffer":0,"byteOffset":13080,"byteLength":12},{"buffer":0,"byteOffset":13092,"byteLength":48},{"buffer":0,"byteOffset":13140,"byteLength":4},{"buffer":0,"byteOffset":13144,"byteLength":16},{"buffer":0,"byteOffset":13160,"byteLength":4},{"buffer":0,"byteOffset":13164,"byteLength":16}],"buffers":[{"byteLength":13180,"uri":"data:application/octet-stream;base64,AAAgPgAAAD4AAIA+AAAgPgAAAD4AAIC9AAAgPgAAAAAAAIA+AAAgPgAAAAAAAIC9AAAgvgAAAD4AAIC9AAAgvgAAAD4AAIA+AAAgvgAAAAAAAIC9AAAgvgAAAAAAAIA+AAAgvgAAAD4AAIC9AAAgPgAAAD4AAIC9AAAgvgAAAD4AAIA+AAAgPgAAAD4AAIA+AAAgvgAAAAAAAIA+AAAgPgAAAAAAAIA+AAAgvgAAAAAAAIC9AAAgPgAAAAAAAIC9AAAgvgAAAD4AAIA+AAAgPgAAAD4AAIA+AAAgvgAAAAAAAIA+AAAgPgAAAAAAAIA+AAAgPgAAAD4AAIC9AAAgvgAAAD4AAIC9AAAgPgAAAAAAAIC9AAAgvgAAAAAAAIC9AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAOgCAID4AgB8+AIAgPgAAADoAgF8+AIAfPgCAXz4AQKA+AIAgPgDA7z4AgCA+AECgPgCAXz4AwO8+AIBfPgDAnz4AgB8+AIAgPgCAHz4AwJ8+AAAAOgCAID4AAAA6AMDvPgAAADoAQKA+AAAAOgDA7z4AgB8+AECgPgCAHz4AQPA+AIAgPgDgHz8AgCA+AEDwPgCAXz4A4B8/AIBfPgCAID4AgCA+AMCfPgCAID4AgCA+AIBfPgDAnz4AgF8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAAPgAAAD4AAIC9AAAAPgAAAD4AAKC+AAAAPgAAAAAAAIC9AAAAPgAAAAAAAKC+AAAAvgAAAD4AAKC+AAAAvgAAAD4AAIC9AAAAvgAAAAAAAKC+AAAAvgAAAAAAAIC9AAAAvgAAAD4AAKC+AAAAPgAAAD4AAKC+AAAAvgAAAD4AAIC9AAAAPgAAAD4AAIC9AAAAvgAAAAAAAIC9AAAAPgAAAAAAAIC9AAAAvgAAAAAAAKC+AAAAPgAAAAAAAKC+AAAAvgAAAD4AAIC9AAAAPgAAAD4AAIC9AAAAvgAAAAAAAIC9AAAAPgAAAAAAAIC9AAAAPgAAAD4AAKC+AAAAvgAAAD4AAKC+AAAAPgAAAAAAAKC+AAAAvgAAAAAAAKC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAOgBAsD4AAP89AECwPgAAADoAwM8+AAD/PQDAzz4AQIA+AECwPgDAvz4AQLA+AECAPgDAzz4AwL8+AMDPPgCAfz4AwK8+AIAAPgDArz4AgH8+AIBgPgCAAD4AgGA+AMC/PgCAYD4AQIA+AIBgPgDAvz4AwK8+AECAPgDArz4AQMA+AECwPgDA/z4AQLA+AEDAPgDAzz4AwP8+AMDPPgCAAD4AQLA+AIB/PgBAsD4AgAA+AMDPPgCAfz4AwM8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAAPQAAAD4AAKA+AAAAPQAAAD4AAIA+AAAAPQAAAAAAAKA+AAAAPQAAAAAAAIA+AAAAvQAAAD4AAIA+AAAAvQAAAD4AAKA+AAAAvQAAAAAAAIA+AAAAvQAAAAAAAKA+AAAAvQAAAD4AAIA+AAAAPQAAAD4AAIA+AAAAvQAAAD4AAKA+AAAAPQAAAD4AAKA+AAAAvQAAAAAAAKA+AAAAPQAAAAAAAKA+AAAAvQAAAAAAAIA+AAAAPQAAAAAAAIA+AAAAvQAAAD4AAKA+AAAAPQAAAD4AAKA+AAAAvQAAAAAAAKA+AAAAPQAAAAAAAKA+AAAAPQAAAD4AAIA+AAAAvQAAAD4AAIA+AAAAPQAAAAAAAIA+AAAAvQAAAAAAAIA+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AEDwPgAAAj0AwP8+AAACPQBA8D4AAL89AMD/PgAAvz0AIAg/AAACPQDgDz8AAAI9ACAIPwAAvz0A4A8/AAC/PQDgBz8AAPw8ACAAPwAA/DwA4Ac/AAAAOgAgAD8AAAA6AOAPPwAAADoAIAg/AAAAOgDgDz8AAPw8ACAIPwAA/DwAIBA/AAACPQDgFz8AAAI9ACAQPwAAvz0A4Bc/AAC/PQAgAD8AAAI9AOAHPwAAAj0AIAA/AAC/PQDgBz8AAL89AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAABgPgAAAD4AAEA+AABgPgAAAD4AAAAAAABgPgAAAAAAAEA+AABgPgAAAAAAAAAAAAAAvQAAAD4AAAAAAAAAvQAAAD4AAEA+AAAAvQAAAAAAAAAAAAAAvQAAAAAAAEA+AAAAvQAAAD4AAAAAAABgPgAAAD4AAAAAAAAAvQAAAD4AAEA+AABgPgAAAD4AAEA+AAAAvQAAAAAAAEA+AABgPgAAAAAAAEA+AAAAvQAAAAAAAAAAAABgPgAAAAAAAAAAAAAAvQAAAD4AAEA+AABgPgAAAD4AAEA+AAAAvQAAAAAAAEA+AABgPgAAAAAAAEA+AABgPgAAAD4AAAAAAAAAvQAAAD4AAAAAAABgPgAAAAAAAAAAAAAAvQAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AEDQPgBA0D4AwP8+AEDQPgBA0D4AwO8+AMD/PgDA7z4AICA/AEDQPgDgNz8AQNA+ACAgPwDA7z4A4Dc/AMDvPgDgHz8AwM8+ACAAPwDAzz4A4B8/AECgPgAgAD8AQKA+AOA/PwBAoD4AICA/AECgPgDgPz8AwM8+ACAgPwDAzz4AIDg/AEDQPgDgVz8AQNA+ACA4PwDA7z4A4Fc/AMDvPgAgAD8AQNA+AOAfPwBA0D4AIAA/AMDvPgDgHz8AwO8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAABgPgAAwD0AABA/AABgPgAAwD0AAKA+AABgPgAAAD0AABA/AABgPgAAAD0AAKA+AADAPQAAwD0AAKA+AADAPQAAwD0AABA/AADAPQAAAD0AAKA+AADAPQAAAD0AABA/AADAPQAAwD0AAKA+AABgPgAAwD0AAKA+AADAPQAAwD0AABA/AABgPgAAwD0AABA/AADAPQAAAD0AABA/AABgPgAAAD0AABA/AADAPQAAAD0AAKA+AABgPgAAAD0AAKA+AADAPQAAwD0AABA/AABgPgAAwD0AABA/AADAPQAAAD0AABA/AABgPgAAAD0AABA/AABgPgAAwD0AAKA+AADAPQAAwD0AAKA+AABgPgAAAD0AAKA+AADAPQAAAD0AAKA+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AECgPgAgGD8AwN8+ACAYPwBAoD4A4B8/AMDfPgDgHz8AIAA/ACAYPwDgHz8AIBg/ACAAPwDgHz8A4B8/AOAfPwDA/z4A4Bc/AEDgPgDgFz8AwP8+AEDwPgBA4D4AQPA+AOAPPwBA8D4AIAA/AEDwPgDgDz8A4Bc/ACAAPwDgFz8AICA/ACAYPwDgLz8AIBg/ACAgPwDgHz8A4C8/AOAfPwBA4D4AIBg/AMD/PgAgGD8AQOA+AOAfPwDA/z4A4B8/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAMQjQPgAAQD4AAMA+MQjQPgAAQD4AAIA+MQjQPgAAgD0AAMA+MQjQPgAAgD0AAIA+AADQPgAAQD4AAIA+AADQPgAAQD4AAMA+AADQPgAAgD0AAIA+AADQPgAAgD0AAMA+AADQPgAAQD4AAIA+MQjQPgAAQD4AAIA+AADQPgAAQD4AAMA+MQjQPgAAQD4AAMA+AADQPgAAgD0AAMA+MQjQPgAAgD0AAMA+AADQPgAAgD0AAIA+MQjQPgAAgD0AAIA+AADQPgAAQD4AAMA+MQjQPgAAQD4AAMA+AADQPgAAgD0AAMA+MQjQPgAAgD0AAMA+MQjQPgAAQD4AAIA+AADQPgAAQD4AAIA+MQjQPgAAgD0AAIA+AADQPgAAgD0AAIA+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAOgCAYD4AAH49AIBgPgAAADoAwI8+AAB+PQDAjz4AAIE9AIBgPgAA/z0AgGA+AACBPQDAjz4AAP89AMCPPgAAgT0AgF8+AAB+PQCAXz4AAIE9AIAgPgAAfj0AgCA+AACBPQCAID4AAH49AIAgPgAAgT0AgF8+AAB+PQCAXz4AgAA+AIBgPgAA/z0AgGA+AIAAPgDAjz4AAP89AMCPPgAAgT0AgGA+AAB+PQCAYD4AAIE9AMCPPgAAfj0AwI8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAAvQAAAD4AAOA+AAAAvQAAAD4AAIA+AAAAvQAAAAAAAOA+AAAAvQAAAAAAAIA+AACQvgAAAD4AAIA+AACQvgAAAD4AAOA+AACQvgAAAAAAAIA+AACQvgAAAAAAAOA+AACQvgAAAD4AAIA+AAAAvQAAAD4AAIA+AACQvgAAAD4AAOA+AAAAvQAAAD4AAOA+AACQvgAAAAAAAOA+AAAAvQAAAAAAAOA+AACQvgAAAAAAAIA+AAAAvQAAAAAAAIA+AACQvgAAAD4AAOA+AAAAvQAAAD4AAOA+AACQvgAAAAAAAOA+AAAAvQAAAAAAAOA+AAAAvQAAAD4AAIA+AACQvgAAAD4AAIA+AAAAvQAAAAAAAIA+AACQvgAAAAAAAIA+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAOgAgAD8AAL89ACAAPwAAADoA4A8/AAC/PQDgDz8AgGA+ACAAPwDAnz4AIAA/AIBgPgDgDz8AwJ8+AOAPPwCAXz4AwP8+AADBPQDA/z4AgF8+AEDQPgAAwT0AQNA+AMCvPgBA0D4AgGA+AEDQPgDArz4AwP8+AIBgPgDA/z4AQKA+ACAAPwDA3z4AIAA/AECgPgDgDz8AwN8+AOAPPwAAwT0AIAA/AIBfPgAgAD8AAME9AOAPPwCAXz4A4A8/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAADAvQAAwD0AABA/AADAvQAAwD0AAKA+AADAvQAAAD0AABA/AADAvQAAAD0AAKA+AABgvgAAwD0AAKA+AABgvgAAwD0AABA/AABgvgAAAD0AAKA+AABgvgAAAD0AABA/AABgvgAAwD0AAKA+AADAvQAAwD0AAKA+AABgvgAAwD0AABA/AADAvQAAwD0AABA/AABgvgAAAD0AABA/AADAvQAAAD0AABA/AABgvgAAAD0AAKA+AADAvQAAAD0AAKA+AABgvgAAwD0AABA/AADAvQAAwD0AABA/AABgvgAAAD0AABA/AADAvQAAAD0AABA/AADAvQAAwD0AAKA+AABgvgAAwD0AAKA+AADAvQAAAD0AAKA+AABgvgAAAD0AAKA+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AEDwPgCAAD4A4Bc/AIAAPgBA8D4AgB8+AOAXPwCAHz4AICg/AIAAPgDgRz8AgAA+ACAoPwCAHz4A4Ec/AIAfPgDgJz8AAP89ACAYPwAA/z0A4Cc/AAAAOgAgGD8AAAA6AOA3PwAAADoAICg/AAAAOgDgNz8AAP89ACAoPwAA/z0AIEg/AIAAPgDgVz8AgAA+ACBIPwCAHz4A4Fc/AIAfPgAgGD8AgAA+AOAnPwCAAD4AIBg/AIAfPgDgJz8AgB8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAz/fPvgAAQD4AAMA+z/fPvgAAQD4AAIA+z/fPvgAAgD0AAMA+z/fPvgAAgD0AAIA+AADQvgAAQD4AAIA+AADQvgAAQD4AAMA+AADQvgAAgD0AAIA+AADQvgAAgD0AAMA+AADQvgAAQD4AAIA+z/fPvgAAQD4AAIA+AADQvgAAQD4AAMA+z/fPvgAAQD4AAMA+AADQvgAAgD0AAMA+z/fPvgAAgD0AAMA+AADQvgAAgD0AAIA+z/fPvgAAgD0AAIA+AADQvgAAQD4AAMA+z/fPvgAAQD4AAMA+AADQvgAAgD0AAMA+z/fPvgAAgD0AAMA+z/fPvgAAQD4AAIA+AADQvgAAQD4AAIA+z/fPvgAAgD0AAIA+AADQvgAAgD0AAIA+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAOgAAgT0AAH49AACBPQAAADoAAP89AAB+PQAA/z0AAIE9AACBPQAA/z0AAIE9AACBPQAA/z0AAP89AAD/PQAAgT0AAH49AAB+PQAAfj0AAIE9AAAAOgAAfj0AAAA6AACBPQAAADoAAH49AAAAOgAAgT0AAH49AAB+PQAAfj0AgAA+AACBPQAA/z0AAIE9AIAAPgAA/z0AAP89AAD/PQAAgT0AAIE9AAB+PQAAgT0AAIE9AAD/PQAAfj0AAP89AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAACAPgAAwD0AAMC9AACAPgAAwD0AACC+AACAPgAAAD0AAMC9AACAPgAAAD0AACC+AAAAPgAAwD0AACC+AAAAPgAAwD0AAMC9AAAAPgAAAD0AACC+AAAAPgAAAD0AAMC9AAAAPgAAwD0AACC+AACAPgAAwD0AACC+AAAAPgAAwD0AAMC9AACAPgAAwD0AAMC9AAAAPgAAAD0AAMC9AACAPgAAAD0AAMC9AAAAPgAAAD0AACC+AACAPgAAAD0AACC+AAAAPgAAwD0AAMC9AACAPgAAwD0AAMC9AAAAPgAAAD0AAMC9AACAPgAAAD0AAMC9AACAPgAAwD0AACC+AAAAPgAAwD0AACC+AACAPgAAAD0AACC+AAAAPgAAAD0AACC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ACAIPwBAkD4A4A8/AECQPgAgCD8AwJ8+AOAPPwDAnz4AICA/AECQPgDgJz8AQJA+ACAgPwDAnz4A4Cc/AMCfPgDgHz8AwI8+ACAQPwDAjz4A4B8/AECAPgAgED8AQIA+AOAvPwBAgD4AICA/AECAPgDgLz8AwI8+ACAgPwDAjz4AICg/AECQPgDgNz8AQJA+ACAoPwDAnz4A4Dc/AMCfPgAgED8AQJA+AOAfPwBAkD4AIBA/AMCfPgDgHz8AwJ8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAACQPgAAwD0AAMC9AACQPgAAwD0AACC+AACQPgAAAD0AAMC9AACQPgAAAD0AACC+AABgPgAAwD0AACC+AABgPgAAwD0AAMC9AABgPgAAAD0AACC+AABgPgAAAD0AAMC9AABgPgAAwD0AACC+AACQPgAAwD0AACC+AABgPgAAwD0AAMC9AACQPgAAwD0AAMC9AABgPgAAAD0AAMC9AACQPgAAAD0AAMC9AABgPgAAAD0AACC+AACQPgAAAD0AACC+AABgPgAAwD0AAMC9AACQPgAAwD0AAMC9AABgPgAAAD0AAMC9AACQPgAAAD0AAMC9AACQPgAAwD0AACC+AABgPgAAwD0AACC+AACQPgAAAD0AACC+AABgPgAAAD0AACC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAOgBAoD4AAPw8AECgPgAAADoAwK8+AAD8PADArz4AAIE9AECgPgAAvz0AQKA+AACBPQDArz4AAL89AMCvPgAAfj0AwJ8+AAACPQDAnz4AAH49AECQPgAAAj0AQJA+AAC/PQBAkD4AAIE9AECQPgAAvz0AwJ8+AACBPQDAnz4AAME9AECgPgAA/z0AQKA+AADBPQDArz4AAP89AMCvPgAAAj0AQKA+AAB+PQBAoD4AAAI9AMCvPgAAfj0AwK8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAACwPsUggD0AAMC9AACwPsUggD0AACC+AACwPgAAgD0AAMC9AACwPgAAgD0AACC+AACQPsUggD0AACC+AACQPsUggD0AAMC9AACQPgAAgD0AACC+AACQPgAAgD0AAMC9AACQPsUggD0AACC+AACwPsUggD0AACC+AACQPsUggD0AAMC9AACwPsUggD0AAMC9AACQPgAAgD0AAMC9AACwPgAAgD0AAMC9AACQPgAAgD0AACC+AACwPgAAgD0AACC+AACQPsUggD0AAMC9AACwPsUggD0AAMC9AACQPgAAgD0AAMC9AACwPgAAgD0AAMC9AACwPsUggD0AACC+AACQPsUggD0AACC+AACwPgAAgD0AACC+AACQPgAAgD0AACC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAOgCAID4AAPw8AIAgPgAAADoAgB8+AAD8PACAHz4AAIE9AIAgPgAAvz0AgCA+AACBPQCAHz4AAL89AIAfPgAAfj0AgB8+AAACPQCAHz4AAH49AIAAPgAAAj0AgAA+AAC/PQCAAD4AAIE9AIAAPgAAvz0AgB8+AACBPQCAHz4AAME9AIAgPgAA/z0AgCA+AADBPQCAHz4AAP89AIAfPgAAAj0AgCA+AAB+PQCAID4AAAI9AIAfPgAAfj0AgB8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAAvgAAwD0AAMC9AAAAvgAAwD0AACC+AAAAvgAAAD0AAMC9AAAAvgAAAD0AACC+AACAvgAAwD0AACC+AACAvgAAwD0AAMC9AACAvgAAAD0AACC+AACAvgAAAD0AAMC9AACAvgAAwD0AACC+AAAAvgAAwD0AACC+AACAvgAAwD0AAMC9AAAAvgAAwD0AAMC9AACAvgAAAD0AAMC9AAAAvgAAAD0AAMC9AACAvgAAAD0AACC+AAAAvgAAAD0AACC+AACAvgAAwD0AAMC9AAAAvgAAwD0AAMC9AACAvgAAAD0AAMC9AAAAvgAAAD0AAMC9AAAAvgAAwD0AACC+AACAvgAAwD0AACC+AAAAvgAAAD0AACC+AACAvgAAAD0AACC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AEDAPgBAgD4AwM8+AECAPgBAwD4AwI8+AMDPPgDAjz4AQPA+AECAPgDA/z4AQIA+AEDwPgDAjz4AwP8+AMCPPgDA7z4AgH8+AEDQPgCAfz4AwO8+AIBgPgBA0D4AgGA+AOAHPwCAYD4AQPA+AIBgPgDgBz8AgH8+AEDwPgCAfz4AIAA/AECAPgDgDz8AQIA+ACAAPwDAjz4A4A8/AMCPPgBA0D4AQIA+AMDvPgBAgD4AQNA+AMCPPgDA7z4AwI8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAABgvgAAwD0AAMC9AABgvgAAwD0AACC+AABgvgAAAD0AAMC9AABgvgAAAD0AACC+AACQvgAAwD0AACC+AACQvgAAwD0AAMC9AACQvgAAAD0AACC+AACQvgAAAD0AAMC9AACQvgAAwD0AACC+AABgvgAAwD0AACC+AACQvgAAwD0AAMC9AABgvgAAwD0AAMC9AACQvgAAAD0AAMC9AABgvgAAAD0AAMC9AACQvgAAAD0AACC+AABgvgAAAD0AACC+AACQvgAAwD0AAMC9AABgvgAAwD0AAMC9AACQvgAAAD0AAMC9AABgvgAAAD0AAMC9AABgvgAAwD0AACC+AACQvgAAwD0AACC+AABgvgAAAD0AACC+AACQvgAAAD0AACC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAOgAAAj0AAPw8AAACPQAAADoAAH49AAD8PAAAfj0AAIE9AAACPQAAvz0AAAI9AACBPQAAfj0AAL89AAB+PQAAfj0AAPw8AAACPQAA/DwAAH49AAAAOgAAAj0AAAA6AAC/PQAAADoAAIE9AAAAOgAAvz0AAPw8AACBPQAA/DwAAME9AAACPQAA/z0AAAI9AADBPQAAfj0AAP89AAB+PQAAAj0AAAI9AAB+PQAAAj0AAAI9AAB+PQAAfj0AAH49AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAACQvsUggD0AAMC9AACQvsUggD0AACC+AACQvgAAgD0AAMC9AACQvgAAgD0AACC+AACwvsUggD0AACC+AACwvsUggD0AAMC9AACwvgAAgD0AACC+AACwvgAAgD0AAMC9AACwvsUggD0AACC+AACQvsUggD0AACC+AACwvsUggD0AAMC9AACQvsUggD0AAMC9AACwvgAAgD0AAMC9AACQvgAAgD0AAMC9AACwvgAAgD0AACC+AACQvgAAgD0AACC+AACwvsUggD0AAMC9AACQvsUggD0AAMC9AACwvgAAgD0AAMC9AACQvgAAgD0AAMC9AACQvsUggD0AACC+AACwvsUggD0AACC+AACQvgAAgD0AACC+AACwvgAAgD0AACC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AACBPQAAAj0AAL89AAACPQAAgT0AAPw8AAC/PQAA/DwAgAA+AAACPQCAHz4AAAI9AIAAPgAA/DwAgB8+AAD8PAAA/z0AAPw8AADBPQAA/DwAAP89AAAAOgAAwT0AAAA6AIAfPgAAADoAgAA+AAAAOgCAHz4AAPw8AIAAPgAA/DwAgCA+AAACPQCAPz4AAAI9AIAgPgAA/DwAgD8+AAD8PAAAwT0AAAI9AAD/PQAAAj0AAME9AAD8PAAA/z0AAPw8AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAAAAAAwD4AAEA/AAAAAAAAAAAAAAAAAACAPxPyhT0AAAAAAAAAAK9zfz8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAwD4AAEA/AAAAAAAAAAAAAAAAAACAPwAAAADug4Q+AAAAAOpGdz8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAwD4AAEA/AAAAAAAAAAAAAAAAAACAPwAAAADug4S+AAAAAOpGdz8AAAAAIbWyvAAAAABn8H8/AAAAAAAAwD4AAEA/AAAAAAAAAAAAAAAAAACAPwAAAACoqAU+AAAAAFXPfT8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAwD4AAEA/AAAAAAAAAAAAAAAAAACAPwAAAACoqAW+AAAAAFXPfT8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAD+rqko/AAAAAAAAAAAAAAAAAACAPwAAAAAhtbI8AAAAAGfwfz8AAAAAx71QPAAAAACu+n8/AAAAAAAAAD+rqko/AAAAAAAAAAAAAAAAAACAPwAAAAAhtbK8AAAAAGfwfz8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAQD8AAMA/AAAAAAAAAAAAAAAAAACAPwAAAAC2frK9AAAAAJ4Gfz8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAQD8AAMA/AAAAAAAAAAAAAAAAAACAPwAAAAC2frI9AAAAAJ4Gfz8AAAAAAAAAAAAAAAAAAIA/AAAAAKioBb4AAAAAAAAAAFXPfT8AAIA+qKgFvgAAAAAAAAAAVc99Pw=="}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[0.15625,0.125,0.25],"min":[-0.15625,0,-0.0625],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"max":[0.62451171875,0.21826171875],"min":[0.00048828125,0.00048828125],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":24,"max":[0.125,0.125,-0.0625],"min":[-0.125,0,-0.3125],"type":"VEC3"},{"bufferView":5,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":6,"componentType":5126,"count":24,"max":[0.49951171875,0.40576171875],"min":[0.00048828125,0.21923828125],"type":"VEC2"},{"bufferView":7,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":8,"componentType":5126,"count":24,"max":[0.03125,0.125,0.3125],"min":[-0.03125,0,0.25],"type":"VEC3"},{"bufferView":9,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":10,"componentType":5126,"count":24,"max":[0.59326171875,0.09326171875],"min":[0.46923828125,0.00048828125],"type":"VEC2"},{"bufferView":11,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":12,"componentType":5126,"count":24,"max":[0.21875,0.125,0.1875],"min":[-0.03125,0,0],"type":"VEC3"},{"bufferView":13,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":14,"componentType":5126,"count":24,"max":[0.84326171875,0.46826171875],"min":[0.40673828125,0.31298828125],"type":"VEC2"},{"bufferView":15,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":16,"componentType":5126,"count":24,"max":[0.21875,0.09375,0.5625],"min":[0.09375,0.03125,0.3125],"type":"VEC3"},{"bufferView":17,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":18,"componentType":5126,"count":24,"max":[0.68701171875,0.62451171875],"min":[0.31298828125,0.46923828125],"type":"VEC2"},{"bufferView":19,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":20,"componentType":5126,"count":24,"max":[0.406312495470047,0.1875,0.375],"min":[0.40625,0.0625,0.25],"type":"VEC3"},{"bufferView":21,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":22,"componentType":5126,"count":24,"max":[0.12548828125,0.28076171875],"min":[0.00048828125,0.15673828125],"type":"VEC2"},{"bufferView":23,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":24,"componentType":5126,"count":24,"max":[-0.03125,0.125,0.4375],"min":[-0.28125,0,0.25],"type":"VEC3"},{"bufferView":25,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":26,"componentType":5126,"count":24,"max":[0.43701171875,0.56201171875],"min":[0.00048828125,0.40673828125],"type":"VEC2"},{"bufferView":27,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":28,"componentType":5126,"count":24,"max":[-0.09375,0.09375,0.5625],"min":[-0.21875,0.03125,0.3125],"type":"VEC3"},{"bufferView":29,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":30,"componentType":5126,"count":24,"max":[0.84326171875,0.15576171875],"min":[0.46923828125,0.00048828125],"type":"VEC2"},{"bufferView":31,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":32,"componentType":5126,"count":24,"max":[-0.406187504529953,0.1875,0.375],"min":[-0.40625,0.0625,0.25],"type":"VEC3"},{"bufferView":33,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":34,"componentType":5126,"count":24,"max":[0.12548828125,0.12451171875],"min":[0.00048828125,0.00048828125],"type":"VEC2"},{"bufferView":35,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":36,"componentType":5126,"count":24,"max":[0.25,0.09375,-0.09375],"min":[0.125,0.03125,-0.15625],"type":"VEC3"},{"bufferView":37,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":38,"componentType":5126,"count":24,"max":[0.71826171875,0.31201171875],"min":[0.53173828125,0.25048828125],"type":"VEC2"},{"bufferView":39,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":40,"componentType":5126,"count":24,"max":[0.28125,0.09375,-0.09375],"min":[0.21875,0.03125,-0.15625],"type":"VEC3"},{"bufferView":41,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":42,"componentType":5126,"count":24,"max":[0.12451171875,0.34326171875],"min":[0.00048828125,0.28173828125],"type":"VEC2"},{"bufferView":43,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":44,"componentType":5126,"count":24,"max":[0.34375,0.0625625029206276,-0.09375],"min":[0.28125,0.0625,-0.15625],"type":"VEC3"},{"bufferView":45,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":46,"componentType":5126,"count":24,"max":[0.12451171875,0.15673828125],"min":[0.00048828125,0.12548828125],"type":"VEC2"},{"bufferView":47,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":48,"componentType":5126,"count":24,"max":[-0.125,0.09375,-0.09375],"min":[-0.25,0.03125,-0.15625],"type":"VEC3"},{"bufferView":49,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":50,"componentType":5126,"count":24,"max":[0.56201171875,0.28076171875],"min":[0.37548828125,0.21923828125],"type":"VEC2"},{"bufferView":51,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":52,"componentType":5126,"count":24,"max":[-0.21875,0.09375,-0.09375],"min":[-0.28125,0.03125,-0.15625],"type":"VEC3"},{"bufferView":53,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":54,"componentType":5126,"count":24,"max":[0.12451171875,0.06201171875],"min":[0.00048828125,0.00048828125],"type":"VEC2"},{"bufferView":55,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":56,"componentType":5126,"count":24,"max":[-0.28125,0.0625625029206276,-0.09375],"min":[-0.34375,0.0625,-0.15625],"type":"VEC3"},{"bufferView":57,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":58,"componentType":5126,"count":24,"max":[0.18701171875,0.03173828125],"min":[0.06298828125,0.00048828125],"type":"VEC2"},{"bufferView":59,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":60,"componentType":5126,"count":3,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":61,"componentType":5126,"count":3,"max":[0.06540312618017197,0,0,1],"min":[0,0,0,0.9978589415550232],"type":"VEC4"},{"bufferView":62,"componentType":5126,"count":3,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":63,"componentType":5126,"count":3,"max":[0,0.258819043636322,0,1],"min":[0,0,0,0.9659258127212524],"type":"VEC4"},{"bufferView":64,"componentType":5126,"count":3,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":65,"componentType":5126,"count":3,"max":[0,0,0,1],"min":[0,-0.258819043636322,0,0.9659258127212524],"type":"VEC4"},{"bufferView":66,"componentType":5126,"count":3,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":67,"componentType":5126,"count":3,"max":[0,0.13052618503570557,0,1],"min":[0,0,0,0.9914448857307434],"type":"VEC4"},{"bufferView":68,"componentType":5126,"count":3,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":69,"componentType":5126,"count":3,"max":[0,0,0,1],"min":[0,-0.13052618503570557,0,0.9914448857307434],"type":"VEC4"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":8,"NORMAL":9,"TEXCOORD_0":10},"indices":11,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":12,"NORMAL":13,"TEXCOORD_0":14},"indices":15,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":16,"NORMAL":17,"TEXCOORD_0":18},"indices":19,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":20,"NORMAL":21,"TEXCOORD_0":22},"indices":23,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":24,"NORMAL":25,"TEXCOORD_0":26},"indices":27,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":28,"NORMAL":29,"TEXCOORD_0":30},"indices":31,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":32,"NORMAL":33,"TEXCOORD_0":34},"indices":35,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":36,"NORMAL":37,"TEXCOORD_0":38},"indices":39,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":40,"NORMAL":41,"TEXCOORD_0":42},"indices":43,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":44,"NORMAL":45,"TEXCOORD_0":46},"indices":47,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":48,"NORMAL":49,"TEXCOORD_0":50},"indices":51,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":52,"NORMAL":53,"TEXCOORD_0":54},"indices":55,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":56,"NORMAL":57,"TEXCOORD_0":58},"indices":59,"material":0}]}],"animations":[{"name":"animation.model.walk","samplers":[{"input":60,"output":61,"interpolation":"LINEAR"},{"input":62,"output":63,"interpolation":"LINEAR"},{"input":64,"output":65,"interpolation":"LINEAR"},{"input":66,"output":67,"interpolation":"LINEAR"},{"input":68,"output":69,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":3,"path":"rotation"}},{"sampler":1,"target":{"node":7,"path":"rotation"}},{"sampler":2,"target":{"node":11,"path":"rotation"}},{"sampler":3,"target":{"node":15,"path":"rotation"}},{"sampler":4,"target":{"node":19,"path":"rotation"}}]}]} \ No newline at end of file diff --git a/data/games/garage/mods/gltf/models/gltf_minimal_triangle.gltf b/data/games/garage/mods/gltf/models/gltf_minimal_triangle.gltf deleted file mode 100644 index 9a624f0..0000000 --- a/data/games/garage/mods/gltf/models/gltf_minimal_triangle.gltf +++ /dev/null @@ -1 +0,0 @@ -{"scene":0,"scenes":[{"nodes":[0]}],"nodes":[{"mesh":0}],"meshes":[{"primitives":[{"attributes":{"POSITION":1},"indices":0}]}],"buffers":[{"uri":"data:application/octet-stream;base64,AAABAAIAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAA=","byteLength":44}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":6,"target":34963},{"buffer":0,"byteOffset":8,"byteLength":36,"target":34962}],"accessors":[{"bufferView":0,"byteOffset":0,"componentType":5123,"count":3,"type":"SCALAR","max":[2],"min":[0]},{"bufferView":1,"byteOffset":0,"componentType":5126,"count":3,"type":"VEC3","max":[1,1,0],"min":[0,0,0]}],"asset":{"version":"2.0"}} diff --git a/data/games/garage/mods/gltf/models/gltf_simple_skin.gltf b/data/games/garage/mods/gltf/models/gltf_simple_skin.gltf deleted file mode 100644 index 3d6c24a..0000000 --- a/data/games/garage/mods/gltf/models/gltf_simple_skin.gltf +++ /dev/null @@ -1 +0,0 @@ -{"scene":0,"scenes":[{"nodes":[0,1]}],"nodes":[{"skin":0,"mesh":0},{"children":[2]},{"translation":[0.0,1.0,0.0],"rotation":[0.0,0.0,0.0,1.0]}],"meshes":[{"primitives":[{"attributes":{"POSITION":1,"JOINTS_0":2,"WEIGHTS_0":3},"indices":0}]}],"skins":[{"inverseBindMatrices":4,"joints":[1,2]}],"animations":[{"channels":[{"sampler":0,"target":{"node":2,"path":"rotation"}}],"samplers":[{"input":5,"interpolation":"LINEAR","output":6}]}],"buffers":[{"uri":"data:application/gltf-buffer;base64,AAABAAMAAAADAAIAAgADAAUAAgAFAAQABAAFAAcABAAHAAYABgAHAAkABgAJAAgAAAAAvwAAAAAAAAAAAAAAPwAAAAAAAAAAAAAAvwAAAD8AAAAAAAAAPwAAAD8AAAAAAAAAvwAAgD8AAAAAAAAAPwAAgD8AAAAAAAAAvwAAwD8AAAAAAAAAPwAAwD8AAAAAAAAAvwAAAEAAAAAAAAAAPwAAAEAAAAAA","byteLength":168},{"uri":"data:application/gltf-buffer;base64,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAABAPwAAgD4AAAAAAAAAAAAAQD8AAIA+AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAAAAAAAPwAAAD8AAAAAAAAAAAAAgD4AAEA/AAAAAAAAAAAAAIA+AABAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAA=","byteLength":320},{"uri":"data:application/gltf-buffer;base64,AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8=","byteLength":128},{"uri":"data:application/gltf-buffer;base64,AAAAAAAAAD8AAIA/AADAPwAAAEAAACBAAABAQAAAYEAAAIBAAACQQAAAoEAAALBAAAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAkxjEPkSLbD8AAAAAAAAAAPT9ND/0/TQ/AAAAAAAAAAD0/TQ/9P00PwAAAAAAAAAAkxjEPkSLbD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAkxjEvkSLbD8AAAAAAAAAAPT9NL/0/TQ/AAAAAAAAAAD0/TS/9P00PwAAAAAAAAAAkxjEvkSLbD8AAAAAAAAAAAAAAAAAAIA/","byteLength":240}],"bufferViews":[{"buffer":0,"byteLength":48,"target":34963},{"buffer":0,"byteOffset":48,"byteLength":120,"target":34962},{"buffer":1,"byteLength":320,"byteStride":16},{"buffer":2,"byteLength":128},{"buffer":3,"byteLength":240}],"accessors":[{"bufferView":0,"componentType":5123,"count":24,"type":"SCALAR"},{"bufferView":1,"componentType":5126,"count":10,"type":"VEC3","max":[0.5,2.0,0.0],"min":[-0.5,0.0,0.0]},{"bufferView":2,"componentType":5123,"count":10,"type":"VEC4"},{"bufferView":2,"byteOffset":160,"componentType":5126,"count":10,"type":"VEC4"},{"bufferView":3,"componentType":5126,"count":2,"type":"MAT4"},{"bufferView":4,"componentType":5126,"count":12,"type":"SCALAR","max":[5.5],"min":[0.0]},{"bufferView":4,"byteOffset":48,"componentType":5126,"count":12,"type":"VEC4","max":[0.0,0.0,0.707,1.0],"min":[0.0,0.0,-0.707,0.707]}],"asset":{"version":"2.0"}} diff --git a/data/games/garage/mods/gltf/models/gltf_simple_sparse_accessor.gltf b/data/games/garage/mods/gltf/models/gltf_simple_sparse_accessor.gltf deleted file mode 100644 index 9798968..0000000 --- a/data/games/garage/mods/gltf/models/gltf_simple_sparse_accessor.gltf +++ /dev/null @@ -1 +0,0 @@ -{"scene":0,"scenes":[{"nodes":[0]}],"nodes":[{"mesh":0}],"meshes":[{"primitives":[{"attributes":{"POSITION":1},"indices":0}]}],"buffers":[{"uri":"data:application/gltf-buffer;base64,AAAIAAcAAAABAAgAAQAJAAgAAQACAAkAAgAKAAkAAgADAAoAAwALAAoAAwAEAAsABAAMAAsABAAFAAwABQANAAwABQAGAA0AAAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAQAAAAAAAAAAAAABAQAAAAAAAAAAAAACAQAAAAAAAAAAAAACgQAAAAAAAAAAAAADAQAAAAAAAAAAAAAAAAAAAgD8AAAAAAACAPwAAgD8AAAAAAAAAQAAAgD8AAAAAAABAQAAAgD8AAAAAAACAQAAAgD8AAAAAAACgQAAAgD8AAAAAAADAQAAAgD8AAAAACAAKAAwAAAAAAIA/AAAAQAAAAAAAAEBAAABAQAAAAAAAAKBAAACAQAAAAAA=","byteLength":284}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":72,"byteLength":168},{"buffer":0,"byteOffset":240,"byteLength":6},{"buffer":0,"byteOffset":248,"byteLength":36}],"accessors":[{"bufferView":0,"byteOffset":0,"componentType":5123,"count":36,"type":"SCALAR","max":[13],"min":[0]},{"bufferView":1,"byteOffset":0,"componentType":5126,"count":14,"type":"VEC3","max":[6,4,0],"min":[0,0,0],"sparse":{"count":3,"indices":{"bufferView":2,"byteOffset":0,"componentType":5123},"values":{"bufferView":3,"byteOffset":0}}}],"asset":{"version":"2.0"}} diff --git a/data/games/garage/mods/gltf/models/gltf_snow_man.gltf b/data/games/garage/mods/gltf/models/gltf_snow_man.gltf deleted file mode 100644 index cd8c347..0000000 --- a/data/games/garage/mods/gltf/models/gltf_snow_man.gltf +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Blockbench 4.6.0 glTF exporter"},"scenes":[{"nodes":[3],"name":"blockbench_export"}],"scene":0,"nodes":[{"name":"cube","mesh":0},{"name":"cube","mesh":1},{"name":"cube","mesh":2},{"children":[0,1,2]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":840,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1128,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1416,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":1608,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":1680,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1968,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2256,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":2448,"byteLength":72,"target":34963}],"buffers":[{"byteLength":2520,"uri":"data:application/octet-stream;base64,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"}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[3,24,3],"min":[-3,18,-3],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"max":[0.8333333134651184,1],"min":[0,0.25],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":24,"max":[5,10,5],"min":[-5,0,-5],"type":"VEC3"},{"bufferView":5,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":6,"componentType":5126,"count":24,"max":[0.625,1],"min":[0,0.375],"type":"VEC2"},{"bufferView":7,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":8,"componentType":5126,"count":24,"max":[4,18,4],"min":[-4,10,-4],"type":"VEC3"},{"bufferView":9,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":10,"componentType":5126,"count":24,"max":[0.7083333134651184,0.7916666865348816],"min":[0.2083333283662796,0.25],"type":"VEC2"},{"bufferView":11,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0,"texCoord":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":8,"NORMAL":9,"TEXCOORD_0":10},"indices":11,"material":0}]}]} diff --git a/data/games/garage/mods/gltf/models/gltf_spider.gltf b/data/games/garage/mods/gltf/models/gltf_spider.gltf deleted file mode 100644 index 6698b6b..0000000 --- a/data/games/garage/mods/gltf/models/gltf_spider.gltf +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"generator":"Khronos glTF Blender I/O v1.7.33","version":"2.0"},"scene":0,"scenes":[{"name":"Scene","nodes":[0]}],"nodes":[{"mesh":0,"name":"Spider"}],"materials":[{"doubleSided":true,"name":"Material.001","pbrMetallicRoughness":{}}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"accessors":[{"bufferView":0,"componentType":5126,"count":1000,"max":[2.742279291152954,1.4045029878616333,2.0192716121673584],"min":[-2.742279291152954,-0.6434623599052429,-3.534085512161255],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":1000,"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":1000,"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":1500,"type":"SCALAR"}],"bufferViews":[{"buffer":0,"byteLength":12000,"byteOffset":0},{"buffer":0,"byteLength":12000,"byteOffset":12000},{"buffer":0,"byteLength":8000,"byteOffset":24000},{"buffer":0,"byteLength":3000,"byteOffset":32000}],"buffers":[{"byteLength":35000,"uri":"data:application/octet-stream;base64,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dQCGAHUAgACIAIsAkQCIAJEAjgCQAJIAnQCQAJ0AmwCcAJ8AmQCcAJkAlgCVAJcAjACVAIwAigCPAJoAlACPAJQAiQCeAJMAjQCeAI0AmACiAKgAqwCiAKsApQCnALQAtwCnALcAqgCyAKwArwCyAK8AtQCtAKAAowCtAKMAsACmAKEArgCmAK4AswC2ALEApAC2AKQAqQC6AMAAwwC6AMMAvQC/AMwAzgC/AM4AwQDKAMQAxwDKAMcAzQDGALkAuwDGALsAyAC+ALgAxQC+AMUAywDPAMkAvADPALwAwgDSANgA2wDSANsA1QDXAOQA5gDXAOYA2QDiANwA3wDiAN8A5QDeANEA0wDeANMA4ADWANAA3QDWAN0A4wDnAOEA1ADnANQA2gDpAOsA8QDpAPEA7wDwAPIA/QDwAP0A+wD8AP4A+AD8APgA9gD1APcA7AD1AOwA6gDuAPoA9ADuAPQA6AD/APMA7QD/AO0A+QAAAQMBCQEAAQkBBgEHAQoBFQEHARUBEgEUARcBEQEUAREBDgENARABBQENAQUBAgEIARMBDAEIAQwBAQEWAQsBBAEWAQQBDwEpAR0BIwEpASMBLwEoASYBGQEoARkBGwEtASsBJQEtASUBJwEhAR8BLAEhASwBLgEYASQBKgEYASoBHgEcARoBIAEcASABIgExATMBOgExAToBOAE3ATkBRQE3AUUBQwFEAUYBPwFEAT8BPQE+AUABNAE+ATQBMgE2AUIBPAE2ATwBMAFHATsBNQFHATUBQQFJAUsBUQFJAVEBTwFQAVIBXQFQAV0BWwFcAV4BWAFcAVgBVgFVAVcBTAFVAUwBSgFOAVoBVAFOAVQBSAFfAVMBTQFfAU0BWQFgAWMBaQFgAWkBZgFoAWoBdQFoAXUBcwF0AXcBcQF0AXEBbgFtAW8BZAFtAWQBYgFnAXIBbAFnAWwBYQF2AWsBZQF2AWUBcAGJAX0BgwGJAYMBjwGIAYYBeQGIAXkBewGNAYsBhQGNAYUBhwGBAX8BjAGBAYwBjgF4AYQBigF4AYoBfgF8AXoBgAF8AYABggGRAZMBmQGRAZkBlwGYAZoBpQGYAaUBowGkAaYBoAGkAaABngGdAZ8BlAGdAZQBkgGWAaIBnAGWAZwBkAGnAZsBlQGnAZUBoQGpAasBsQGpAbEBrwGwAbIBvQGwAb0BuwG8Ab4BuAG8AbgBtgG1AbcBrAG1AawBqgGuAboBtAGuAbQBqAG/AbMBrQG/Aa0BuQHAAcMByQHAAckBxgHIAcoB1QHIAdUB0wHUAdcB0QHUAdEBzgHNAc8BxAHNAcQBwgHHAdIBzAHHAcwBwQHWAcsBxQHWAcUB0AHpAd0B4wHpAeMB7wHoAeYB2QHoAdkB2wHtAesB5QHtAeUB5wHhAd8B7AHhAewB7gHYAeQB6gHYAeoB3gHcAdoB4AHcAeAB4gHxAfMB+QHxAfkB9wH4AfoBBQL4AQUCAwIEAgYCAAIEAgAC/gH9Af8B9AH9AfQB8gH2AQIC/AH2AfwB8AEHAvsB9QEHAvUBAQIJAgsCEQIJAhECDwIQAhICHQIQAh0CGwIcAh4CGAIcAhgCFgIVAhcCDAIVAgwCCgIOAhoCFAIOAhQCCAIfAhMCDQIfAg0CGQIgAiMCKQIgAikCJgIoAisCNgIoAjYCMwI0AjcCMQI0AjECLgIsAi8CJAIsAiQCIQInAjICLQInAi0CIgI1AioCJQI1AiUCMAJJAj0CQwJJAkMCTwJIAkYCOQJIAjkCOwJNAksCRQJNAkUCRwJBAj8CTAJBAkwCTgI4AkQCSgI4AkoCPgI8AjoCQAI8AkACQgJSAlQCWQJSAlkCVwJYAloCZgJYAmYCZAJjAmUCYAJjAmACXgJdAl8CUwJdAlMCUQJWAmICXAJWAlwCUAJnAlsCVQJnAlUCYQJpAm8CcwJpAnMCbQJuAnsCfwJuAn8CcgJ6AnQCeAJ6AngCfgJ1AmgCbAJ1AmwCeQJwAmoCdgJwAnYCfAJ9AncCawJ9AmsCcQKCAogCiwKCAosChQKHApQClwKHApcCigKSAowCjwKSAo8ClQKNAoACgwKNAoMCkAKGAoECjgKGAo4CkwKWApEChAKWAoQCiQKnAq0CoQKnAqECmwKoAp0CmQKoApkCpAKvAqkCpQKvAqUCqwKjAq4CqgKjAqoCnwKaAqACrAKaAqwCpgKcAqICngKcAp4CmAKxArYCugKxAroCtQK3AsMCxwK3AscCuwLCAr0CwQLCAsECxgK8ArACtAK8ArQCwAK4ArICvgK4Ar4CxALFAr8CswLFArMCuQLJAs8C0wLJAtMCzQLOAtsC3wLOAt8C0gLaAtQC2ALaAtgC3gLVAsgCzALVAswC2QLQAsoC1gLQAtYC3ALdAtcCywLdAssC0QLiAugC6wLiAusC5QLmAvMC9wLmAvcC6gLyAuwC7wLyAu8C9QLtAuAC5ALtAuQC8QLnAuEC7gLnAu4C9AL2AvAC4wL2AuMC6QIHAw0DAQMHAwED+wIIA/0C+QIIA/kCBAMPAwkDBQMPAwUDCwMDAw4DCgMDAwoD/wL6AgADDAP6AgwDBgP8AgID/gL8Av4C+AIRAxcDGwMRAxsDFQMWAyMDJwMWAycDGgMiAxwDIAMiAyADJgMdAxADFAMdAxQDIQMYAxIDHgMYAx4DJAMlAx8DEwMlAxMDGQMpAy8DMwMpAzMDLQMuAzsDPwMuAz8DMgM6AzQDOAM6AzgDPgM1AygDLAM1AywDOQMwAyoDNgMwAzYDPAM9AzcDKwM9AysDMQNCA0gDSwNCA0sDRQNGA1MDVwNGA1cDSgNSA0wDTwNSA08DVQNNA0ADRANNA0QDUQNHA0EDTgNHA04DVANWA1ADQwNWA0MDSQNnA20DYQNnA2EDWwNoA10DWQNoA1kDZANvA2kDZQNvA2UDawNjA24DagNjA2oDXwNaA2ADbANaA2wDZgNcA2IDXgNcA14DWANxA3cDewNxA3sDdQN2A4MDhwN2A4cDegOCA3wDgAOCA4ADhgN9A3ADdAN9A3QDgQN4A3IDfgN4A34DhAOFA38DcwOFA3MDeQOJA48DkwOJA5MDjQOOA5sDnwOOA58DkgOaA5QDmAOaA5gDngOVA4gDjAOVA4wDmQOQA4oDlgOQA5YDnAOdA5cDiwOdA4sDkQOiA6gDqwOiA6sDpQOmA7MDtgOmA7YDqQOyA6wDrwOyA68DtQOuA6EDpAOuA6QDsQOnA6ADrQOnA60DtAO3A7ADowO3A6MDqgPHA80DwQPHA8EDuwPIA70DuQPIA7kDxAPPA8kDxQPPA8UDywPDA84DygPDA8oDvwO6A8ADzAO6A8wDxgO8A8IDvgO8A74DuAPQA9cD2wPQA9sD1APWA+ID5gPWA+YD2gPjA9wD4APjA+AD5wPdA9ED1QPdA9UD4QPYA9ID3gPYA94D5APlA98D0wPlA9MD2QM="}]} diff --git a/data/games/garage/mods/gltf/models/gltf_spider_animated.gltf b/data/games/garage/mods/gltf/models/gltf_spider_animated.gltf deleted file mode 100644 index 79221b0..0000000 --- a/data/games/garage/mods/gltf/models/gltf_spider_animated.gltf +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"generator":"Khronos glTF Blender I/O v1.7.33","version":"2.0"},"scene":0,"scenes":[{"name":"Scene","nodes":[58]}],"nodes":[{"name":"Pincer.L","rotation":[0.03853772580623627,0.09671717882156372,0.5138389468193054,0.8515457510948181],"translation":[-2.2351741790771484e-08,0.2836739718914032,-2.2351741790771484e-08]},{"children":[0],"name":"JawBase.L","rotation":[-0.23922589421272278,-9.208349638356594e-08,-0.38811206817626953,0.8900224566459656],"scale":[1,1,0.9999999403953552],"translation":[8.097286041675034e-08,0.7702280879020691,-1.169656727029178e-07]},{"name":"Pincer.R","rotation":[0.038537755608558655,-0.09671713411808014,-0.5138388872146606,0.8515458106994629],"scale":[0.9999997615814209,0.9999999403953552,1],"translation":[2.9802322387695312e-08,0.2836737036705017,-2.9802322387695312e-08]},{"children":[2],"name":"JawBase.R","rotation":[-0.2392251342535019,1.9714243535418063e-06,0.3881126046180725,0.8900225758552551],"translation":[1.3833086898173974e-09,0.7702280282974243,-6.620245329713725e-08]},{"children":[1,3],"name":"Head","rotation":[0.4052415192127228,-3.4197712478652165e-13,-8.695541282577324e-07,0.9142096638679504],"translation":[-2.0781445141115906e-16,0.6883190274238586,-1.4901161193847656e-08]},{"children":[4],"name":"NeckBase","rotation":[-0.778048574924469,7.488795716881214e-08,1.7622618315726868e-06,0.6282041072845459],"translation":[-3.399441372928941e-14,0.3915250301361084,-2.3283064365386963e-09]},{"name":"Body.002","rotation":[0.17414046823978424,0,-4.151832513343834e-07,0.9847208261489868],"translation":[5.897654597759178e-14,1.0079095363616943,-1.2134763416327132e-08]},{"children":[6],"name":"Body.001","rotation":[0.6673352122306824,-7.632472941426077e-14,-1.5910509318928234e-06,0.7447575330734253],"scale":[1,0.9999999403953552,0.9999999403953552],"translation":[-3.962037268363458e-15,0.3915250301361084,-3.1428597502269895e-09]},{"name":"Leg4Fore.L","rotation":[-0.021953541785478592,0.030033688992261887,-0.4378480017185211,0.8982790112495422],"scale":[1,0.9999998211860657,1.0000001192092896],"translation":[1.9202238377147296e-07,0.8228543996810913,-1.749940707895803e-07]},{"children":[8],"name":"Leg4Lower.L","rotation":[-0.11090508848428726,0.11991499364376068,-0.48737218976020813,0.8577813506126404],"scale":[0.9999995231628418,0.9999997615814209,1.000000238418579],"translation":[1.9631791303709178e-07,0.8208085298538208,-4.769351491518137e-08]},{"children":[9],"name":"Leg4Mid.L","rotation":[-0.21032677590847015,0.09273893386125565,-0.42330121994018555,0.8763437271118164],"scale":[1,0.9999996423721313,0.999999463558197],"translation":[-1.720833893159579e-07,1.5146127939224243,1.4611718768264836e-07]},{"children":[10],"name":"Leg4Upper.L","rotation":[0.581340491771698,-0.03387186676263809,0.4926694631576538,0.6466628909111023],"scale":[1.0000003576278687,1.000000238418579,1.0000003576278687],"translation":[-2.6137989550534257e-09,0.8996680974960327,-2.8558396536482178e-08]},{"children":[11],"name":"Leg4Base.L","rotation":[0.4988132119178772,0.67340087890625,0.0026363276410847902,0.5456278324127197],"scale":[0.9999998807907104,0.9999998807907104,0.9999999403953552],"translation":[6.932457941033476e-10,0.3915250301361084,-7.783789612858527e-09]},{"name":"Leg3Fore.L","rotation":[-0.040254246443510056,0.0051941643469035625,-0.3734953701496124,0.9267436861991882],"scale":[1.0000001192092896,1,1.0000003576278687],"translation":[-7.186849302343035e-07,0.761729896068573,1.4940267689667053e-08]},{"children":[13],"name":"Leg3Lower.L","rotation":[-0.02293548174202442,0.03108014352619648,-0.5376279950141907,0.8422969579696655],"scale":[1,0.9999998807907104,1],"translation":[2.6879865799855907e-07,0.890315592288971,-2.3254589365251377e-08]},{"children":[14],"name":"Leg3Mid.L","rotation":[-0.10393687337636948,0.026799378916621208,-0.47722530364990234,0.8722012042999268],"scale":[1,1.0000001192092896,1],"translation":[-4.5783519908582093e-07,1.5058820247650146,6.428529530921878e-08]},{"children":[15],"name":"Leg3Upper.L","rotation":[0.22388437390327454,0.00046301534166559577,0.7424523234367371,0.6313795447349548],"scale":[0.9999996423721313,0.9999999403953552,0.9999995231628418],"translation":[8.173065424443848e-08,0.8363674879074097,-3.891337030381692e-09]},{"children":[16],"name":"Leg3Base.L","rotation":[0.48101410269737244,0.8565962910652161,-0.006458853371441364,0.18661867082118988],"scale":[0.9999999403953552,0.9999998807907104,0.9999999403953552],"translation":[1.1383551878907383e-08,0.3915250301361084,2.5693926986036786e-09]},{"name":"Leg2Fore.L","rotation":[0.04987334460020065,-0.01207074522972107,-0.4028705060482025,0.9138174653053284],"scale":[0.999999463558197,1.0000004768371582,1.0000001192092896],"translation":[2.9161077463868423e-07,0.7777483463287354,1.7455030842938868e-07]},{"children":[18],"name":"Leg2Lower.L","rotation":[0.08352424204349518,-0.04269447177648544,-0.518085777759552,0.8501694202423096],"scale":[1.0000001192092896,1.0000004768371582,1.0000004768371582],"translation":[-1.5067358560827415e-07,0.9397417306900024,-4.163759115272114e-08]},{"children":[19],"name":"Leg2Mid.L","rotation":[0.14706559479236603,-0.028868243098258972,-0.47296836972236633,0.868239164352417],"scale":[1.0000004768371582,0.9999999403953552,0.9999999403953552],"translation":[-2.2217867012841452e-07,1.5058820247650146,-6.989571943449846e-08]},{"children":[20],"name":"Leg2Upper.L","rotation":[-0.42424774169921875,-0.0005238422891125083,0.6472405791282654,0.6333192586898804],"scale":[1.000000238418579,1.0000003576278687,1.0000005960464478],"translation":[9.311328597050306e-08,0.881853461265564,-1.8038990745594674e-08]},{"children":[21],"name":"Leg2Base.L","rotation":[-0.4972459375858307,-0.7882749438285828,0.006057440303266048,0.362398236989975],"scale":[0.9999997615814209,0.9999998807907104,0.9999999403953552],"translation":[7.375939858889069e-10,0.3915250301361084,4.028271050060539e-09]},{"name":"Leg1Fore.L","rotation":[-0.01934647001326084,-0.04218549281358719,-0.4403696358203888,0.8966162800788879],"scale":[1,1,0.9999997615814209],"translation":[2.0805721590022586e-07,0.815664529800415,4.0515438115562574e-08]},{"children":[23],"name":"Leg1Lower.L","rotation":[0.15678077936172485,-0.1661715805530548,-0.47995010018348694,0.8470270037651062],"scale":[0.999999463558197,1,0.9999999403953552],"translation":[3.670676562705921e-08,0.8788074851036072,8.29251618483795e-08]},{"children":[24],"name":"Leg1Mid.L","rotation":[0.26206591725349426,-0.11672191321849823,-0.4046621024608612,0.8683006763458252],"scale":[1.0000001192092896,0.9999999403953552,0.9999995231628418],"translation":[3.601947184961318e-08,1.5125981569290161,-1.6144279868512967e-07]},{"children":[25],"name":"Leg1Upper.L","rotation":[-0.62815922498703,0.04343283176422119,0.39305803179740906,0.6701006889343262],"translation":[-1.0171092412747385e-07,1.043814778327942,1.114601104745816e-07]},{"children":[26],"name":"Leg1Base.L","rotation":[-0.536352813243866,-0.596045732498169,-0.006935927551239729,0.5975006818771362],"scale":[0.9999998211860657,0.9999998211860657,1],"translation":[7.451212979958655e-09,0.3915250301361084,-5.977072614626877e-09]},{"name":"Leg4Fore.R","rotation":[-0.0219536405056715,-0.030033595860004425,0.43784812092781067,0.8982789516448975],"scale":[1.000000238418579,0.9999998807907104,1.0000001192092896],"translation":[4.575199454848189e-07,0.82285475730896,1.3987688873839943e-07]},{"children":[28],"name":"Leg4Lower.R","rotation":[-0.11090517044067383,-0.11991491913795471,0.48737218976020813,0.8577813506126404],"scale":[1.0000001192092896,0.9999999403953552,1.0000001192092896],"translation":[5.0247152216797986e-08,0.8208085894584656,1.2523592829438712e-07]},{"children":[29],"name":"Leg4Mid.R","rotation":[-0.21032673120498657,-0.09273889660835266,0.42330119013786316,0.876343846321106],"scale":[0.9999998211860657,0.9999995231628418,1.0000001192092896],"translation":[-1.2884336797469587e-07,1.514613151550293,6.563716681284859e-08]},{"children":[30],"name":"Leg4Upper.R","rotation":[0.5813404321670532,0.03387187048792839,-0.4926694333553314,0.6466629505157471],"scale":[1,1.000000238418579,0.9999997019767761],"translation":[-3.940737158814045e-08,0.8996680974960327,1.9567494291550247e-09]},{"children":[31],"name":"Leg4Base.R","rotation":[0.4988132119178772,-0.6733996272087097,-0.0026374668814241886,0.5456294417381287],"scale":[1,1.0000001192092896,1],"translation":[-1.1682686817948706e-08,0.3915250301361084,-1.3812247345867945e-08]},{"name":"Leg3Fore.R","rotation":[-0.04025428742170334,-0.005194155499339104,0.3734953999519348,0.9267436861991882],"scale":[0.9999998211860657,1.0000001192092896,1.0000001192092896],"translation":[-7.285660217348777e-07,0.7617300748825073,-4.0205627271916455e-08]},{"children":[33],"name":"Leg3Lower.R","rotation":[-0.02293553575873375,-0.03108006715774536,0.5376282930374146,0.8422967791557312],"scale":[1.0000001192092896,0.9999996423721313,0.9999999403953552],"translation":[7.143101754536474e-08,0.8903149366378784,6.888667769544554e-08]},{"children":[34],"name":"Leg3Mid.R","rotation":[-0.10393673926591873,-0.026799339801073074,0.47722548246383667,0.872201144695282],"scale":[1.0000003576278687,0.9999998807907104,0.9999998807907104],"translation":[1.4287303429227904e-07,1.5058823823928833,9.578651827268914e-08]},{"children":[35],"name":"Leg3Upper.R","rotation":[0.2238844484090805,-0.00046323961578309536,-0.7424524426460266,0.6313793659210205],"scale":[1.0000001192092896,1.0000005960464478,0.9999997615814209],"translation":[-2.9145089897042453e-08,0.8363675475120544,-1.3412945421009681e-08]},{"children":[36],"name":"Leg3Base.R","rotation":[0.48101410269737244,-0.8565958738327026,0.006457682233303785,0.18662074208259583],"scale":[0.9999999403953552,1.0000001192092896,1],"translation":[1.187698939197901e-09,0.3915250301361084,1.396204218906405e-08]},{"name":"Leg2Fore.R","rotation":[0.04987342655658722,0.012070796452462673,0.40287071466445923,0.9138173460960388],"scale":[0.9999997615814209,0.9999998807907104,0.9999997019767761],"translation":[4.900767294202524e-07,0.7777489423751831,1.3496240569565998e-07]},{"children":[38],"name":"Leg2Lower.R","rotation":[0.08352430164813995,0.04269447922706604,0.518085777759552,0.8501694202423096],"scale":[1.000000238418579,1.0000003576278687,0.9999999403953552],"translation":[1.2208448652017978e-07,0.9397414326667786,-3.409446946989192e-08]},{"children":[39],"name":"Leg2Mid.R","rotation":[0.1470656394958496,0.028868237510323524,0.4729681611061096,0.8682392835617065],"scale":[1.0000001192092896,1.0000003576278687,1.0000001192092896],"translation":[4.8437236443987786e-08,1.5058820247650146,-2.5024842642551448e-08]},{"children":[40],"name":"Leg2Upper.R","rotation":[-0.4242475926876068,0.0005238187150098383,-0.6472404599189758,0.6333194971084595],"scale":[0.9999997019767761,1,0.9999998211860657],"translation":[3.550610472302651e-09,0.8818532824516296,4.425183419698442e-08]},{"children":[41],"name":"Leg2Base.R","rotation":[-0.4972459375858307,0.7882757782936096,-0.006056289654225111,0.36239632964134216],"scale":[0.9999998211860657,1,0.9999999403953552],"translation":[-7.2600920830723226e-09,0.3915250301361084,-5.773719280455225e-09]},{"name":"Leg1Fore.R","rotation":[-0.015208502300083637,0.04422945901751518,0.4362727701663971,0.8985980749130249],"scale":[1.000000238418579,0.9999995827674866,0.9999997615814209],"translation":[-6.20622927272052e-07,0.8156638741493225,-1.6136721114889951e-07]},{"children":[43],"name":"Leg1Lower.R","rotation":[0.15885458886623383,0.17276015877723694,0.4745163321495056,0.848382830619812],"scale":[1.000000238418579,1.0000001192092896,1.0000004768371582],"translation":[-2.3015780925561558e-07,0.8788077235221863,2.258973452740065e-08]},{"children":[44],"name":"Leg1Mid.R","rotation":[0.2600231170654297,0.12465617805719376,0.4028773903846741,0.8686419725418091],"scale":[1,0.9999997019767761,0.9999999403953552],"translation":[-2.3629894485566183e-08,1.512597680091858,-5.442473494099431e-08]},{"children":[45],"name":"Leg1Upper.R","rotation":[-0.6237055063247681,-0.03962605446577072,-0.3963613212108612,0.6725466251373291],"scale":[1,1,0.9999995827674866],"translation":[4.151442212219081e-08,1.0438144207000732,6.221015524943141e-08]},{"children":[46],"name":"Leg1Base.R","rotation":[-0.5363527536392212,0.5960471630096436,0.0069372160360217094,0.5974993705749512],"scale":[1,1.0000001192092896,1.0000001192092896],"translation":[7.877114072130098e-09,0.3915250301361084,-5.523408841412447e-09]},{"children":[5,7,12,17,22,27,32,37,42,47],"name":"Body","rotation":[-0.9999927282333374,-4.546671483751652e-09,1.1920842553081457e-06,0.003814017167314887],"translation":[-2.1589291564903364e-17,0.5146726369857788,0.22900062799453735]},{"name":"Leg4IK.L","rotation":[-2.6692541510442425e-08,-2.6692541510442425e-08,-0.7071068286895752,0.7071068286895752],"translation":[2.2291481494903564,-0.5599625110626221,-0.7613579630851746]},{"name":"Leg3IK.L","rotation":[-2.6692541510442425e-08,-2.6692541510442425e-08,-0.7071068286895752,0.7071068286895752],"translation":[2.3687760829925537,-0.5599625110626221,-0.033313095569610596]},{"name":"Leg2IK.L","rotation":[-2.6692541510442425e-08,-2.6692541510442425e-08,-0.7071068286895752,0.7071068286895752],"translation":[2.3687760829925537,-0.5599625110626221,0.6964529752731323]},{"name":"Leg1IK.L","rotation":[-2.6692541510442425e-08,-2.6692541510442425e-08,-0.7071068286895752,0.7071068286895752],"translation":[2.2556710243225098,-0.5599625110626221,1.4977319240570068]},{"name":"Leg4IK.R","rotation":[-2.6692541510442425e-08,2.6692541510442425e-08,0.7071068286895752,0.7071068286895752],"translation":[-2.2291481494903564,-0.5599625110626221,-0.7613579630851746]},{"name":"Leg3IK.R","rotation":[-2.6692541510442425e-08,2.6692541510442425e-08,0.7071068286895752,0.7071068286895752],"translation":[-2.3687760829925537,-0.5599625110626221,-0.033313095569610596]},{"name":"Leg2IK.R","rotation":[-2.6692541510442425e-08,2.6692541510442425e-08,0.7071068286895752,0.7071068286895752],"translation":[-2.3687760829925537,-0.5599625110626221,0.6964529752731323]},{"name":"Leg1IK.R","rotation":[-2.6692541510442425e-08,2.6692541510442425e-08,0.7071068286895752,0.7071068286895752],"translation":[-2.2556710243225098,-0.5599625110626221,1.5977319478988647]},{"mesh":0,"name":"Spider","skin":0},{"children":[57,48,49,50,51,52,53,54,55,56],"name":"Armature"}],"animations":[{"channels":[{"sampler":0,"target":{"node":48,"path":"translation"}},{"sampler":1,"target":{"node":48,"path":"rotation"}},{"sampler":2,"target":{"node":48,"path":"scale"}},{"sampler":3,"target":{"node":4,"path":"translation"}},{"sampler":4,"target":{"node":4,"path":"rotation"}},{"sampler":5,"target":{"node":4,"path":"scale"}},{"sampler":6,"target":{"node":0,"path":"translation"}},{"sampler":7,"target":{"node":0,"path":"rotation"}},{"sampler":8,"target":{"node":0,"path":"scale"}},{"sampler":9,"target":{"node":2,"path":"translation"}},{"sampler":10,"target":{"node":2,"path":"rotation"}},{"sampler":11,"target":{"node":2,"path":"scale"}},{"sampler":12,"target":{"node":6,"path":"translation"}},{"sampler":13,"target":{"node":6,"path":"rotation"}},{"sampler":14,"target":{"node":6,"path":"scale"}},{"sampler":15,"target":{"node":11,"path":"rotation"}},{"sampler":16,"target":{"node":10,"path":"rotation"}},{"sampler":17,"target":{"node":9,"path":"rotation"}},{"sampler":18,"target":{"node":8,"path":"rotation"}},{"sampler":19,"target":{"node":16,"path":"rotation"}},{"sampler":20,"target":{"node":15,"path":"rotation"}},{"sampler":21,"target":{"node":14,"path":"rotation"}},{"sampler":22,"target":{"node":13,"path":"rotation"}},{"sampler":23,"target":{"node":21,"path":"rotation"}},{"sampler":24,"target":{"node":20,"path":"rotation"}},{"sampler":25,"target":{"node":19,"path":"rotation"}},{"sampler":26,"target":{"node":18,"path":"rotation"}},{"sampler":27,"target":{"node":26,"path":"rotation"}},{"sampler":28,"target":{"node":25,"path":"rotation"}},{"sampler":29,"target":{"node":24,"path":"rotation"}},{"sampler":30,"target":{"node":23,"path":"translation"}},{"sampler":31,"target":{"node":23,"path":"rotation"}},{"sampler":32,"target":{"node":23,"path":"scale"}},{"sampler":33,"target":{"node":31,"path":"rotation"}},{"sampler":34,"target":{"node":30,"path":"rotation"}},{"sampler":35,"target":{"node":29,"path":"rotation"}},{"sampler":36,"target":{"node":28,"path":"rotation"}},{"sampler":37,"target":{"node":36,"path":"rotation"}},{"sampler":38,"target":{"node":35,"path":"rotation"}},{"sampler":39,"target":{"node":34,"path":"rotation"}},{"sampler":40,"target":{"node":33,"path":"rotation"}},{"sampler":41,"target":{"node":41,"path":"rotation"}},{"sampler":42,"target":{"node":40,"path":"rotation"}},{"sampler":43,"target":{"node":39,"path":"rotation"}},{"sampler":44,"target":{"node":38,"path":"rotation"}},{"sampler":45,"target":{"node":46,"path":"rotation"}},{"sampler":46,"target":{"node":45,"path":"rotation"}},{"sampler":47,"target":{"node":44,"path":"rotation"}},{"sampler":48,"target":{"node":43,"path":"rotation"}},{"sampler":49,"target":{"node":49,"path":"translation"}},{"sampler":50,"target":{"node":49,"path":"rotation"}},{"sampler":51,"target":{"node":49,"path":"scale"}},{"sampler":52,"target":{"node":50,"path":"translation"}},{"sampler":53,"target":{"node":50,"path":"rotation"}},{"sampler":54,"target":{"node":50,"path":"scale"}},{"sampler":55,"target":{"node":51,"path":"translation"}},{"sampler":56,"target":{"node":51,"path":"rotation"}},{"sampler":57,"target":{"node":51,"path":"scale"}},{"sampler":58,"target":{"node":52,"path":"translation"}},{"sampler":59,"target":{"node":52,"path":"rotation"}},{"sampler":60,"target":{"node":52,"path":"scale"}},{"sampler":61,"target":{"node":53,"path":"translation"}},{"sampler":62,"target":{"node":53,"path":"rotation"}},{"sampler":63,"target":{"node":53,"path":"scale"}},{"sampler":64,"target":{"node":54,"path":"translation"}},{"sampler":65,"target":{"node":54,"path":"rotation"}},{"sampler":66,"target":{"node":54,"path":"scale"}},{"sampler":67,"target":{"node":55,"path":"translation"}},{"sampler":68,"target":{"node":55,"path":"rotation"}},{"sampler":69,"target":{"node":55,"path":"scale"}},{"sampler":70,"target":{"node":56,"path":"translation"}},{"sampler":71,"target":{"node":56,"path":"rotation"}},{"sampler":72,"target":{"node":56,"path":"scale"}}],"name":"ArmatureAction","samplers":[{"input":7,"interpolation":"LINEAR","output":8},{"input":7,"interpolation":"LINEAR","output":9},{"input":10,"interpolation":"LINEAR","output":11},{"input":10,"interpolation":"LINEAR","output":12},{"input":7,"interpolation":"LINEAR","output":13},{"input":10,"interpolation":"LINEAR","output":14},{"input":10,"interpolation":"LINEAR","output":15},{"input":7,"interpolation":"LINEAR","output":16},{"input":10,"interpolation":"LINEAR","output":17},{"input":10,"interpolation":"LINEAR","output":18},{"input":7,"interpolation":"LINEAR","output":19},{"input":10,"interpolation":"LINEAR","output":20},{"input":10,"interpolation":"LINEAR","output":21},{"input":7,"interpolation":"LINEAR","output":22},{"input":10,"interpolation":"LINEAR","output":23},{"input":7,"interpolation":"LINEAR","output":24},{"input":7,"interpolation":"LINEAR","output":25},{"input":7,"interpolation":"LINEAR","output":26},{"input":7,"interpolation":"LINEAR","output":27},{"input":7,"interpolation":"LINEAR","output":28},{"input":7,"interpolation":"LINEAR","output":29},{"input":7,"interpolation":"LINEAR","output":30},{"input":7,"interpolation":"LINEAR","output":31},{"input":7,"interpolation":"LINEAR","output":32},{"input":7,"interpolation":"LINEAR","output":33},{"input":7,"interpolation":"LINEAR","output":34},{"input":7,"interpolation":"LINEAR","output":35},{"input":7,"interpolation":"LINEAR","output":36},{"input":7,"interpolation":"LINEAR","output":37},{"input":7,"interpolation":"LINEAR","output":38},{"input":10,"interpolation":"LINEAR","output":39},{"input":7,"interpolation":"LINEAR","output":40},{"input":10,"interpolation":"LINEAR","output":41},{"input":7,"interpolation":"LINEAR","output":42},{"input":7,"interpolation":"LINEAR","output":43},{"input":7,"interpolation":"LINEAR","output":44},{"input":7,"interpolation":"LINEAR","output":45},{"input":7,"interpolation":"LINEAR","output":46},{"input":7,"interpolation":"LINEAR","output":47},{"input":7,"interpolation":"LINEAR","output":48},{"input":7,"interpolation":"LINEAR","output":49},{"input":7,"interpolation":"LINEAR","output":50},{"input":7,"interpolation":"LINEAR","output":51},{"input":7,"interpolation":"LINEAR","output":52},{"input":7,"interpolation":"LINEAR","output":53},{"input":7,"interpolation":"LINEAR","output":54},{"input":7,"interpolation":"LINEAR","output":55},{"input":7,"interpolation":"LINEAR","output":56},{"input":7,"interpolation":"LINEAR","output":57},{"input":7,"interpolation":"LINEAR","output":58},{"input":10,"interpolation":"LINEAR","output":59},{"input":7,"interpolation":"LINEAR","output":60},{"input":7,"interpolation":"LINEAR","output":61},{"input":10,"interpolation":"LINEAR","output":62},{"input":7,"interpolation":"LINEAR","output":63},{"input":7,"interpolation":"LINEAR","output":64},{"input":10,"interpolation":"LINEAR","output":65},{"input":7,"interpolation":"LINEAR","output":66},{"input":7,"interpolation":"LINEAR","output":67},{"input":10,"interpolation":"LINEAR","output":68},{"input":7,"interpolation":"LINEAR","output":69},{"input":7,"interpolation":"LINEAR","output":70},{"input":10,"interpolation":"LINEAR","output":71},{"input":7,"interpolation":"LINEAR","output":72},{"input":7,"interpolation":"LINEAR","output":73},{"input":10,"interpolation":"LINEAR","output":74},{"input":7,"interpolation":"LINEAR","output":75},{"input":7,"interpolation":"LINEAR","output":76},{"input":10,"interpolation":"LINEAR","output":77},{"input":7,"interpolation":"LINEAR","output":78},{"input":7,"interpolation":"LINEAR","output":79},{"input":10,"interpolation":"LINEAR","output":80},{"input":7,"interpolation":"LINEAR","output":81}]}],"materials":[{"doubleSided":true,"name":"Material.001","pbrMetallicRoughness":{}}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2,"JOINTS_0":3,"WEIGHTS_0":4},"indices":5,"material":0}]}],"skins":[{"inverseBindMatrices":6,"joints":[48,5,4,1,0,3,2,7,6,12,11,10,9,8,17,16,15,14,13,22,21,20,19,18,27,26,25,24,23,32,31,30,29,28,37,36,35,34,33,42,41,40,39,38,47,46,45,44,43,49,50,51,52,53,54,55,56],"name":"Armature"}],"accessors":[{"bufferView":0,"componentType":5126,"count":1000,"max":[2.742279291152954,1.4045029878616333,2.0192716121673584],"min":[-2.742279291152954,-0.6434623599052429,-3.534085512161255],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":1000,"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":1000,"type":"VEC2"},{"bufferView":3,"componentType":5121,"count":1000,"type":"VEC4"},{"bufferView":4,"componentType":5126,"count":1000,"type":"VEC4"},{"bufferView":5,"componentType":5123,"count":1500,"type":"SCALAR"},{"bufferView":6,"componentType":5126,"count":57,"type":"MAT4"},{"bufferView":7,"componentType":5126,"count":120,"max":[5],"min":[0.041666666666666664],"type":"SCALAR"},{"bufferView":8,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":9,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":10,"componentType":5126,"count":2,"max":[5],"min":[0.041666666666666664],"type":"SCALAR"},{"bufferView":11,"componentType":5126,"count":2,"type":"VEC3"},{"bufferView":12,"componentType":5126,"count":2,"type":"VEC3"},{"bufferView":13,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":14,"componentType":5126,"count":2,"type":"VEC3"},{"bufferView":15,"componentType":5126,"count":2,"type":"VEC3"},{"bufferView":16,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":17,"componentType":5126,"count":2,"type":"VEC3"},{"bufferView":18,"componentType":5126,"count":2,"type":"VEC3"},{"bufferView":19,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":20,"componentType":5126,"count":2,"type":"VEC3"},{"bufferView":21,"componentType":5126,"count":2,"type":"VEC3"},{"bufferView":22,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":23,"componentType":5126,"count":2,"type":"VEC3"},{"bufferView":24,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":25,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":26,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":27,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":28,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":29,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":30,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":31,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":32,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":33,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":34,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":35,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":36,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":37,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":38,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":39,"componentType":5126,"count":2,"type":"VEC3"},{"bufferView":40,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":41,"componentType":5126,"count":2,"type":"VEC3"},{"bufferView":42,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":43,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":44,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":45,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":46,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":47,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":48,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":49,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":50,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":51,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":52,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":53,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":54,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":55,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":56,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":57,"componentType":5126,"count":120,"type":"VEC4"},{"bufferView":58,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":59,"componentType":5126,"count":2,"type":"VEC4"},{"bufferView":60,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":61,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":62,"componentType":5126,"count":2,"type":"VEC4"},{"bufferView":63,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":64,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":65,"componentType":5126,"count":2,"type":"VEC4"},{"bufferView":66,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":67,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":68,"componentType":5126,"count":2,"type":"VEC4"},{"bufferView":69,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":70,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":71,"componentType":5126,"count":2,"type":"VEC4"},{"bufferView":72,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":73,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":74,"componentType":5126,"count":2,"type":"VEC4"},{"bufferView":75,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":76,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":77,"componentType":5126,"count":2,"type":"VEC4"},{"bufferView":78,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":79,"componentType":5126,"count":120,"type":"VEC3"},{"bufferView":80,"componentType":5126,"count":2,"type":"VEC4"},{"bufferView":81,"componentType":5126,"count":120,"type":"VEC3"}],"bufferViews":[{"buffer":0,"byteLength":12000,"byteOffset":0},{"buffer":0,"byteLength":12000,"byteOffset":12000},{"buffer":0,"byteLength":8000,"byteOffset":24000},{"buffer":0,"byteLength":4000,"byteOffset":32000},{"buffer":0,"byteLength":16000,"byteOffset":36000},{"buffer":0,"byteLength":3000,"byteOffset":52000},{"buffer":0,"byteLength":3648,"byteOffset":55000},{"buffer":0,"byteLength":480,"byteOffset":58648},{"buffer":0,"byteLength":1440,"byteOffset":59128},{"buffer":0,"byteLength":1920,"byteOffset":60568},{"buffer":0,"byteLength":8,"byteOffset":62488},{"buffer":0,"byteLength":24,"byteOffset":62496},{"buffer":0,"byteLength":24,"byteOffset":62520},{"buffer":0,"byteLength":1920,"byteOffset":62544},{"buffer":0,"byteLength":24,"byteOffset":64464},{"buffer":0,"byteLength":24,"byteOffset":64488},{"buffer":0,"byteLength":1920,"byteOffset":64512},{"buffer":0,"byteLength":24,"byteOffset":66432},{"buffer":0,"byteLength":24,"byteOffset":66456},{"buffer":0,"byteLength":1920,"byteOffset":66480},{"buffer":0,"byteLength":24,"byteOffset":68400},{"buffer":0,"byteLength":24,"byteOffset":68424},{"buffer":0,"byteLength":1920,"byteOffset":68448},{"buffer":0,"byteLength":24,"byteOffset":70368},{"buffer":0,"byteLength":1920,"byteOffset":70392},{"buffer":0,"byteLength":1920,"byteOffset":72312},{"buffer":0,"byteLength":1920,"byteOffset":74232},{"buffer":0,"byteLength":1920,"byteOffset":76152},{"buffer":0,"byteLength":1920,"byteOffset":78072},{"buffer":0,"byteLength":1920,"byteOffset":79992},{"buffer":0,"byteLength":1920,"byteOffset":81912},{"buffer":0,"byteLength":1920,"byteOffset":83832},{"buffer":0,"byteLength":1920,"byteOffset":85752},{"buffer":0,"byteLength":1920,"byteOffset":87672},{"buffer":0,"byteLength":1920,"byteOffset":89592},{"buffer":0,"byteLength":1920,"byteOffset":91512},{"buffer":0,"byteLength":1920,"byteOffset":93432},{"buffer":0,"byteLength":1920,"byteOffset":95352},{"buffer":0,"byteLength":1920,"byteOffset":97272},{"buffer":0,"byteLength":24,"byteOffset":99192},{"buffer":0,"byteLength":1920,"byteOffset":99216},{"buffer":0,"byteLength":24,"byteOffset":101136},{"buffer":0,"byteLength":1920,"byteOffset":101160},{"buffer":0,"byteLength":1920,"byteOffset":103080},{"buffer":0,"byteLength":1920,"byteOffset":105000},{"buffer":0,"byteLength":1920,"byteOffset":106920},{"buffer":0,"byteLength":1920,"byteOffset":108840},{"buffer":0,"byteLength":1920,"byteOffset":110760},{"buffer":0,"byteLength":1920,"byteOffset":112680},{"buffer":0,"byteLength":1920,"byteOffset":114600},{"buffer":0,"byteLength":1920,"byteOffset":116520},{"buffer":0,"byteLength":1920,"byteOffset":118440},{"buffer":0,"byteLength":1920,"byteOffset":120360},{"buffer":0,"byteLength":1920,"byteOffset":122280},{"buffer":0,"byteLength":1920,"byteOffset":124200},{"buffer":0,"byteLength":1920,"byteOffset":126120},{"buffer":0,"byteLength":1920,"byteOffset":128040},{"buffer":0,"byteLength":1920,"byteOffset":129960},{"buffer":0,"byteLength":1440,"byteOffset":131880},{"buffer":0,"byteLength":32,"byteOffset":133320},{"buffer":0,"byteLength":1440,"byteOffset":133352},{"buffer":0,"byteLength":1440,"byteOffset":134792},{"buffer":0,"byteLength":32,"byteOffset":136232},{"buffer":0,"byteLength":1440,"byteOffset":136264},{"buffer":0,"byteLength":1440,"byteOffset":137704},{"buffer":0,"byteLength":32,"byteOffset":139144},{"buffer":0,"byteLength":1440,"byteOffset":139176},{"buffer":0,"byteLength":1440,"byteOffset":140616},{"buffer":0,"byteLength":32,"byteOffset":142056},{"buffer":0,"byteLength":1440,"byteOffset":142088},{"buffer":0,"byteLength":1440,"byteOffset":143528},{"buffer":0,"byteLength":32,"byteOffset":144968},{"buffer":0,"byteLength":1440,"byteOffset":145000},{"buffer":0,"byteLength":1440,"byteOffset":146440},{"buffer":0,"byteLength":32,"byteOffset":147880},{"buffer":0,"byteLength":1440,"byteOffset":147912},{"buffer":0,"byteLength":1440,"byteOffset":149352},{"buffer":0,"byteLength":32,"byteOffset":150792},{"buffer":0,"byteLength":1440,"byteOffset":150824},{"buffer":0,"byteLength":1440,"byteOffset":152264},{"buffer":0,"byteLength":32,"byteOffset":153704},{"buffer":0,"byteLength":1440,"byteOffset":153736}],"buffers":[{"byteLength":155176,"uri":"data:application/octet-stream;base64,dfkpP+R6/z6QwIW/dfkpP+R6/z6QwIW/dfkpP+R6/z6QwIW/dfkpP+R6/76QwIW/dfkpP+R6/76QwIW/dfkpP+R6/76QwIW/dfkpP+R6/z6QwIU/dfkpP+R6/z6QwIU/dfkpP+R6/z6QwIU/dfkpP+R6/76QwIU/dfkpP+R6/76QwIU/dfkpP+R6/76QwIU/dfkpv+R6/z6QwIW/dfkpv+R6/z6QwIW/dfkpv+R6/z6QwIW/dfkpv+R6/76QwIW/dfkpv+R6/76QwIW/dfkpv+R6/76QwIW/dfkpv+R6/z6QwIU/dfkpv+R6/z6QwIU/dfkpv+R6/z6QwIU/dfkpv+R6/76QwIU/dfkpv+R6/76QwIU/dfkpv+R6/76QwIU/UoRdPwFMoz8qkU3AUoRdPwFMoz8qkU3AUoRdPwFMoz8qkU3AUoRdP+x7gDx1LmLAUoRdP+x7gDx1LmLAUoRdP+x7gDx1LmLAbCVCP/IRET8e1xe/bCVCP/IRET8e1xe/bCVCP/IRET8e1xe/bCVCP5SmCb8LHGC/bCVCP5SmCb8LHGC/bCVCP5SmCb8LHGC/UoRdvwFMoz8qkU3AUoRdvwFMoz8qkU3AUoRdvwFMoz8qkU3AUoRdv+x7gDx1LmLAUoRdv+x7gDx1LmLAUoRdv+x7gDx1LmLAbCVCv/IRET8e1xe/bCVCv/IRET8e1xe/bCVCv/IRET8e1xe/bCVCv5SmCb8LHGC/bCVCv5SmCb8LHGC/bCVCv5SmCb8LHGC/XiXDvkD14r7OlcU/XiXDvkD14r7OlcU/XiXDvkD14r7OlcU/XiXDvhwyo71XteY/XiXDvhwyo71XteY/XiXDvhwyo71XteY/XiXDvhwyoz1zEE8/XiXDvhwyoz1zEE8/XiXDvhwyoz1zEE8/XiXDvkD14j7Dp4g/XiXDvkD14j7Dp4g/XiXDvkD14j7Dp4g/XCXDPkD14r7OlcU/XCXDPkD14r7OlcU/XCXDPkD14r7OlcU/XCXDPhwyo71XteY/XCXDPhwyo71XteY/XCXDPhwyo71XteY/XCXDPhwyoz1zEE8/XCXDPhwyoz1zEE8/XCXDPhwyoz1zEE8/XCXDPkD14j7Dp4g/XCXDPkD14j7Dp4g/XCXDPkD14j7Dp4g/bi6Dv7og4L5LpA/Abi6Dv7og4L5LpA/Abi6Dv7og4L5LpA/Abi6Dv7og4L5LpA/Abi6DP27/hj/Sc+6/bi6DP27/hj/Sc+6/bi6DP27/hj/Sc+6/bi6DP27/hj/Sc+6/bi6Dv27/hj/Uc+6/bi6Dv27/hj/Uc+6/bi6Dv27/hj/Uc+6/bi6Dv27/hj/Uc+6/bi6DP7wg4L5LpA/Abi6DP7wg4L5LpA/Abi6DP7wg4L5LpA/Abi6DP7wg4L5LpA/AKXA/vg7sv76Nef0/KXA/vg7sv76Nef0/KXA/vg7sv76Nef0/KXA/voixaL6/OwFAKXA/voixaL6/OwFAKXA/voixaL6/OwFAMSWTvg+jir5UDss/MSWTvg+jir5UDss/MSWTvg+jir5UDss/MSWTvg4//L1HDNA/MSWTvg4//L1HDNA/MSWTvg4//L1HDNA/A5UevXQku77E8/g/A5UevXQku77E8/g/A5UevXQku77E8/g/A5UevVIiX7648f0/A5UevVIiX7648f0/A5UevVIiX7648f0/eH8OvnTbhb6MiMY/eH8OvnTbhb6MiMY/eH8OvnTbhb6MiMY/eH8Ovqcg6b1/hss/eH8Ovqcg6b1/hss/eH8Ovqcg6b1/hss/B61WvpRDlr0p2+w/B61WvpRDlr0p2+w/B61WvpRDlr0p2+w/B61WvoT9Ej6Ek98/B61WvoT9Ej6Ek98/B61WvoT9Ej6Ek98/B61Wvov9Er55E9o/B61Wvov9Er55E9o/B61Wvov9Er55E9o/B61WvodDlj3Vy8w/B61WvodDlj3Vy8w/B61WvodDlj3Vy8w/f4pAvZRDlr0p2+w/f4pAvZRDlr0p2+w/f4pAvZRDlr0p2+w/f4pAvYT9Ej6Ek98/f4pAvYT9Ej6Ek98/f4pAvYT9Ej6Ek98/f4pAvYv9Er55E9o/f4pAvYv9Er55E9o/f4pAvYv9Er55E9o/f4pAvYdDlj3Vy8w/f4pAvYdDlj3Vy8w/f4pAvYdDlj3Vy8w/8CCuvr/lGL1K++Q/8CCuvr/lGL1K++Q/8CCuvr/lGL1K++Q/8CCuvvWQlT2tOd4/8CCuvvWQlT2tOd4/8CCuvvWQlT2tOd4/8CCuvgGRlb1Rbds/8CCuvgGRlb1Rbds/8CCuvgGRlb1Rbds/8CCuvqTlGD20q9Q/8CCuvqTlGD20q9Q/8CCuvqTlGD20q9Q/jMODvr/lGL1K++Q/jMODvr/lGL1K++Q/jMODvr/lGL1K++Q/jMODvvWQlT2tOd4/jMODvvWQlT2tOd4/jMODvvWQlT2tOd4/jMODvgGRlb1Rbds/jMODvgGRlb1Rbds/jMODvgGRlb1Rbds/jMODvqTlGD20q9Q/jMODvqTlGD20q9Q/jMODvqTlGD20q9Q/KXA/Pg7sv76Nef0/KXA/Pg7sv76Nef0/KXA/Pg7sv76Nef0/KXA/PoixaL6/OwFAKXA/PoixaL6/OwFAKXA/PoixaL6/OwFAMSWTPg+jir5UDss/MSWTPg+jir5UDss/MSWTPg+jir5UDss/MSWTPg4//L1HDNA/MSWTPg4//L1HDNA/MSWTPg4//L1HDNA/A5UePXQku77E8/g/A5UePXQku77E8/g/A5UePXQku77E8/g/A5UePVIiX7648f0/A5UePVIiX7648f0/A5UePVIiX7648f0/eH8OPnTbhb6MiMY/eH8OPnTbhb6MiMY/eH8OPnTbhb6MiMY/eH8OPqcg6b1/hss/eH8OPqcg6b1/hss/eH8OPqcg6b1/hss/B61WPpRDlr0p2+w/B61WPpRDlr0p2+w/B61WPpRDlr0p2+w/B61WPoT9Ej6Ek98/B61WPoT9Ej6Ek98/B61WPoT9Ej6Ek98/B61WPov9Er55E9o/B61WPov9Er55E9o/B61WPov9Er55E9o/B61WPodDlj3Vy8w/B61WPodDlj3Vy8w/B61WPodDlj3Vy8w/f4pAPZRDlr0p2+w/f4pAPZRDlr0p2+w/f4pAPZRDlr0p2+w/f4pAPYT9Ej6Ek98/f4pAPYT9Ej6Ek98/f4pAPYT9Ej6Ek98/f4pAPYv9Er55E9o/f4pAPYv9Er55E9o/f4pAPYv9Er55E9o/f4pAPYdDlj3Vy8w/f4pAPYdDlj3Vy8w/f4pAPYdDlj3Vy8w/8CCuPr/lGL1K++Q/8CCuPr/lGL1K++Q/8CCuPr/lGL1K++Q/8CCuPvWQlT2tOd4/8CCuPvWQlT2tOd4/8CCuPvWQlT2tOd4/8CCuPgGRlb1Rbds/8CCuPgGRlb1Rbds/8CCuPgGRlb1Rbds/8CCuPqTlGD20q9Q/8CCuPqTlGD20q9Q/8CCuPqTlGD20q9Q/jMODPr/lGL1K++Q/jMODPr/lGL1K++Q/jMODPr/lGL1K++Q/jMODPvWQlT2tOd4/jMODPvWQlT2tOd4/jMODPvWQlT2tOd4/jMODPgGRlb1Rbds/jMODPgGRlb1Rbds/jMODPgGRlb1Rbds/jMODPqTlGD20q9Q/jMODPqTlGD20q9Q/jMODPqTlGD20q9Q/irGqvwXbij8FXqI/irGqvwXbij8FXqI/irGqvwXbij8FXqI/ORyOv3F4mT/sD5c/ORyOv3F4mT/sD5c/ORyOv3F4mT/sD5c/veG1vwXbij9MFIY/veG1vwXbij9MFIY/veG1vwXbij9MFIY/bEyZv3F4mT9jjHU/bEyZv3F4mT9jjHU/bEyZv3F4mT9jjHU/6Wwlv2yF8L6qI38/6Wwlv2yF8L6qI38/6Wwlv2yF8L6qI38/ioTYvrQPtr54h2g/ioTYvrQPtr54h2g/ioTYvrQPtr54h2g/T807v2yF8L43kEY/T807v2yF8L43kEY/T807v2yF8L43kEY/raICv7QPtr4D9C8/raICv7QPtr4D9C8/raICv7QPtr4D9C8/z+YCwI6slj+TWsQ/z+YCwI6slj+TWsQ/z+YCwI6slj+TWsQ/A/f/v8HGsz9xC8I/A/f/v8HGsz9xC8I/A/f/v8HGsz9xC8I/jMsHwI6slj/Wm6s/jMsHwI6slj/Wm6s/jMsHwI6slj/Wm6s/PuAEwMHGsz+yTKk/PuAEwMHGsz+yTKk/PuAEwMHGsz+yTKk/R9OVv6Pudz+mEJg/R9OVv6Pudz+mEJg/R9OVv6Pudz+mEJg/rfyPv4YRmT+EwZU/rfyPv4YRmT+EwZU/rfyPv4YRmT+EwZU/wZyfv6Pudz/So34/wZyfv6Pudz/So34/wZyfv6Pudz/So34/J8aZv4QRmT+MBXo/J8aZv4QRmT+MBXo/J8aZv4QRmT+MBXo/iI4EwFQ4sz8QDKk/iI4EwFQ4sz8QDKk/iI4EwFQ4sz8QDKk/dS/zv7wLoT/OX6A/dS/zv7wLoT/OX6A/dS/zv7wLoT/OX6A/mVP/v1I4sz/PysE/mVP/v1I4sz/PysE/mVP/v1I4sz/PysE/+2Xpv7wLoT+MHrk/+2Xpv7wLoT+MHrk/+2Xpv7wLoT+MHrk/6tMnwDbsIz+L8sQ/6tMnwDbsIz+L8sQ/6tMnwDbsIz+L8sQ/HN0cwAkm/z5JRrw/HN0cwAkm/z5JRrw/HN0cwAkm/z5JRrw/Le8iwDbsIz9Jsd0/Le8iwDbsIz9Jsd0/Le8iwDbsIz9Jsd0/YPgXwAkm/z4HBdU/YPgXwAkm/z4HBdU/YPgXwAkm/z4HBdU/GQohwGb1Jz9Bcto/GQohwGb1Jz9Bcto/GQohwGb1Jz9Bcto/pBcVwGyGMT/v/tA/pBcVwGyGMT/v/tA/pBcVwGyGMT/v/tA/2FUlwGb1Jz8jucQ/2FUlwGb1Jz8jucQ/2FUlwGb1Jz8jucQ/ZGMZwGyGMT/QRbs/ZGMZwGyGMT/QRbs/ZGMZwGyGMT/QRbs/W6QSwPO5JL+7Ds8/W6QSwPO5JL+7Ds8/W6QSwPO5JL+7Ds8/5LEGwOkoG79nm8U/5LEGwOkoG79nm8U/5LEGwOkoG79nm8U/G/AWwPO5JL+dVbk/G/AWwPO5JL+dVbk/G/AWwPO5JL+dVbk/pP0KwOkoG79I4q8/pP0KwOkoG79I4q8/pP0KwOkoG79I4q8/PSK3vwXbij/MHzo/PSK3vwXbij/MHzo/PSK3vwXbij/MHzo/E3+Yv3F4mT8FKTU/E3+Yv3F4mT8FKTU/E3+Yv3F4mT8FKTU/EJe5vwXbij8N9/o+EJe5vwXbij8N9/o+EJe5vwXbij8N9/o+5/Oav3F4mT96CfE+5/Oav3F4mT96CfE+5/Oav3F4mT96CfE+Jakxv2yF8L5F2Co/Jakxv2yF8L5F2Co/Jakxv2yF8L5F2Co/osXovrQPtr5/4SU/osXovrQPtr5/4SU/osXovrQPtr5/4SU/y5I2v2yF8L76Z9w+y5I2v2yF8L76Z9w+y5I2v2yF8L76Z9w+7pjyvrQPtr5petI+7pjyvrQPtr5petI+7pjyvrQPtr5petI+zBgMwI6slj8dB0Y/zBgMwI6slj8dB0Y/zBgMwI6slj8dB0Y/yfcIwMHGsz+QA0U/yfcIwMHGsz+QA0U/yfcIwMHGsz+QA0U/1CsNwI6slj8r+xA/1CsNwI6slj8r+xA/1CsNwI6slj8r+xA/0woKwMHGsz+Z9w8/0woKwMHGsz+Z9w8/0woKwMHGsz+Z9w8/MSugv6Pudz+2lDI/MSugv6Pudz+2lDI/MSugv6Pudz+2lDI/L+mZv4YRmT8nkTE/L+mZv4YRmT8nkTE/L+mZv4YRmT8nkTE/Q1Giv6Pudz+EEfs+Q1Giv6Pudz+EEfs+Q1Giv6Pudz+EEfs+QA+cv4QRmT9kCvk+QA+cv4QRmT9kCvk+QA+cv4QRmT9kCvk+PbMJwFQ4sz862w8/PbMJwFQ4sz862w8/PbMJwFQ4sz862w8/deX7v7wLoT9UDAw/deX7v7wLoT9UDAw/deX7v7wLoT9UDAw/NaAIwFI4sz8v50Q/NaAIwFI4sz8v50Q/NaAIwFI4sz8v50Q/ZL/5v7wLoT9HGEE/ZL/5v7wLoT9HGEE/ZL/5v7wLoT9HGEE/gYEvwDbsIz9wGxw/gYEvwDbsIz9wGxw/gYEvwDbsIz9wGxw//sAjwAkm/z6JTBg//sAjwAkm/z6JTBg//sAjwAkm/z6JTBg/d24uwDbsIz9jJ1E/d24uwDbsIz9jJ1E/d24uwDbsIz9jJ1E/9a0iwAkm/z58WE0/9a0iwAkm/z58WE0/9a0iwAkm/z58WE0/VSUswGb1Jz8eJ00/VSUswGb1Jz8eJ00/VSUswGb1Jz8eJ00/FVcfwGyGMT/PAEk/FVcfwGyGMT/PAEk/FVcfwGyGMT/PAEk/xxYtwGb1Jz+blR4/xxYtwGb1Jz+blR4/xxYtwGb1Jz+blR4/iEggwGyGMT9Lbxo/iEggwGyGMT9Lbxo/iEggwGyGMT9Lbxo/uLYcwPO5JL/uJkg/uLYcwPO5JL/uJkg/uLYcwPO5JL/uJkg/d+gPwOkoG7+dAEQ/d+gPwOkoG7+dAEQ/d+gPwOkoG7+dAEQ/K6gdwPO5JL9plRk/K6gdwPO5JL9plRk/K6gdwPO5JL9plRk/6dkQwOkoG78ZbxU/6dkQwOkoG78ZbxU/6dkQwOkoG78ZbxU/ZxC1vwXbij95yBg+ZxC1vwXbij95yBg+ZxC1vwXbij95yBg+kWOWv3F4mT8beCg+kWOWv3F4mT8beCg+kWOWv3F4mT8beCg+oh+zvwXbij9ZKrS9oh+zvwXbij9ZKrS9oh+zvwXbij9ZKrS9zXKUv3F4mT8jy5S9zXKUv3F4mT8jy5S9zXKUv3F4mT8jy5S98Ektv2yF8L7LEEk+8Ektv2yF8L7LEEk+8Ektv2yF8L7LEEk+jeDfvrQPtr5twFg+jeDfvrQPtr5twFg+jeDfvrQPtr5twFg+aGgpv2yF8L6LMye9aGgpv2yF8L6LMye9aGgpv2yF8L6LMye9fR3YvrQPtr4l6tC8fR3YvrQPtr4l6tC8fR3YvrQPtr4l6tC87fsKwI6slj8R66897fsKwI6slj8R66897fsKwI6slj8R668979kHwMHGsz+RU7Y979kHwMHGsz+RU7Y979kHwMHGsz+RU7Y9pyIKwI6slj97+vi9pyIKwI6slj97+vi9pyIKwI6slj97+vi9qAAHwMHGsz8LkvK9qAAHwMHGsz8LkvK9qAAHwMHGsz8LkvK9k8udv6Pudz82aRU+k8udv6Pudz82aRU+k8udv6Pudz82aRU+l4eXv4YRmT9xnRg+l4eXv4YRmT9xnRg+l4eXv4YRmT9xnRg+BRmcv6Pudz8/Jny9BRmcv6Pudz8/Jny9BRmcv6Pudz8/Jny9CdWVv4QRmT9fVW+9CdWVv4QRmT9fVW+9CdWVv4QRmT9fVW+996gGwFQ4sz+b3vG996gGwFQ4sz+b3vG996gGwFQ4sz+b3vG9fcn1v7wLoT9Hzdm9fcn1v7wLoT9Hzdm9fcn1v7wLoT9Hzdm9P4IHwFI4sz/3Brc9P4IHwFI4sz/3Brc9P4IHwFI4sz/3Brc9Cnz3v7wLoT9FGM89Cnz3v7wLoT9FGM89Cnz3v7wLoT9FGM89KYMswDbsIz+9pR++KYMswDbsIz+9pR++KYMswDbsIz+9pR++8b4gwAkm/z4TnRO+8b4gwAkm/z4TnRO+8b4gwAkm/z4TnRO+cFwtwDbsIz83NFM9cFwtwDbsIz83NFM9cFwtwDbsIz83NFM9N5ghwAkm/z5oq4E9N5ghwAkm/z5oq4E9N5ghwAkm/z5oq4E9f/QqwGb1Jz/a8Sg9f/QqwGb1Jz/a8Sg9f/QqwGb1Jz/a8Sg9NSIewGyGMT9XZV09NSIewGyGMT9XZV09NSIewGyGMT9XZV09wjUqwGb1Jz9iRBC+wjUqwGb1Jz9iRBC+wjUqwGb1Jz9iRBC+d2MdwGyGMT+HJwO+d2MdwGyGMT+HJwO+d2MdwGyGMT+HJwO+BIEbwPO5JL88J2g9BIEbwPO5JL88J2g9BIEbwPO5JL88J2g9uK4OwOkoG79hTY49uK4OwOkoG79hTY49uK4OwOkoG79hTY49RsIawPO5JL8NdwC+RsIawPO5JL8NdwC+RsIawPO5JL8NdwC++u8NwOkoG79ftOa9+u8NwOkoG79ftOa9+u8NwOkoG79ftOa9ofCqvwXbij9txb++ofCqvwXbij9txb++ofCqvwXbij9txb++kVKNv3F4mT854Z6+kVKNv3F4mT854Z6+kVKNv3F4mT854Z6+U82ivwXbij8ughq/U82ivwXbij8ughq/U82ivwXbij8ughq/Qy+Fv3F4mT8WEAq/Qy+Fv3F4mT8WEAq/Qy+Fv3F4mT8WEAq/RY0fv2yF8L44DzW+RY0fv2yF8L44DzW+RY0fv2yF8L44DzW+SqLIvrQPtr6bjea9SqLIvrQPtr6bjea9SqLIvrQPtr6bjea9rUYPv2yF8L6Rxs++rUYPv2yF8L6Rxs++rUYPv2yF8L6Rxs++FhWovrQPtr5e4q6+FhWovrQPtr5e4q6+FhWovrQPtr5e4q6+JQ4EwI6slj8Ykxe/JQ4EwI6slj8Ykxe/JQ4EwI6slj8Ykxe/zQcBwMHGsz8lNxS/zQcBwMHGsz8lNxS/zQcBwMHGsz8lNxS/9H4AwI6slj/32kq/9H4AwI6slj/32kq/9H4AwI6slj/32kq/OfH6v8HGsz8Hf0e/OfH6v8HGsz8Hf0e/OfH6v8HGsz8Hf0e/xRSUv6Pudz8rS66+xRSUv6Pudz8rS66+xRSUv6Pudz8rS66+GAiOv4YRmT9Kk6e+GAiOv4YRmT9Kk6e+GAiOv4YRmT9Kk6e+Y/aMv6Pudz92bQq/Y/aMv6Pudz92bQq/Y/aMv6Pudz92bQq/temGv4QRmT+GEQe/temGv4QRmT+GEQe/temGv4QRmT+GEQe/4kf6v1Q4sz/+IEe/4kf6v1Q4sz/+IEe/4kf6v1Q4sz/+IEe/K4/jv7wLoT8kgzq/K4/jv7wLoT8kgzq/K4/jv7wLoT8kgzq/I7MAwFI4sz8e2RO/I7MAwFI4sz8e2RO/I7MAwFI4sz8e2RO/ja3qv7wLoT9EOwe/ja3qv7wLoT9EOwe/ja3qv7wLoT9EOwe/BLAhwDbsIz9St2+/BLAhwDbsIz9St2+/BLAhwDbsIz9St2+/qFMWwAkm/z54GWO/qFMWwAkm/z54GWO/qFMWwAkm/z54GWO/NT8lwDbsIz9xbzy/NT8lwDbsIz9xbzy/NT8lwDbsIz9xbzy/2uIZwAkm/z6Y0S+/2uIZwAkm/z6Y0S+/2uIZwAkm/z6Y0S+/rMEiwGb1Jz/WCj2/rMEiwGb1Jz/WCj2/rMEiwGb1Jz/WCj2/j2AWwGyGMT9nSy+/j2AWwGyGMT9nSy+/j2AWwGyGMT9nSy+/w6EfwGb1Jz98D2q/w6EfwGb1Jz98D2q/w6EfwGb1Jz98D2q/pUATwGyGMT8OUFy/pUATwGyGMT8OUFy/pUATwGyGMT8OUFy/lNYTwPO5JL+UeSy/lNYTwPO5JL+UeSy/lNYTwPO5JL+UeSy/dXUHwOkoG78iuh6/dXUHwOkoG78iuh6/dXUHwOkoG78iuh6/qrYQwPO5JL85flm/qrYQwPO5JL85flm/qrYQwPO5JL85flm/i1UEwOkoG7/Ivku/i1UEwOkoG7/Ivku/i1UEwOkoG7/Ivku/irGqPwXbij8FXqI/irGqPwXbij8FXqI/irGqPwXbij8FXqI/ORyOP3F4mT/sD5c/ORyOP3F4mT/sD5c/ORyOP3F4mT/sD5c/veG1PwXbij9MFIY/veG1PwXbij9MFIY/veG1PwXbij9MFIY/bEyZP3F4mT9jjHU/bEyZP3F4mT9jjHU/bEyZP3F4mT9jjHU/6WwlP2yF8L6qI38/6WwlP2yF8L6qI38/6WwlP2yF8L6qI38/ioTYPrQPtr54h2g/ioTYPrQPtr54h2g/ioTYPrQPtr54h2g/T807P2yF8L43kEY/T807P2yF8L43kEY/T807P2yF8L43kEY/raICP7QPtr4D9C8/raICP7QPtr4D9C8/raICP7QPtr4D9C8/z+YCQI6slj+TWsQ/z+YCQI6slj+TWsQ/z+YCQI6slj+TWsQ/A/f/P8HGsz9xC8I/A/f/P8HGsz9xC8I/A/f/P8HGsz9xC8I/jMsHQI6slj/Wm6s/jMsHQI6slj/Wm6s/jMsHQI6slj/Wm6s/PuAEQMHGsz+yTKk/PuAEQMHGsz+yTKk/PuAEQMHGsz+yTKk/R9OVP6Pudz+mEJg/R9OVP6Pudz+mEJg/R9OVP6Pudz+mEJg/rfyPP4YRmT+EwZU/rfyPP4YRmT+EwZU/rfyPP4YRmT+EwZU/wZyfP6Pudz/So34/wZyfP6Pudz/So34/wZyfP6Pudz/So34/J8aZP4QRmT+MBXo/J8aZP4QRmT+MBXo/J8aZP4QRmT+MBXo/iI4EQFQ4sz8QDKk/iI4EQFQ4sz8QDKk/iI4EQFQ4sz8QDKk/dS/zP7wLoT/OX6A/dS/zP7wLoT/OX6A/dS/zP7wLoT/OX6A/mVP/P1I4sz/PysE/mVP/P1I4sz/PysE/mVP/P1I4sz/PysE/+2XpP7wLoT+MHrk/+2XpP7wLoT+MHrk/+2XpP7wLoT+MHrk/6tMnQDbsIz+L8sQ/6tMnQDbsIz+L8sQ/6tMnQDbsIz+L8sQ/HN0cQAkm/z5JRrw/HN0cQAkm/z5JRrw/HN0cQAkm/z5JRrw/Le8iQDbsIz9Jsd0/Le8iQDbsIz9Jsd0/Le8iQDbsIz9Jsd0/YPgXQAkm/z4HBdU/YPgXQAkm/z4HBdU/YPgXQAkm/z4HBdU/GQohQGb1Jz9Bcto/GQohQGb1Jz9Bcto/GQohQGb1Jz9Bcto/pBcVQGyGMT/v/tA/pBcVQGyGMT/v/tA/pBcVQGyGMT/v/tA/2FUlQGb1Jz8jucQ/2FUlQGb1Jz8jucQ/2FUlQGb1Jz8jucQ/ZGMZQGyGMT/QRbs/ZGMZQGyGMT/QRbs/ZGMZQGyGMT/QRbs/W6QSQPO5JL+7Ds8/W6QSQPO5JL+7Ds8/W6QSQPO5JL+7Ds8/5LEGQOkoG79nm8U/5LEGQOkoG79nm8U/5LEGQOkoG79nm8U/G/AWQPO5JL+dVbk/G/AWQPO5JL+dVbk/G/AWQPO5JL+dVbk/pP0KQOkoG79I4q8/pP0KQOkoG79I4q8/pP0KQOkoG79I4q8/PSK3PwXbij/MHzo/PSK3PwXbij/MHzo/PSK3PwXbij/MHzo/E3+YP3F4mT8FKTU/E3+YP3F4mT8FKTU/E3+YP3F4mT8FKTU/EJe5PwXbij8N9/o+EJe5PwXbij8N9/o+EJe5PwXbij8N9/o+5/OaP3F4mT96CfE+5/OaP3F4mT96CfE+5/OaP3F4mT96CfE+JakxP2yF8L5F2Co/JakxP2yF8L5F2Co/JakxP2yF8L5F2Co/osXoPrQPtr5/4SU/osXoPrQPtr5/4SU/osXoPrQPtr5/4SU/y5I2P2yF8L76Z9w+y5I2P2yF8L76Z9w+y5I2P2yF8L76Z9w+7pjyPrQPtr5petI+7pjyPrQPtr5petI+7pjyPrQPtr5petI+zBgMQI6slj8dB0Y/zBgMQI6slj8dB0Y/zBgMQI6slj8dB0Y/yfcIQMHGsz+QA0U/yfcIQMHGsz+QA0U/yfcIQMHGsz+QA0U/1CsNQI6slj8r+xA/1CsNQI6slj8r+xA/1CsNQI6slj8r+xA/0woKQMHGsz+Z9w8/0woKQMHGsz+Z9w8/0woKQMHGsz+Z9w8/MSugP6Pudz+2lDI/MSugP6Pudz+2lDI/MSugP6Pudz+2lDI/L+mZP4YRmT8nkTE/L+mZP4YRmT8nkTE/L+mZP4YRmT8nkTE/Q1GiP6Pudz+EEfs+Q1GiP6Pudz+EEfs+Q1GiP6Pudz+EEfs+QA+cP4QRmT9kCvk+QA+cP4QRmT9kCvk+QA+cP4QRmT9kCvk+PbMJQFQ4sz862w8/PbMJQFQ4sz862w8/PbMJQFQ4sz862w8/deX7P7wLoT9UDAw/deX7P7wLoT9UDAw/deX7P7wLoT9UDAw/NaAIQFI4sz8v50Q/NaAIQFI4sz8v50Q/NaAIQFI4sz8v50Q/ZL/5P7wLoT9HGEE/ZL/5P7wLoT9HGEE/ZL/5P7wLoT9HGEE/gYEvQDbsIz9wGxw/gYEvQDbsIz9wGxw/gYEvQDbsIz9wGxw//sAjQAkm/z6JTBg//sAjQAkm/z6JTBg//sAjQAkm/z6JTBg/d24uQDbsIz9jJ1E/d24uQDbsIz9jJ1E/d24uQDbsIz9jJ1E/9a0iQAkm/z58WE0/9a0iQAkm/z58WE0/9a0iQAkm/z58WE0/VSUsQGb1Jz8eJ00/VSUsQGb1Jz8eJ00/VSUsQGb1Jz8eJ00/FVcfQGyGMT/PAEk/FVcfQGyGMT/PAEk/FVcfQGyGMT/PAEk/xxYtQGb1Jz+blR4/xxYtQGb1Jz+blR4/xxYtQGb1Jz+blR4/iEggQGyGMT9Lbxo/iEggQGyGMT9Lbxo/iEggQGyGMT9Lbxo/uLYcQPO5JL/uJkg/uLYcQPO5JL/uJkg/uLYcQPO5JL/uJkg/d+gPQOkoG7+dAEQ/d+gPQOkoG7+dAEQ/d+gPQOkoG7+dAEQ/K6gdQPO5JL9plRk/K6gdQPO5JL9plRk/K6gdQPO5JL9plRk/6dkQQOkoG78ZbxU/6dkQQOkoG78ZbxU/6dkQQOkoG78ZbxU/ZxC1PwXbij95yBg+ZxC1PwXbij95yBg+ZxC1PwXbij95yBg+kWOWP3F4mT8beCg+kWOWP3F4mT8beCg+kWOWP3F4mT8beCg+oh+zPwXbij9ZKrS9oh+zPwXbij9ZKrS9oh+zPwXbij9ZKrS9zXKUP3F4mT8jy5S9zXKUP3F4mT8jy5S9zXKUP3F4mT8jy5S98EktP2yF8L7LEEk+8EktP2yF8L7LEEk+8EktP2yF8L7LEEk+jeDfPrQPtr5twFg+jeDfPrQPtr5twFg+jeDfPrQPtr5twFg+aGgpP2yF8L6LMye9aGgpP2yF8L6LMye9aGgpP2yF8L6LMye9fR3YPrQPtr4l6tC8fR3YPrQPtr4l6tC8fR3YPrQPtr4l6tC87fsKQI6slj8R66897fsKQI6slj8R66897fsKQI6slj8R668979kHQMHGsz+RU7Y979kHQMHGsz+RU7Y979kHQMHGsz+RU7Y9pyIKQI6slj97+vi9pyIKQI6slj97+vi9pyIKQI6slj97+vi9qAAHQMHGsz8LkvK9qAAHQMHGsz8LkvK9qAAHQMHGsz8LkvK9k8udP6Pudz82aRU+k8udP6Pudz82aRU+k8udP6Pudz82aRU+l4eXP4YRmT9xnRg+l4eXP4YRmT9xnRg+l4eXP4YRmT9xnRg+BRmcP6Pudz8/Jny9BRmcP6Pudz8/Jny9BRmcP6Pudz8/Jny9CdWVP4QRmT9fVW+9CdWVP4QRmT9fVW+9CdWVP4QRmT9fVW+996gGQFQ4sz+b3vG996gGQFQ4sz+b3vG996gGQFQ4sz+b3vG9fcn1P7wLoT9Hzdm9fcn1P7wLoT9Hzdm9fcn1P7wLoT9Hzdm9P4IHQFI4sz/3Brc9P4IHQFI4sz/3Brc9P4IHQFI4sz/3Brc9Cnz3P7wLoT9FGM89Cnz3P7wLoT9FGM89Cnz3P7wLoT9FGM89KYMsQDbsIz+9pR++KYMsQDbsIz+9pR++KYMsQDbsIz+9pR++8b4gQAkm/z4TnRO+8b4gQAkm/z4TnRO+8b4gQAkm/z4TnRO+cFwtQDbsIz83NFM9cFwtQDbsIz83NFM9cFwtQDbsIz83NFM9N5ghQAkm/z5oq4E9N5ghQAkm/z5oq4E9N5ghQAkm/z5oq4E9f/QqQGb1Jz/a8Sg9f/QqQGb1Jz/a8Sg9f/QqQGb1Jz/a8Sg9NSIeQGyGMT9XZV09NSIeQGyGMT9XZV09NSIeQGyGMT9XZV09wjUqQGb1Jz9iRBC+wjUqQGb1Jz9iRBC+wjUqQGb1Jz9iRBC+d2MdQGyGMT+HJwO+d2MdQGyGMT+HJwO+d2MdQGyGMT+HJwO+BIEbQPO5JL88J2g9BIEbQPO5JL88J2g9BIEbQPO5JL88J2g9uK4OQOkoG79hTY49uK4OQOkoG79hTY49uK4OQOkoG79hTY49RsIaQPO5JL8NdwC+RsIaQPO5JL8NdwC+RsIaQPO5JL8NdwC++u8NQOkoG79ftOa9+u8NQOkoG79ftOa9+u8NQOkoG79ftOa9ofCqPwXbij9txb++ofCqPwXbij9txb++ofCqPwXbij9txb++kVKNP3F4mT854Z6+kVKNP3F4mT854Z6+kVKNP3F4mT854Z6+U82iPwXbij8ughq/U82iPwXbij8ughq/U82iPwXbij8ughq/Qy+FP3F4mT8WEAq/Qy+FP3F4mT8WEAq/Qy+FP3F4mT8WEAq/RY0fP2yF8L44DzW+RY0fP2yF8L44DzW+RY0fP2yF8L44DzW+SqLIPrQPtr6bjea9SqLIPrQPtr6bjea9SqLIPrQPtr6bjea9rUYPP2yF8L6Rxs++rUYPP2yF8L6Rxs++rUYPP2yF8L6Rxs++FhWoPrQPtr5e4q6+FhWoPrQPtr5e4q6+FhWoPrQPtr5e4q6+JQ4EQI6slj8Ykxe/JQ4EQI6slj8Ykxe/JQ4EQI6slj8Ykxe/zQcBQMHGsz8lNxS/zQcBQMHGsz8lNxS/zQcBQMHGsz8lNxS/9H4AQI6slj/32kq/9H4AQI6slj/32kq/9H4AQI6slj/32kq/OfH6P8HGsz8Hf0e/OfH6P8HGsz8Hf0e/OfH6P8HGsz8Hf0e/xRSUP6Pudz8rS66+xRSUP6Pudz8rS66+xRSUP6Pudz8rS66+GAiOP4YRmT9Kk6e+GAiOP4YRmT9Kk6e+GAiOP4YRmT9Kk6e+Y/aMP6Pudz92bQq/Y/aMP6Pudz92bQq/Y/aMP6Pudz92bQq/temGP4QRmT+GEQe/temGP4QRmT+GEQe/temGP4QRmT+GEQe/4kf6P1Q4sz/+IEe/4kf6P1Q4sz/+IEe/4kf6P1Q4sz/+IEe/K4/jP7wLoT8kgzq/K4/jP7wLoT8kgzq/K4/jP7wLoT8kgzq/I7MAQFI4sz8e2RO/I7MAQFI4sz8e2RO/I7MAQFI4sz8e2RO/ja3qP7wLoT9EOwe/ja3qP7wLoT9EOwe/ja3qP7wLoT9EOwe/BLAhQDbsIz9St2+/BLAhQDbsIz9St2+/BLAhQDbsIz9St2+/qFMWQAkm/z54GWO/qFMWQAkm/z54GWO/qFMWQAkm/z54GWO/NT8lQDbsIz9xbzy/NT8lQDbsIz9xbzy/NT8lQDbsIz9xbzy/2uIZQAkm/z6Y0S+/2uIZQAkm/z6Y0S+/2uIZQAkm/z6Y0S+/rMEiQGb1Jz/WCj2/rMEiQGb1Jz/WCj2/rMEiQGb1Jz/WCj2/j2AWQGyGMT9nSy+/j2AWQGyGMT9nSy+/j2AWQGyGMT9nSy+/w6EfQGb1Jz98D2q/w6EfQGb1Jz98D2q/w6EfQGb1Jz98D2q/pUATQGyGMT8OUFy/pUATQGyGMT8OUFy/pUATQGyGMT8OUFy/lNYTQPO5JL+UeSy/lNYTQPO5JL+UeSy/lNYTQPO5JL+UeSy/dXUHQOkoG78iuh6/dXUHQOkoG78iuh6/dXUHQOkoG78iuh6/qrYQQPO5JL85flm/qrYQQPO5JL85flm/qrYQQPO5JL85flm/i1UEQOkoG7/Ivku/i1UEQOkoG7/Ivku/i1UEQOkoG7/Ivku/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAAANqZfT5oBni/MFKtMUyhfD+3miU+w0J+P5cW7Dyy5ea96yRGshOCcb9N0qm+AAAAANqZfT5oBni/w0J+P5cW7Dyy5ea9AAAAAOWZfb5nBng/AAAAAAH2bj+Eq7c+Yil7P6lJRL3E+D8+AAAAAAhSf79zIJW9AAAAAOWZfb5nBng/Yil7P6lJRL3E+D8+w0J+v5oW7Dy15ea9AAAAANqZfT5oBni/MFKtMUyhfD+3miU+w0J+v5oW7Dy15ea96yRGshOCcb9N0qm+AAAAANqZfT5oBni/Yil7v59JRL3B+D8+AAAAAOWZfb5nBng/AAAAAAH2bj+Eq7c+Yil7v59JRL3B+D8+AAAAAAhSf79zIJW9AAAAAOWZfb5nBng/AACAvwAAAAAAAACAAAAAAJuRUL8wcRS/AAAAADBxFL+bkVA/AACAvwAAAAAAAACAAAAAADBxFL+bkVA/AAAAAJqRUD8xcRQ/AACAvwAAAAAAAACAAAAAAJuRUL8wcRS/AAAAADJxFD+akVC/AACAvwAAAAAAAACAAAAAADJxFD+akVC/AAAAAJqRUD8xcRQ/AAAAAJuRUL8wcRS/AAAAADBxFL+bkVA/AACAPwAAAABJAh8zAAAAADBxFL+bkVA/AAAAAJqRUD8xcRQ/AACAPwAAAABJAh8zAAAAAJuRUL8wcRS/AAAAADJxFD+akVC/AACAPwAAAABJAh8zAAAAADJxFD+akVC/AAAAAJqRUD8xcRQ/AACAPwAAAABJAh8zw0J+v5oW7Dy15ea9Yil7v59JRL3B+D8+6yRGshOCcb9N0qm+AAAAAAhSf79zIJW9AAAAAAH2bj+Eq7c+MFKtMUyhfD+3miU+Yil7P6lJRL3E+D8+w0J+P5cW7Dyy5ea9w0J+v5oW7Dy15ea9Yil7v59JRL3B+D8+AAAAAAH2bj+Eq7c+MFKtMUyhfD+3miU+6yRGshOCcb9N0qm+AAAAAAhSf79zIJW9Yil7P6lJRL3E+D8+w0J+P5cW7Dyy5ea9zI54v7hzer0f+2w+Xojas7iBd7/syYK+0Rx1PmD5fb63T3A/zI54v7hzer0f+2w+U1C7tLiBdz/wyYI+0Rx1PmD5fb63T3A/zI54v7hzer0f+2w+6Rx1vjP5fT65T3C/Xojas7iBd7/syYK+zI54v7hzer0f+2w+6Rx1vjP5fT65T3C/U1C7tLiBdz/wyYI+Xojas7iBd7/syYK+0Rx1PmD5fb63T3A/zI54Py10ej0T+2y+U1C7tLiBdz/wyYI+0Rx1PmD5fb63T3A/zI54Py10ej0T+2y+6Rx1vjP5fT65T3C/Xojas7iBd7/syYK+zI54Py10ej0T+2y+6Rx1vjP5fT65T3C/U1C7tLiBdz/wyYI+zI54Py10ej0T+2y+AACAvwAAAAAAAACAAAAAAJjxZr+R6tw+AAAAAI/q3D6Y8WY/AACAvwAAAAAAAACAAAAAAI/q3D6Y8WY/AAAAAJjxZj+R6ty+AACAvwAAAAAAAACAAAAAAJjxZr+R6tw+AAAAAI/q3L6Y8Wa/AACAvwAAAAAAAACAAAAAAI/q3L6Y8Wa/AAAAAJjxZj+R6ty+AAAAAJjxZr+R6tw+AAAAAI/q3D6Y8WY/AACAPwAAAAAAAACAAAAAAI/q3D6Y8WY/AAAAAJjxZj+R6ty+AACAPwAAAAAAAACAAAAAAJjxZr+R6tw+AAAAAI/q3L6Y8Wa/AACAPwAAAAAAAACAAAAAAI/q3L6Y8Wa/AAAAAJjxZj+R6ty+AACAPwAAAAAAAACAAACAvwAAAAC2lcU0AAAAAJ7xZr916tw+AAAAAJ3q3D6U8WY/AACAvwAAAAC2lcU0AAAAAJ3q3D6U8WY/AAAAAJ7xZj956ty+AACAvwAAAAC2lcU0AAAAAJ7xZr916tw+AAAAAJzq3L6V8Wa/AACAvwAAAAC2lcU0AAAAAJzq3L6V8Wa/AAAAAJ7xZj956ty+AAAAAJ7xZr916tw+AAAAAJ3q3D6U8WY/AACAPwAAAAAAAACAAAAAAJ3q3D6U8WY/AAAAAJ7xZj956ty+AACAPwAAAAAAAACAAAAAAJ7xZr916tw+AAAAAJzq3L6V8Wa/AACAPwAAAAAAAACAAAAAAJzq3L6V8Wa/AAAAAJ7xZj956ty+AACAPwAAAAAAAACA0hx1vmH5fb63T3A/a8D5M7iBd7/tyYK+zI54P7hzer0f+2w+0hx1vmH5fb63T3A/U1C7NLiBdz/vyYI+zI54P7hzer0f+2w+a8D5M7iBd7/tyYK+6Bx1PjT5fT65T3C/zI54P7hzer0f+2w+U1C7NLiBdz/vyYI+6Bx1PjT5fT65T3C/zI54P7hzer0f+2w+zI54vy50ej0T+2y+0hx1vmH5fb63T3A/a8D5M7iBd7/tyYK+zI54vy50ej0T+2y+0hx1vmH5fb63T3A/U1C7NLiBdz/vyYI+zI54vy50ej0T+2y+a8D5M7iBd7/tyYK+6Bx1PjT5fT65T3C/zI54vy50ej0T+2y+U1C7NLiBdz/vyYI+6Bx1PjT5fT65T3C/AAAAAJjxZr+R6tw+AAAAAI/q3D6Y8WY/AACAPwAAAAAwkkyzAAAAAI/q3D6Y8WY/AAAAAJjxZj+R6ty+AACAPwAAAAAwkkyzAAAAAJjxZr+R6tw+AAAAAI/q3L6Y8Wa/AACAPwAAAAAwkkyzAAAAAI/q3L6Y8Wa/AAAAAJjxZj+R6ty+AACAPwAAAAAwkkyzAACAvwAAAAAwkkwyAAAAAJjxZr+R6tw+AAAAAI/q3D6Y8WY/AACAvwAAAAAwkkwyAAAAAI/q3D6Y8WY/AAAAAJjxZj+R6ty+AACAvwAAAAAwkkwyAAAAAJjxZr+R6tw+AAAAAI/q3L6Y8Wa/AACAvwAAAAAwkkwyAAAAAI/q3L6Y8Wa/AAAAAJjxZj+R6ty+AAAAAJ7xZr916tw+AAAAAJ3q3D6U8WY/AACAPwAAAAC2lcU0AAAAAJ3q3D6U8WY/AAAAAJ7xZj956ty+AACAPwAAAAC2lcU0AAAAAJ7xZr916tw+AAAAAJzq3L6V8Wa/AACAPwAAAAC2lcU0AAAAAJzq3L6V8Wa/AAAAAJ7xZj956ty+AACAPwAAAAC2lcU0AACAvwAAAAC2lcWzAAAAAJ7xZr916tw+AAAAAJ3q3D6U8WY/AACAvwAAAAC2lcWzAAAAAJ3q3D6U8WY/AAAAAJ7xZj956ty+AACAvwAAAAC2lcWzAAAAAJ7xZr916tw+AAAAAJzq3L6V8Wa/AACAvwAAAAC2lcWzAAAAAJzq3L6V8Wa/AAAAAJ7xZj956ty+4v1Wv/ra275xEKo+8nHMvl8yZz+ruCE+Jk+8PgAAAAB5Dm4/8nHMvl8yZz+ruCE+Jk+8PgAAAAB5Dm4/4/1WP/3a2z5sEKq+4v1Wv/ra275xEKo+8nHMvl8yZz+ruCE+N0+8vnTILrR2Dm6/8nHMvl8yZz+ruCE+N0+8vnTILrR2Dm6/4/1WP/3a2z5sEKq+4v1Wv/ra275xEKo+Jk+8PgAAAAB5Dm4/CnLMPlgyZ7/MuCG+Jk+8PgAAAAB5Dm4/CnLMPlgyZ7/MuCG+4/1WP/3a2z5sEKq+4v1Wv/ra275xEKo+N0+8vnTILrR2Dm6/CnLMPlgyZ7/MuCG+N0+8vnTILrR2Dm6/CnLMPlgyZ7/MuCG+4/1WP/3a2z5sEKq+9rNov5nxVz4ME7g+5y9OvjLteb98GaM9J0+8Pn8p1rR5Dm4/9rNov5nxVz4ME7g+wy9OPjTteT/HGaO9J0+8Pn8p1rR5Dm4/9rNov5nxVz4ME7g+KE+8vlvGDrV5Dm6/5y9OvjLteb98GaM99rNov5nxVz4ME7g+KE+8vlvGDrV5Dm6/wy9OPjTteT/HGaO95y9OvjLteb98GaM9J0+8Pn8p1rR5Dm4/+LNoP3HxV74RE7i+wy9OPjTteT/HGaO9J0+8Pn8p1rR5Dm4/+LNoP3HxV74RE7i+KE+8vlvGDrV5Dm6/5y9OvjLteb98GaM9+LNoP3HxV74RE7i+KE+8vlvGDrV5Dm6/wy9OPjTteT/HGaO9+LNoP3HxV74RE7i+7LU7v9pxHT/qe5Q+KE+8vlfGjjR5Dm6/N1IRPzrESj+a52W+KE+8vlfGjjR5Dm6/N1IRPzrESj+a52W+67U7P9txHb/me5S+7LU7v9pxHT/qe5Q+LE+8PlvGDrR4Dm4/N1IRPzrESj+a52W+LE+8PlvGDrR4Dm4/N1IRPzrESj+a52W+67U7P9txHb/me5S+7LU7v9pxHT/qe5Q+QlIRvynESr8a6GU+KE+8vlfGjjR5Dm6/QlIRvynESr8a6GU+KE+8vlfGjjR5Dm6/67U7P9txHb/me5S+7LU7v9pxHT/qe5Q+QlIRvynESr8a6GU+LE+8PlvGDrR4Dm4/QlIRvynESr8a6GU+LE+8PlvGDrR4Dm4/67U7P9txHb/me5S+OAlqv+BmO74BIbk+SUQuviytez+E2Yk9KE+8Phgc7TN5Dm4/SUQuviytez+E2Yk9KE+8Phgc7TN5Dm4/OAlqPwRnOz77ILm+OAlqv+BmO74BIbk+Mk+8vg0c7TN3Dm6/SUQuviytez+E2Yk9Mk+8vg0c7TN3Dm6/SUQuviytez+E2Yk9OAlqPwRnOz77ILm+OAlqv+BmO74BIbk+TUQuPiute7+o2Ym9KE+8Phgc7TN5Dm4/TUQuPiute7+o2Ym9KE+8Phgc7TN5Dm4/OAlqPwRnOz77ILm+OAlqv+BmO74BIbk+Mk+8vg0c7TN3Dm6/TUQuPiute7+o2Ym9Mk+8vg0c7TN3Dm6/TUQuPiute7+o2Ym9OAlqPwRnOz77ILm+FXFmv/za274FWZU9HiPbvl4yZz/gBQ49xl6lPZHTi7QAKn8/HiPbvl4yZz/gBQ49xl6lPZHTi7QAKn8/FXFmP//a2z4AWZW9FXFmv/za274FWZU9HiPbvl4yZz/gBQ49Dl+lvZDTC7P/KX+/HiPbvl4yZz/gBQ49Dl+lvZDTC7P/KX+/FXFmP//a2z4AWZW9FXFmv/za274FWZU9xl6lPZHTi7QAKn8/OyPbPlcyZ7+SBQ69xl6lPZHTi7QAKn8/OyPbPlcyZ7+SBQ69FXFmP//a2z4AWZW9FXFmv/za274FWZU9Dl+lvZDTC7P/KX+/OyPbPlcyZ7+SBQ69Dl+lvZDTC7P/KX+/OyPbPlcyZ7+SBQ69FXFmP//a2z4AWZW9/mx5v6HxVz6qp6E9DwFdvjTteb9nO488yV6lPYc8E7UAKn8//mx5v6HxVz6qp6E9yV6lPYc8E7UAKn8/DQFdPjTteT/2PI+8/mx5v6HxVz6qp6E9DwFdvjTteb9nO488216lvVfGjjMAKn+//mx5v6HxVz6qp6E9216lvVfGjjMAKn+/DQFdPjTteT/2PI+8DwFdvjTteb9nO488yV6lPYc8E7UAKn8/Am15P2/xV74Gp6G9yV6lPYc8E7UAKn8/DQFdPjTteT/2PI+8Am15P2/xV74Gp6G9DwFdvjTteb9nO488216lvVfGjjMAKn+/Am15P2/xV74Gp6G9216lvVfGjjMAKn+/DQFdPjTteT/2PI+8Am15P2/xV74Gp6G9ODNJv9txHT/rZYI9zl6lvU3GDjQAKn+/scMbPzTESj+W5Um9zl6lvU3GDjQAKn+/scMbPzTESj+W5Um9OzNJP9pxHb/8ZIK9ODNJv9txHT/rZYI99F6lPWDGjrQAKn8/scMbPzTESj+W5Um99F6lPWDGjrQAKn8/scMbPzTESj+W5Um9OzNJP9pxHb/8ZIK9ODNJv9txHT/rZYI9vcMbvynESr+C50k9zl6lvU3GDjQAKn+/vcMbvynESr+C50k9zl6lvU3GDjQAKn+/OzNJP9pxHb/8ZIK9ODNJv9txHT/rZYI9vcMbvynESr+C50k99F6lPWDGjrQAKn8/vcMbvynESr+C50k99F6lPWDGjrQAKn8/OzNJP9pxHb/8ZIK9yNp6v+NmO74klKI9Ico6vi2tez/IHnI8/16lPQAAAAAAKn8/Ico6vi2tez/IHnI8/16lPQAAAAAAKn8/x9p6PwdnOz6hk6K9yNp6v+NmO74klKI9Ico6vi2tez/IHnI8/F6lvQ0c7TIAKn+/Ico6vi2tez/IHnI8/F6lvQ0c7TIAKn+/x9p6PwdnOz6hk6K9yNp6v+NmO74klKI9/16lPQAAAAAAKn8/Zso6Piqte7/lHHK8/16lPQAAAAAAKn8/Zso6Piqte7/lHHK8x9p6PwdnOz6hk6K9yNp6v+NmO74klKI9/F6lvQ0c7TIAKn+/Zso6Piqte7/lHHK8/F6lvQ0c7TIAKn+/Zso6Piqte7/lHHK8x9p6PwdnOz6hk6K9zrlmv/3a277092u9QWjbvmAyZz8pZOC8SqSCvW/ILrOGen8/QWjbvmAyZz8pZOC8SqSCvW/ILrOGen8/zrlmP//a2z5X92s9zrlmv/3a277092u9QWjbvmAyZz8pZOC8J6SCPZLTi7OHen+/QWjbvmAyZz8pZOC8J6SCPZLTi7OHen+/zrlmP//a2z5X92s9zrlmv/3a277092u9SqSCvW/ILrOGen8/Z2jbPlcyZ79eZOA8SqSCvW/ILrOGen8/Z2jbPlcyZ79eZOA8zrlmP//a2z5X92s9zrlmv/3a277092u9J6SCPZLTi7OHen+/Z2jbPlcyZ79eZOA8J6SCPZLTi7OHen+/Z2jbPlcyZ79eZOA8zrlmP//a2z5X92s9uLt5v5jxVz5KZ3+9zkZdvjTteb/STGK8Z6SCvaOp5LSGen8/uLt5v5jxVz5KZ3+9Z6SCvaOp5LSGen8/zUZdPjTteT+OS2I8uLt5v5jxVz5KZ3+9zkZdvjTteb/STGK8VqSCPRufoLKHen+/uLt5v5jxVz5KZ3+9VqSCPRufoLKHen+/zUZdPjTteT+OS2I8zkZdvjTteb/STGK8Z6SCvaOp5LSGen8/uLt5P3PxV77gaX89Z6SCvaOp5LSGen8/zUZdPjTteT+OS2I8uLt5P3PxV77gaX89zkZdvjTteb/STGK8VqSCPRufoLKHen+/uLt5P3PxV77gaX89VqSCPRufoLKHen+/zUZdPjTteT+OS2I8uLt5P3PxV77gaX89uHJJv9txHT9GB069ZaSCPR6fIDSGen+/2fQbPzPESj+vgB89ZaSCPR6fIDSGen+/2fQbPzPESj+vgB89t3JJP9xxHb8KBk49uHJJv9txHT9GB069PKSCvW/av7SIen8/2fQbPzPESj+vgB89PKSCvW/av7SIen8/2fQbPzPESj+vgB89t3JJP9xxHb8KBk49uHJJv9txHT9GB0694fQbvy3ESr+0gB+9ZaSCPR6fIDSGen+/4fQbvy3ESr+0gB+9ZaSCPR6fIDSGen+/t3JJP9xxHb8KBk49uHJJv9txHT9GB0694fQbvy3ESr+0gB+9PKSCvW/av7SIen8/4fQbvy3ESr+0gB+9PKSCvW/av7SIen8/t3JJP9xxHb8KBk498yl7v+tmO76hb4C9HQU7vi2tez/NRD+8SqSCvT8DI7OHen8/HQU7vi2tez/NRD+8SqSCvT8DI7OHen8/8yl7P/9mOz6fb4A98yl7v+tmO76hb4C9HQU7vi2tez/NRD+8JqSCPYMxFDOHen+/HQU7vi2tez/NRD+8JqSCPYMxFDOHen+/8yl7P/9mOz6fb4A98yl7v+tmO76hb4C9SqSCvT8DI7OHen8/RQU7Piute7+IRT88SqSCvT8DI7OHen8/RQU7Piute7+IRT888yl7P/9mOz6fb4A98yl7v+tmO76hb4C9JqSCPYMxFDOHen+/RQU7Piute7+IRT88JqSCPYMxFDOHen+/RQU7Piute7+IRT888yl7P/9mOz6fb4A9NcVev/na275DZXe+oNfTvlsyZz9tQuu98/eIvpDTi7Ntq3Y/oNfTvlsyZz9tQuu98/eIvpDTi7Ntq3Y/MsVeP//a2z5QZXc+NcVev/na275DZXe+oNfTvlsyZz9tQuu95veIPla9UbNuq3a/oNfTvlsyZz9tQuu95veIPla9UbNuq3a/MsVeP//a2z5QZXc+NcVev/na275DZXe+8/eIvpDTi7Ntq3Y/tNfTPlcyZ79lQus98/eIvpDTi7Ntq3Y/tNfTPlcyZ79lQus9MsVeP//a2z5QZXc+NcVev/na275DZXe+5veIPla9UbNuq3a/tNfTPlcyZ79lQus95veIPla9UbNuq3a/tNfTPlcyZ79lQus9MsVeP//a2z5QZXc+Uh9xv7bxVz5s44W+8/eIvnsp1rRtq3Y/paVVvjPteb+YQ229Uh9xv7bxVz5s44W+8/eIvnsp1rRtq3Y/paVVPjTteT/yQm09Uh9xv7bxVz5s44W+paVVvjPteb+YQ2297/eIPlfGjrNtq3a/Uh9xv7bxVz5s44W+paVVPjTteT/yQm097/eIPlfGjrNtq3a/8/eIvnsp1rRtq3Y/paVVvjPteb+YQ229Vx9xP2rxV75o44U+8/eIvnsp1rRtq3Y/paVVPjTteT/yQm09Vx9xP2rxV75o44U+paVVvjPteb+YQ2297/eIPlfGjrNtq3a/Vx9xP2rxV75o44U+paVVPjTteT/yQm097/eIPlfGjrNtq3a/Vx9xP2rxV75o44U+ioBCv9pxHT/bAFi++feIPoIp1jRsq3a/N5QWPzDESj/LOSc++feIPoIp1jRsq3a/N5QWPzDESj/LOSc+i4BCP9xxHb+4AFg+ioBCv9pxHT/bAFi+7feIvoIp1rRuq3Y/N5QWPzDESj/LOSc+7feIvoIp1rRuq3Y/N5QWPzDESj/LOSc+i4BCP9xxHb+4AFg+ioBCv9pxHT/bAFi+QZQWvyvESr+oOSe++feIPoIp1jRsq3a/QZQWvyvESr+oOSe++feIPoIp1jRsq3a/i4BCP9xxHb+4AFg+ioBCv9pxHT/bAFi+QZQWvyvESr+oOSe+7feIvoIp1rRuq3Y/QZQWvyvESr+oOSe+7feIvoIp1rRuq3Y/i4BCP9xxHb+4AFg+74Byv+ZmO77Bp4a+8/eIvhkc7bNtq3Y/T5I0vi2tez9HiEi98/eIvhkc7bNtq3Y/T5I0vi2tez9HiEi974ByP/xmOz6/p4Y+74Byv+ZmO77Bp4a+T5I0vi2tez9HiEi95PeIPg4cbbNvq3a/T5I0vi2tez9HiEi95PeIPg4cbbNvq3a/74ByP/xmOz6/p4Y+74Byv+ZmO77Bp4a+8/eIvhkc7bNtq3Y/epI0Piqte7+giEg98/eIvhkc7bNtq3Y/epI0Piqte7+giEg974ByP/xmOz6/p4Y+74Byv+ZmO77Bp4a+epI0Piqte7+giEg95PeIPg4cbbNvq3a/epI0Piqte7+giEg95PeIPg4cbbNvq3a/74ByP/xmOz6/p4Y+JU+8vgAAAAB6Dm4/8nHMPl8yZz+ruCE+4v1WP/va275xEKo+4/1Wv/3a2z5sEKq+JU+8vgAAAAB6Dm4/8nHMPl8yZz+ruCE+N0+8PpHTC7R2Dm6/8nHMPl8yZz+ruCE+4v1WP/va275xEKo+4/1Wv/3a2z5sEKq+N0+8PpHTC7R2Dm6/8nHMPl8yZz+ruCE+DHLMvlgyZ7/MuCG+JU+8vgAAAAB6Dm4/4v1WP/va275xEKo+4/1Wv/3a2z5sEKq+DHLMvlgyZ7/MuCG+JU+8vgAAAAB6Dm4/DHLMvlgyZ7/MuCG+N0+8PpHTC7R2Dm6/4v1WP/va275xEKo+4/1Wv/3a2z5sEKq+DHLMvlgyZ7/MuCG+N0+8PpHTC7R2Dm6/JE+8vlXGDrV6Dm4/6i9OPjPteb9+GaM997NoP5zxVz4KE7g+JE+8vlXGDrV6Dm4/xS9OvjTteT/FGaO997NoP5zxVz4KE7g+6i9OPjPteb9+GaM9Jk+8PlrGDrV5Dm6/97NoP5zxVz4KE7g+xS9OvjTteT/FGaO9Jk+8PlrGDrV5Dm6/97NoP5zxVz4KE7g+97Nov27xV74VE7i+JE+8vlXGDrV6Dm4/6i9OPjPteb9+GaM997Nov27xV74VE7i+JE+8vlXGDrV6Dm4/xS9OvjTteT/FGaO997Nov27xV74VE7i+6i9OPjPteb9+GaM9Jk+8PlrGDrV5Dm6/97Nov27xV74VE7i+xS9OvjTteT/FGaO9Jk+8PlrGDrV5Dm6/NVIRvzvESj+R52W+Jk+8PlbGjjR6Dm6/7LU7P9txHT/qe5Q+67U7v9txHb/me5S+NVIRvzvESj+R52W+Jk+8PlbGjjR6Dm6/NVIRvzvESj+R52W+LE+8vlvGjrR4Dm4/7LU7P9txHT/qe5Q+67U7v9txHb/me5S+NVIRvzvESj+R52W+LE+8vlvGjrR4Dm4/Jk+8PlbGjjR6Dm6/RVIRPybESr8d6GU+7LU7P9txHT/qe5Q+67U7v9txHb/me5S+Jk+8PlbGjjR6Dm6/RVIRPybESr8d6GU+LE+8vlvGjrR4Dm4/RVIRPybESr8d6GU+7LU7P9txHT/qe5Q+67U7v9txHb/me5S+LE+8vlvGjrR4Dm4/RVIRPybESr8d6GU+KE+8vhgc7TN5Dm4/TEQuPiutez+C2Yk9OAlqP+VmO74BIbk+OAlqvwFnOz76ILm+KE+8vhgc7TN5Dm4/TEQuPiutez+C2Yk9TEQuPiutez+C2Yk9Lk+8Pgkc7TN4Dm6/OAlqP+VmO74BIbk+OAlqvwFnOz76ILm+TEQuPiutez+C2Yk9Lk+8Pgkc7TN4Dm6/KE+8vhgc7TN5Dm4/TUQuviute7+o2Ym9OAlqP+VmO74BIbk+OAlqvwFnOz76ILm+KE+8vhgc7TN5Dm4/TUQuviute7+o2Ym9TUQuviute7+o2Ym9Lk+8Pgkc7TN4Dm6/OAlqP+VmO74BIbk+OAlqvwFnOz76ILm+TUQuviute7+o2Ym9Lk+8Pgkc7TN4Dm6/xl6lvZHTi7QAKn8/HCPbPl8yZz/hBQ49FXFmP/ra274FWZU9FXFmv//a2z4AWZW9xl6lvZHTi7QAKn8/HCPbPl8yZz/hBQ49Dl+lPZDTi7P/KX+/HCPbPl8yZz/hBQ49FXFmP/ra274FWZU9FXFmv//a2z4AWZW9Dl+lPZDTi7P/KX+/HCPbPl8yZz/hBQ49PCPbvlcyZ7+SBQ69xl6lvZHTi7QAKn8/FXFmP/ra274FWZU9FXFmv//a2z4AWZW9PCPbvlcyZ7+SBQ69xl6lvZHTi7QAKn8/PCPbvlcyZ7+SBQ69Dl+lPZDTi7P/KX+/FXFmP/ra274FWZU9FXFmv//a2z4AWZW9PCPbvlcyZ7+SBQ69Dl+lPZDTi7P/KX+/x16lvVTGDrUAKn8/EwFdPjTteb9oO488/Wx5P6PxVz6rp6E9CQFdvjTteT/1PI+8x16lvVTGDrUAKn8//Wx5P6PxVz6rp6E93V6lPVfGDjQAKn+/EwFdPjTteb9oO488/Wx5P6PxVz6rp6E9CQFdvjTteT/1PI+83V6lPVfGDjQAKn+//Wx5P6PxVz6rp6E9Am15v27xV77rpqG9x16lvVTGDrUAKn8/EwFdPjTteb9oO488Am15v27xV77rpqG9CQFdvjTteT/1PI+8x16lvVTGDrUAKn8/Am15v27xV77rpqG93V6lPVfGDjQAKn+/EwFdPjTteb9oO488Am15v27xV77rpqG9CQFdvjTteT/1PI+83V6lPVfGDjQAKn+/ssMbvzTESj995Um9zl6lPU3GDjQAKn+/ODNJP9txHT/qZYI9OzNJv9txHb/9ZIK9ssMbvzTESj995Um9zl6lPU3GDjQAKn+/ssMbvzTESj995Um99l6lvWHGjrQAKn8/ODNJP9txHT/qZYI9OzNJv9txHb/9ZIK9ssMbvzTESj995Um99l6lvWHGjrQAKn8/zl6lPU3GDjQAKn+/u8MbPyrESr+B50k9ODNJP9txHT/qZYI9OzNJv9txHb/9ZIK9zl6lPU3GDjQAKn+/u8MbPyrESr+B50k99l6lvWHGjrQAKn8/u8MbPyrESr+B50k9ODNJP9txHT/qZYI9OzNJv9txHb/9ZIK99l6lvWHGjrQAKn8/u8MbPyrESr+B50k9BF+lvQAAAAAAKn8/GMo6Pi2tez/FHnI8yNp6P+RmO74klKI9x9p6vwVnOz6hk6K9BF+lvQAAAAAAKn8/GMo6Pi2tez/FHnI8+16lPQscbTMAKn+/GMo6Pi2tez/FHnI8yNp6P+RmO74klKI9x9p6vwVnOz6hk6K9+16lPQscbTMAKn+/GMo6Pi2tez/FHnI8aso6viqte7/lHHK8BF+lvQAAAAAAKn8/yNp6P+RmO74klKI9x9p6vwVnOz6hk6K9aso6viqte7/lHHK8BF+lvQAAAAAAKn8/aso6viqte7/lHHK8+16lPQscbTMAKn+/yNp6P+RmO74klKI9x9p6vwVnOz6hk6K9aso6viqte7/lHHK8+16lPQscbTMAKn+/SqSCPYzTC7OHen8/QWjbPmAyZz8pZOC8zrlmP/3a277092u9zrlmv//a2z5X92s9SqSCPYzTC7OHen8/QWjbPmAyZz8pZOC8KKSCvZPTi7OIen+/QWjbPmAyZz8pZOC8zrlmP/3a277092u9zrlmv//a2z5X92s9KKSCvZPTi7OIen+/QWjbPmAyZz8pZOC8Z2jbvlYyZ79eZOA8SqSCPYzTC7OHen8/zrlmP/3a277092u9zrlmv//a2z5X92s9Z2jbvlYyZ79eZOA8SqSCPYzTC7OHen8/Z2jbvlYyZ79eZOA8KKSCvZPTi7OIen+/zrlmP/3a277092u9zrlmv//a2z5X92s9Z2jbvlYyZ79eZOA8KKSCvZPTi7OIen+/Z6SCPUgC6LSGen8/zkZdPjTteb/STGK8ubt5P5bxVz5KZ3+9z0ZdvjTteT+OS2I8Z6SCPUgC6LSGen8/ubt5P5bxVz5KZ3+9V6SCvVHGDrOHen+/zkZdPjTteb/STGK8ubt5P5bxVz5KZ3+9z0ZdvjTteT+OS2I8V6SCvVHGDrOHen+/ubt5P5bxVz5KZ3+9uLt5v3HxV76aaX89Z6SCPUgC6LSGen8/zkZdPjTteb/STGK8uLt5v3HxV76aaX89z0ZdvjTteT+OS2I8Z6SCPUgC6LSGen8/uLt5v3HxV76aaX89V6SCvVHGDrOHen+/zkZdPjTteb/STGK8uLt5v3HxV76aaX89z0ZdvjTteT+OS2I8V6SCvVHGDrOHen+/1/QbvzXESj+egB89ZKSCveh3MjSHen+/uHJJP9txHT9IB069t3JJv9xxHb8KBk491/QbvzXESj+egB89ZKSCveh3MjSHen+/1/QbvzXESj+egB89OaSCPZ5QxLSHen8/uHJJP9txHT9IB069t3JJv9xxHb8KBk491/QbvzXESj+egB89OaSCPZ5QxLSHen8/ZKSCveh3MjSHen+/4vQbPyzESr+0gB+9uHJJP9txHT9IB069t3JJv9xxHb8KBk49ZKSCveh3MjSHen+/4vQbPyzESr+0gB+9OaSCPZ5QxLSHen8/4vQbPyzESr+0gB+9uHJJP9txHT9IB069t3JJv9xxHb8KBk49OaSCPZ5QxLSHen8/4vQbPyzESr+0gB+9SqSCPT8DI7OHen8/IAU7Pi2tez/MRD+88yl7P+xmO76hb4C98il7v/9mOz6fb4A9SqSCPT8DI7OHen8/IAU7Pi2tez/MRD+8IaSCvX8xFDOHen+/IAU7Pi2tez/MRD+88yl7P+xmO76hb4C98il7v/9mOz6fb4A9IaSCvX8xFDOHen+/IAU7Pi2tez/MRD+8SQU7viute7+IRT88SqSCPT8DI7OHen8/8yl7P+xmO76hb4C98il7v/9mOz6fb4A9SQU7viute7+IRT88SqSCPT8DI7OHen8/SQU7viute7+IRT88IaSCvX8xFDOHen+/8yl7P+xmO76hb4C98il7v/9mOz6fb4A9SQU7viute7+IRT88IaSCvX8xFDOHen+/8veIPo/Ti7Ntq3Y/oNfTPlwyZz9tQuu9NMVeP/ra275DZXe+MsVev//a2z5QZXc+8veIPo/Ti7Ntq3Y/oNfTPlwyZz9tQuu95/eIvpDTi7Nvq3a/oNfTPlwyZz9tQuu9NMVeP/ra275DZXe+MsVev//a2z5QZXc+5/eIvpDTi7Nvq3a/oNfTPlwyZz9tQuu9tNfTvlcyZ79jQus98veIPo/Ti7Ntq3Y/NMVeP/ra275DZXe+MsVev//a2z5QZXc+tNfTvlcyZ79jQus98veIPo/Ti7Ntq3Y/tNfTvlcyZ79jQus95/eIvpDTi7Nvq3a/NMVeP/ra275DZXe+MsVev//a2z5QZXc+tNfTvlcyZ79jQus95/eIvpDTi7Nvq3a/paVVPjPteb+YQ2298PeIPngp1rRtq3Y/Uh9xP7bxVz5s44W+pKVVvjTteT/xQm098PeIPngp1rRtq3Y/Uh9xP7bxVz5s44W+7/eIvgAAAABuq3a/paVVPjPteb+YQ229Uh9xP7bxVz5s44W+7/eIvgAAAABuq3a/pKVVvjTteT/xQm09Uh9xP7bxVz5s44W+Vx9xv2nxV75l44U+paVVPjPteb+YQ2298PeIPngp1rRtq3Y/Vx9xv2nxV75l44U+pKVVvjTteT/xQm098PeIPngp1rRtq3Y/Vx9xv2nxV75l44U+7/eIvgAAAABuq3a/paVVPjPteb+YQ229Vx9xv2nxV75l44U+7/eIvgAAAABuq3a/pKVVvjTteT/xQm09N5QWvzHESj/JOSc+9/eIvoAp1jRtq3a/i4BCP9hxHT/ZAFi+i4BCv9xxHb+2AFg+N5QWvzHESj/JOSc+9/eIvoAp1jRtq3a/N5QWvzHESj/JOSc+7feIPoEp1rRuq3Y/i4BCP9hxHT/ZAFi+i4BCv9xxHb+2AFg+N5QWvzHESj/JOSc+7feIPoEp1rRuq3Y/9/eIvoAp1jRtq3a/QJQWPyvESr+nOSe+i4BCP9hxHT/ZAFi+i4BCv9xxHb+2AFg+9/eIvoAp1jRtq3a/QJQWPyvESr+nOSe+7feIPoEp1rRuq3Y/QJQWPyvESr+nOSe+i4BCP9hxHT/ZAFi+i4BCv9xxHb+2AFg+7feIPoEp1rRuq3Y/QJQWPyvESr+nOSe+UJI0Pi2tez9IiEi98/eIPhcc7bNtq3Y/74ByP+ZmO77Ap4a+74Byv/1mOz6/p4Y+UJI0Pi2tez9IiEi98/eIPhcc7bNtq3Y/4/eIvgscbbNvq3a/UJI0Pi2tez9IiEi974ByP+ZmO77Ap4a+74Byv/1mOz6/p4Y+4/eIvgscbbNvq3a/UJI0Pi2tez9IiEi9gJI0viqte7+fiEg98/eIPhcc7bNtq3Y/74ByP+ZmO77Ap4a+74Byv/1mOz6/p4Y+gJI0viqte7+fiEg98/eIPhcc7bNtq3Y/4/eIvgscbbNvq3a/gJI0viqte7+fiEg974ByP+ZmO77Ap4a+74Byv/1mOz6/p4Y+4/eIvgscbbNvq3a/gJI0viqte7+fiEg9Uf3fPULt2z5SNAg+HvgXP74BAD1MAog+UDQIPh74Fz97/j8+Qu3bPlH93z1MAog+ev4/Plzwpz5QNAg+Qu3bPr4BAD1C7ds+UDQIPkLt2z4k/4c+XPCnPlH93z1C7ds+mgJwPh74Fz9R/d89XPCnPpoCcD4e+Bc/NR+gPh74Fz/KAQA9HvgXP3v+Pz5c8Kc+mgJwPkLt2z56/j8+Qu3bPpoCcD5C7ds+NR+gPkLt2z6+AQA9Qu3bPiT/hz5C7ds+ogUQP/j3fz7Ti0w/MBqBPvADST94v7Y9G3kSP6oGgT5tACQ/+Pd/Prz+XD94v7Y9R/tPP378pz5b50o/GnbUPvyaST8wGoE+kx0UPxp21D4W/WE/fvynPswdWz8wGoE+0VRFP3i/tj2iBRA/xLUXPvD1MT8wGoE+BloxP3i/tj39Di0/qgaBPm0AJD/EtRc+xb1EPzAagT5H+08/kCnYPmqaMz8adtQ++DozPzAagT6Hais/GnbUPhb9YT+QKdg+HBCgPaABAD21MvA9lPJvPscXYD548Ac+Svr/PKABAD3j/i8+ePAHPrUy8D2U8m8+HBCgPXjwBz6yMvA9ePAHPuP+Lz7wKD89Svr/PHjwBz7yAAA+8Cg/PbIy8D188Ac+Svr/PJTybz7HF2A+8Cg/PRwQoD2gAQA94/4vPvAoPz2/BFA+lPJvPvgL+z2gAQA9Svr/PHjwBz7j/i8+ePAHPhwQoD148Ac+8gAAPnjwBz6/BFA+ePAHPvIAAD548Ac+d4IvP4SbLj53gi8/hJsuPneCLz/AqKo+d4IvP8Coqj5M/04/iOKqPkz/Tj+I4qo+YyxHP4SbLj5jLEc/hJsuPmEsRz98my4+YSxHP3ybLj53gi8/iOKqPneCLz+I4qo+ogUQP8Coqj6iBRA/wKiqPkvWXj+Emy4+S9ZeP4SbLj5tAnI/8My/PWkAbD+gx/48ZgZmP6DH/jxvAHg/8My/PWkAbD/Ax/48ZgZmPwCX/jttAnI/wMf+PG0Ccj8Al/47aQBsP/DMvz1vAHg/wMf+PGkAbD8Al/47aQBsP/DMvz1tAnI/4Mf+PGkAbD+gx/48bwB4P+DH/jxmBmY/oMf+PGkAbD8Al/47dAJ+P+DH/jxtAnI/oMf+PG0Ccj/wzL89bwB4P/DMvz1rAGw/oMf+PGYGZj/wzL89dAJ+P/DMvz0vBXI/PNMPPi8Fcj8g9Rc+qAFmP9j9Lz4vBXI/wDzQPagBZj880w8+LwVyPyg68D2oAGw/PNMPPi8Fcj/Y/S8+LwVyP9j9Lz6oAGw/wDzQPS8Fcj880w8+0xh4Pyg68D3TGHg/IPUXPqgAbD/Y/S8+qABsP8A80D2oAGw/PNMPPi8Fcj9A0w8+qABsPzzTDz7TGHg/2P0vPqgAbD/Y/S8+qAFmP8A80D2oAGw/PNMPPtMYeD9A0w8+qAFmPzzTDz6l/20/sPpnPqX/bT8g+lc+9QBmP8j6Tz6l/20/yPpPPvUAZj/o/Tc+pf9tPwD1Pz5NAGo/rPpnPqX/bT+w+mc+pf9tP8j6Tz5NAGo/yPpPPqX/bT/o/Tc+/f5xPwD1Pz79/nE/IPpXPk0Aaj/I+k8+TQBqP8j6Tz5NAGo/5P03PqX/bT/I+k8+TQBqP7D6Zz79/nE/sPpnPk0Aaj/I+k8+9QBmP8j6Tz5NAGo/6P03Pv3+cT/I+k8+9QBmP7D6Zz5mBmY/oMf+PGkAbD+gx/48bQJyP/DMvz1mBmY/AJf+O2kAbD/Ax/48bwB4P/DMvz1pAGw/8My/PW0Ccj8Al/47bQJyP8DH/jxpAGw/8My/PWkAbD8Al/47bwB4P8DH/jxvAHg/4Mf+PGkAbD+gx/48bQJyP+DH/jx0An4/4Mf+PGkAbD8Al/47ZgZmP6DH/jxvAHg/8My/PW0Ccj/wzL89bQJyP6DH/jx0An4/8My/PWYGZj/wzL89awBsP6DH/jwvBXI/IPUXPqgBZj/Y/S8+LwVyPzzTDz6oAWY/PNMPPi8Fcj8oOvA9LwVyP8A80D0vBXI/2P0vPi8Fcj/Y/S8+qABsPzzTDz4vBXI/PNMPPtMYeD8oOvA9qABsP8A80D2oAGw/wDzQPdMYeD8g9Rc+qABsP9j9Lz6oAGw/PNMPPqgAbD880w8+LwVyP0DTDz6oAWY/wDzQPdMYeD/Y/S8+qABsP9j9Lz6oAWY/PNMPPqgAbD880w8+0xh4P0DTDz6l/20/IPpXPvUAZj/I+k8+pf9tP7D6Zz71AGY/6P03PqX/bT8A9T8+pf9tP8j6Tz6l/20/sPpnPqX/bT/I+k8+TQBqP6z6Zz6l/20/6P03Pv3+cT8A9T8+TQBqP8j6Tz5NAGo/yPpPPv3+cT8g+lc+TQBqP8j6Tz5NAGo/sPpnPk0Aaj/k/Tc+pf9tP8j6Tz71AGY/yPpPPv3+cT+w+mc+TQBqP8j6Tz71AGY/sPpnPk0Aaj/o/Tc+/f5xP8j6Tz7wAh4/G/1rP3r2KT+JBGY//QQMP9gSRD969ik/VAZgP2kFEj/YEkQ/rQoYP9gSRD8z+yM/Gv1rPzP7Iz+JBGY/aQUSPxv9az8z+yM/VAZgP60KGD8a/Ws/8AIeP9gSRD/wAh4/1xJEP/wEDD8b/Ws/fPYpP4oEZj9pBRI/G/1rP3z2KT8b/Ws/rgoYPxv9az8z+yM/1xJEP2kFEj/XEkQ/M/sjP4oEZj+tChg/2BJEPzP7Iz8a/Ws/8AIePxv9az8K+0s/LP9rP6MCRj8sAFI/FQEuPywAUj8K+0s/uxFmPzwSQD8s/2s/fw40P8D2UT+jAkY/LP9rP38OND/A9Ws/PBJAPywAUj+jAkY/uxFmPx4HOj8s/2s/Hgc6Pyz/az+jAkY/LP9rPxUBLj8s/2s/CvtLP0oEYD88EkA/LQBSP38OND/A9Ws/CvtLP7sRZj+ADjQ/wPZRPzwSQD8s/2s/owJGP0oEYD8eBzo/LQBSPx4HOj8sAFI/owJGP7oRZj+MEMw+5QJMP9Hysz7mBGY/2gDkPuYEZj/W/b8+5gRmP9oA5D6iC2A/2gDkPuUCTD8Z/dc+5QJMP4wQzD7mBGY/NCDwPuYEZj/W/b8+5gRmPzQg8D6iC2A/G/3XPuUCTD+MEMw+5gRmPzIg8D6iC2A/0fKzPuUCTD8yIPA++f1ZP9X9vz7lAkw/2gDkPuYEZj8Z/dc+5gRmP9oA5D6iC2A/jBDMPuUCTD/aAOQ++f1ZP9b9vz7lAkw/Gf3XPuYEZj/bDWg/Ce9DP40Abj+zAGY/WBFWP6b0az+NAG4/C/JfPz8KUD+m9Gs/cihcPwnvQz8nA2I/Ce9DP1oRVj+m9Gs/2w1oP7IAZj9zaFw/pvRrP9sNaD8L8l8/JwNiPwnvQz/bDWg/pvRrP40Abj+zAGY/WBFWPwnvQz+NAG4/pvRrPz0KUD8J70M/c2hcP6b0az8nQ2I/pvRrP1gRVj8J70M/2w1oP7MAZj9zKFw/Ce9DP9sNaD+m9Gs/J0NiP6b0az8z+yM/1xJEP3z2KT+KBGY/agUSP9cSRD989ik/VAZgP60KGD/YEkQ/rgoYP9gSRD/wAh4/2BJEPzP7Iz+KBGY//QQMPxv9az8z+yM/VAZgP2kFEj8a/Ws/8AIeP9gSRD8z+yM/G/1rP2kFEj8b/Ws/fPYpP4oEZj+tChg/G/1rP3z2KT8b/Ws/rQoYPxv9az/wAh4/G/1rP/wEDD/XEkQ/M/sjP4oEZj9pBRI/1xJEPzP7Iz8b/Ws/8AIePxv9az8K+0s/LP9rPzwSQD8s/2s/fw40P8D1az8K+0s/uxFmPxYBLj8s/2s/PBJAPyz/az+jAkY/LP9rP6MCRj8s/2s/Hgc6Py0AUj+jAkY/uxFmP38OND/A9lE/Hgc6Pyz/az88EkA/LABSP38OND/B9lE/owJGP7sRZj8VAS4/LQBSPzwSQD8sAFI/owJGP0oEYD+jAkY/LABSPx4HOj8s/2s/CvtLP7sRZj9/DjQ/wPVrPx4HOj8sAFI/CvtLP0oEYD8Z/dc+5gRmP9b9vz7lAkw/NCDwPqILYD/R8rM+5QJMPzIg8D7mBGY/2gDkPuUCTD+MEMw+5gRmP4wQzD7mBGY/2gDkPqILYD/W/b8+5gRmP9oA5D7mBGY/Gf3XPuUCTD8Z/dc+5QJMPzIg8D6iC2A/1f2/PuYEZj8yIPA++P1ZP9Hysz7mBGY/2gDkPuYEZj+MEMw+5QJMP9oA5D6hC2A/jBDMPuUCTD/aAOQ++P1ZP9b9vz7lAkw/Gf3XPuYEZj/bDWg/Cu9DP48Abj+yAGY/WBFWPwnvQz+PAG4/CvJfP3IoXD8K70M/cyhcPwrvQz8nA2I/Cu9DP9sNaD+zAGY/PwpQP6b0az/bDWg/C/JfP1gRVj+m9Gs/JwNiPwrvQz/bDWg/pvRrP1gRVj+m9Gs/jwBuP7QAZj9yaFw/pvRrP48Abj+m9Gs/c2hcP6b0az8nQ2I/pvRrPz0KUD8J70M/2w1oP7QAZj9YEVY/Ce9DP9sNaD+m9Gs/J0NiP6b0az/wAh4/G/1rP3r2KT+KBGY//AQMP9cSRD969ik/VAZgP2kFEj/XEkQ/rQoYP9gSRD8x+yM/G/1rPzP7Iz+KBGY/rQoYP9gSRD8x+yM/VAZgP2kFEj/YEkQ/8AIeP9gSRD/wAh4/1xJEP/0EDD8b/Ws/MfsjPxr9az9pBRI/G/1rPzH7Iz+KBGY/rQoYPxv9az8x+yM/2BJEP60KGD8b/Ws/evYpPxv9az9pBRI/G/1rP3r2KT+KBGY/8AIePxv9az+jAkY/uxFmP6MCRj8sAFI/FgEuPy0AUj+jAkY/LP9rP38OND/A9lE/Hgc6Py0AUj8K+0s/uxFmPzwSQD8sAFI/Hgc6PywAUj8K+0s/LP9rP38OND/A9lE/PBJAPywAUj+jAkY/LP9rPxUBLj8s/2s/CvtLP0oEYD9/DjQ/wPVrPx4HOj8s/2s/CvtLP7sRZj88EkA/LP9rPx4HOj8s/2s/owJGP0oEYD+ADjQ/wPVrPzwSQD8s/2s/owJGP7oRZj8Z/dc+5gRmP9b9vz7mBGY/MiDwPqILYD+MEMw+5gRmPzIg8D7mBGY/Gf3XPuYEZj+MEMw+5gRmP9Hysz7lAkw/2gDkPqILYD/W/b8+5QJMP9oA5D7mBGY/2gDkPuYEZj8Z/dc+5QJMP9oA5D74/Vk/1v2/PuUCTD/aAOQ+oQtgP4wQzD7lAkw/Gf3XPuUCTD+MEMw+5QJMPzIg8D74/Vk/0fKzPuYEZj8yIPA+ogtgP9b9vz7mBGY/2gDkPuUCTD8nA2I/Ce9DP40Abj+yAGY/WBFWP6b0az+NAG4/CvJfPz8KUD+m9Gs/JwNiPwrvQz9zKFw/Ce9DP9sNaD+zAGY/WBFWP6b0az/bDWg/CvJfP3NoXD+m9Gs/2w1oPwrvQz8nQ2I/pvRrP1gRVj8J70M/jQBuP7MAZj89ClA/Ce9DP40Abj+m9Gs/J0NiP6b0az9zaFw/pvRrP1gRVj8K70M/2w1oP7QAZj9zKFw/Cu9DP9sNaD+m9Gs/2w1oP6b0az8z+yM/1xJEP3z2KT+KBGY/rQoYPxv9az989ik/VAZgP2kFEj8a/Ws/rgoYP9gSRD/wAh4/1xJEPzP7Iz+JBGY/aQUSP9gSRD8z+yM/VAZgP/0EDD/YEkQ/8AIeP9gSRD8z+yM/G/1rP60KGD/XEkQ/M/sjPxr9az9pBRI/1xJEPzP7Iz+KBGY/rQoYPxv9az/wAh4/Gv1rP2kFEj8b/Ws/fPYpPxv9az/8BAw/G/1rP3z2KT+KBGY/8AIePxv9az8K+0s/uxFmP38OND/A9Ws/owJGPysAUj8K+0s/SgRgPxYBLj8s/2s/Hgc6PywAUj+jAkY/uxFmPzwSQD8rAFI/Hgc6PywAUj+jAkY/SgRgPzwSQD8rAFI/fw40P8D2UT9/DjQ/wPZRP6MCRj8s/2s/owJGPyz/az8VAS4/LQBSPx4HOj8s/2s/owJGP7sRZj88EkA/LP9rPx4HOj8s/2s/CvtLPyz/az88EkA/LP9rP4AOND/A9Ws/CvtLP7sRZj8b/dc+5gRmP9b9vz7lAkw/MiDwPvn9WT/R8rM+5QJMPzIg8D6iC2A/2gDkPuUCTD+MEMw+5gRmP4wQzD7mBGY/2gDkPvj9WT/W/b8+5gRmP9oA5D6iC2A/G/3XPuUCTD8b/dc+5QJMPzIg8D7mBGY/1f2/PuYEZj8yIPA+ogtgP9Hysz7mBGY/2gDkPuYEZj+MEMw+5QJMP9oA5D7mBGY/jBDMPuUCTD/aAOQ+ogtgP9b9vz7lAkw/G/3XPuYEZj/aDWg/Ce9DP1gRVj8J70M/2w1oPwryXz9yKFw/Ce9DP9sNaD+yAGY/cihcPwrvQz8nA2I/Ce9DP40Abj8K8l8/PwpQP6b0az+NAG4/tABmP1gRVj+m9Gs/JwNiPwrvQz/bDWg/pvRrP1gRVj+m9Gs/jQBuP7QAZj9xaFw/pvRrP40Abj+m9Gs/cmhcP6b0az8nQ2I/pvRrP9sNaD+0AGY/PQpQPwrvQz/bDWg/pvRrP1gRVj8K70M/J0NiP6b0az/9BAw/2BJEP3r2KT+JBGY/8AIePxv9az+tChg/2BJEP2kFEj/YEkQ/evYpP1QGYD9pBRI/G/1rPzP7Iz+JBGY/M/sjPxr9az/wAh4/2BJEP60KGD8a/Ws/M/sjP1QGYD989ik/igRmP/wEDD8b/Ws/8AIeP9cSRD+uChg/G/1rP3z2KT8b/Ws/aQUSPxv9az8z+yM/igRmP2kFEj/XEkQ/M/sjP9cSRD/wAh4/G/1rPzP7Iz8a/Ws/rQoYP9gSRD8VAS4/LABSP6MCRj8sAFI/CvtLPyz/az9/DjQ/wPZRPzwSQD8s/2s/CvtLP7sRZj88EkA/LABSP38OND/A9Ws/owJGPyz/az8eBzo/LP9rPx4HOj8s/2s/owJGP7sRZj8K+0s/SgRgPxUBLj8s/2s/owJGPyz/az8K+0s/uxFmP38OND/A9Ws/PBJAPy0AUj+jAkY/SgRgPzwSQD8s/2s/gA40P8D2UT+jAkY/uhFmPx4HOj8sAFI/Hgc6Py0AUj/aAOQ+5gRmP9Hysz7mBGY/jBDMPuUCTD/aAOQ+5QJMP9oA5D6iC2A/1v2/PuYEZj80IPA+5gRmP4wQzD7mBGY/Gf3XPuUCTD8b/dc+5QJMPzQg8D6iC2A/1v2/PuYEZj/R8rM+5QJMPzIg8D6iC2A/jBDMPuYEZj/aAOQ+5gRmP9X9vz7lAkw/MiDwPvn9WT+MEMw+5QJMP9oA5D6iC2A/Gf3XPuYEZj8Z/dc+5gRmP9b9vz7lAkw/2gDkPvn9WT9YEVY/pvRrP40Abj+zAGY/2w1oPwnvQz9yKFw/Ce9DPz8KUD+m9Gs/jQBuPwvyXz/bDWg/sgBmP1oRVj+m9Gs/JwNiPwnvQz8nA2I/Ce9DP9sNaD8L8l8/c2hcP6b0az9YEVY/Ce9DP40Abj+zAGY/2w1oP6b0az9zaFw/pvRrPz0KUD8J70M/jQBuP6b0az/bDWg/swBmP1gRVj8J70M/J0NiP6b0az8nQ2I/pvRrP9sNaD+m9Gs/cyhcPwnvQz9qBRI/1xJEP3z2KT+KBGY/M/sjP9cSRD+uChg/2BJEP60KGD/YEkQ/fPYpP1QGYD/9BAw/G/1rPzP7Iz+KBGY/8AIeP9gSRD/wAh4/2BJEP2kFEj8a/Ws/M/sjP1QGYD989ik/igRmP2kFEj8b/Ws/M/sjPxv9az+tChg/G/1rP3z2KT8b/Ws/rQoYPxv9az8z+yM/igRmP/wEDD/XEkQ/8AIePxv9az/wAh4/G/1rPzP7Iz8b/Ws/aQUSP9cSRD9/DjQ/wPVrPzwSQD8s/2s/CvtLPyz/az88EkA/LP9rPxYBLj8s/2s/CvtLP7sRZj8eBzo/LQBSP6MCRj8s/2s/owJGPyz/az8eBzo/LP9rP38OND/A9lE/owJGP7sRZj+jAkY/uxFmP38OND/B9lE/PBJAPywAUj+jAkY/SgRgPzwSQD8sAFI/FQEuPy0AUj8K+0s/uxFmPx4HOj8s/2s/owJGPywAUj8K+0s/SgRgPx4HOj8sAFI/fw40P8D1az80IPA+ogtgP9b9vz7lAkw/Gf3XPuYEZj/aAOQ+5QJMPzIg8D7mBGY/0fKzPuUCTD/aAOQ+ogtgP4wQzD7mBGY/jBDMPuYEZj8Z/dc+5QJMP9oA5D7mBGY/1v2/PuYEZj/V/b8+5gRmPzIg8D6iC2A/Gf3XPuUCTD/aAOQ+5gRmP9Hysz7mBGY/MiDwPvj9WT+MEMw+5QJMP9oA5D6hC2A/jBDMPuUCTD8Z/dc+5gRmP9b9vz7lAkw/2gDkPvj9WT9YEVY/Ce9DP48Abj+yAGY/2w1oPwrvQz9zKFw/Cu9DP3IoXD8K70M/jwBuPwryXz8/ClA/pvRrP9sNaD+zAGY/JwNiPwrvQz8nA2I/Cu9DP1gRVj+m9Gs/2w1oPwvyXz+PAG4/tABmP1gRVj+m9Gs/2w1oP6b0az9zaFw/pvRrP48Abj+m9Gs/cmhcP6b0az/bDWg/tABmPz0KUD8J70M/J0NiP6b0az8nQ2I/pvRrP9sNaD+m9Gs/WBFWPwnvQz/8BAw/1xJEP3r2KT+KBGY/8AIePxv9az+tChg/2BJEP2kFEj/XEkQ/evYpP1QGYD+tChg/2BJEPzP7Iz+KBGY/MfsjPxv9az/wAh4/2BJEP2kFEj/YEkQ/MfsjP1QGYD8x+yM/Gv1rP/0EDD8b/Ws/8AIeP9cSRD+tChg/G/1rPzH7Iz+KBGY/aQUSPxv9az969ik/G/1rP60KGD8b/Ws/MfsjP9gSRD/wAh4/G/1rP3r2KT+KBGY/aQUSPxv9az8WAS4/LQBSP6MCRj8sAFI/owJGP7sRZj8eBzo/LQBSP38OND/A9lE/owJGPyz/az8eBzo/LABSPzwSQD8sAFI/CvtLP7sRZj88EkA/LABSP38OND/A9lE/CvtLPyz/az8K+0s/SgRgPxUBLj8s/2s/owJGPyz/az8K+0s/uxFmPx4HOj8s/2s/fw40P8D1az+jAkY/SgRgPx4HOj8s/2s/PBJAPyz/az+jAkY/uhFmPzwSQD8s/2s/gA40P8D1az8yIPA+ogtgP9b9vz7mBGY/Gf3XPuYEZj8Z/dc+5gRmPzIg8D7mBGY/jBDMPuYEZj/aAOQ+ogtgP9Hysz7lAkw/jBDMPuYEZj/aAOQ+5gRmP9oA5D7mBGY/1v2/PuUCTD/W/b8+5QJMP9oA5D74/Vk/Gf3XPuUCTD8Z/dc+5QJMP4wQzD7lAkw/2gDkPqELYD/R8rM+5gRmPzIg8D74/Vk/jBDMPuUCTD/aAOQ+5QJMP9b9vz7mBGY/MiDwPqILYD9YEVY/pvRrP40Abj+yAGY/JwNiPwnvQz8nA2I/Cu9DPz8KUD+m9Gs/jQBuPwryXz9YEVY/pvRrP9sNaD+zAGY/cyhcPwnvQz/bDWg/Cu9DP3NoXD+m9Gs/2w1oPwryXz+NAG4/swBmP1gRVj8J70M/J0NiP6b0az8nQ2I/pvRrP40Abj+m9Gs/PQpQPwnvQz/bDWg/tABmP1gRVj8K70M/c2hcP6b0az/bDWg/pvRrP9sNaD+m9Gs/cyhcPwrvQz+tChg/G/1rP3z2KT+KBGY/M/sjP9cSRD+uChg/2BJEP2kFEj8a/Ws/fPYpP1QGYD9pBRI/2BJEPzP7Iz+JBGY/8AIeP9cSRD/wAh4/2BJEP/0EDD/YEkQ/M/sjP1QGYD8z+yM/Gv1rP60KGD/XEkQ/M/sjPxv9az+tChg/G/1rPzP7Iz+KBGY/aQUSP9cSRD989ik/G/1rP2kFEj8b/Ws/8AIePxr9az/wAh4/G/1rP3z2KT+KBGY//AQMPxv9az+jAkY/KwBSP38OND/A9Ws/CvtLP7sRZj8eBzo/LABSPxYBLj8s/2s/CvtLP0oEYD8eBzo/LABSPzwSQD8rAFI/owJGP7sRZj9/DjQ/wPZRPzwSQD8rAFI/owJGP0oEYD+jAkY/LP9rP6MCRj8s/2s/fw40P8D2UT+jAkY/uxFmPx4HOj8s/2s/FQEuPy0AUj8K+0s/LP9rPx4HOj8s/2s/PBJAPyz/az8K+0s/uxFmP4AOND/A9Ws/PBJAPyz/az8yIPA++f1ZP9b9vz7lAkw/G/3XPuYEZj/aAOQ+5QJMPzIg8D6iC2A/0fKzPuUCTD/aAOQ++P1ZP4wQzD7mBGY/jBDMPuYEZj8b/dc+5QJMP9oA5D6iC2A/1v2/PuYEZj/V/b8+5gRmPzIg8D7mBGY/G/3XPuUCTD/aAOQ+5gRmP9Hysz7mBGY/MiDwPqILYD+MEMw+5QJMP9oA5D7mBGY/jBDMPuUCTD8b/dc+5gRmP9b9vz7lAkw/2gDkPqILYD/bDWg/CvJfP1gRVj8J70M/2g1oPwnvQz9yKFw/Cu9DP9sNaD+yAGY/cihcPwnvQz8/ClA/pvRrP40Abj8K8l8/JwNiPwnvQz8nA2I/Cu9DP1gRVj+m9Gs/jQBuP7QAZj+NAG4/tABmP1gRVj+m9Gs/2w1oP6b0az9yaFw/pvRrP40Abj+m9Gs/cWhcP6b0az89ClA/Cu9DP9sNaD+0AGY/J0NiP6b0az8nQ2I/pvRrP1gRVj8K70M/2w1oP6b0az8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKwAAACsAAAArAAAAKwAAACsAAAArAAAAKwAAACsAAAArAAAAKwAAACsAAAArAAAAKwAAACsAAAArAAAAKwAAACsAAAArAAAAKwAAACsAAAArAAAAKwAAACsAAAArAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAEADgAUAAEAFAAHAAoABgATAAoAEwAXABUAEgAMABUADAAPABAAAwAJABAACQAWAAUAAgAIAAUACAALABEADQAAABEAAAAEAEwAUgAsAEwALAAfACIAHgArACIAKwAvAEgAUAAkAEgAJAAnAEsAVQAhAEsAIQAuAFYATgAgAFYAIAAjACkAJQAYACkAGAAcADcAQgA8ADcAPAAxAD0APwA0AD0ANAAyAEYAOwA1AEYANQBAADAAMwA5ADAAOQA2AEQARwBBAEQAQQA+ADgAOgBFADgARQBDAB0AGgBPAB0ATwBXACgAGwBUACgAVABKAC0AKgBRAC0AUQBJABkAJgBTABkAUwBNAFgAWwBhAFgAYQBeAF8AYgBtAF8AbQBqAGwAbwBpAGwAaQBmAGUAaABdAGUAXQBaAGAAawBkAGAAZABZAG4AYwBcAG4AXABnAHAAcwB5AHAAeQB2AHgAegCFAHgAhQCDAIQAhwCBAIQAgQB+AH0AfwB0AH0AdAByAHcAggB8AHcAfABxAIYAewB1AIYAdQCAAIgAiwCRAIgAkQCOAJAAkgCdAJAAnQCbAJwAnwCZAJwAmQCWAJUAlwCMAJUAjACKAI8AmgCUAI8AlACJAJ4AkwCNAJ4AjQCYAKIAqACrAKIAqwClAKcAtAC3AKcAtwCqALIArACvALIArwC1AK0AoACjAK0AowCwAKYAoQCuAKYArgCzALYAsQCkALYApACpALoAwADDALoAwwC9AL8AzADOAL8AzgDBAMoAxADHAMoAxwDNAMYAuQC7AMYAuwDIAL4AuADFAL4AxQDLAM8AyQC8AM8AvADCANIA2ADbANIA2wDVANcA5ADmANcA5gDZAOIA3ADfAOIA3wDlAN4A0QDTAN4A0wDgANYA0ADdANYA3QDjAOcA4QDUAOcA1ADaAOkA6wDxAOkA8QDvAPAA8gD9APAA/QD7APwA/gD4APwA+AD2APUA9wDsAPUA7ADqAO4A+gD0AO4A9ADoAP8A8wDtAP8A7QD5AAABAwEJAQABCQEGAQcBCgEVAQcBFQESARQBFwERARQBEQEOAQ0BEAEFAQ0BBQECAQgBEwEMAQgBDAEBARYBCwEEARYBBAEPASkBHQEjASkBIwEvASgBJgEZASgBGQEbAS0BKwElAS0BJQEnASEBHwEsASEBLAEuARgBJAEqARgBKgEeARwBGgEgARwBIAEiATEBMwE6ATEBOgE4ATcBOQFFATcBRQFDAUQBRgE/AUQBPwE9AT4BQAE0AT4BNAEyATYBQgE8ATYBPAEwAUcBOwE1AUcBNQFBAUkBSwFRAUkBUQFPAVABUgFdAVABXQFbAVwBXgFYAVwBWAFWAVUBVwFMAVUBTAFKAU4BWgFUAU4BVAFIAV8BUwFNAV8BTQFZAWABYwFpAWABaQFmAWgBagF1AWgBdQFzAXQBdwFxAXQBcQFuAW0BbwFkAW0BZAFiAWcBcgFsAWcBbAFhAXYBawFlAXYBZQFwAYkBfQGDAYkBgwGPAYgBhgF5AYgBeQF7AY0BiwGFAY0BhQGHAYEBfwGMAYEBjAGOAXgBhAGKAXgBigF+AXwBegGAAXwBgAGCAZEBkwGZAZEBmQGXAZgBmgGlAZgBpQGjAaQBpgGgAaQBoAGeAZ0BnwGUAZ0BlAGSAZYBogGcAZYBnAGQAacBmwGVAacBlQGhAakBqwGxAakBsQGvAbABsgG9AbABvQG7AbwBvgG4AbwBuAG2AbUBtwGsAbUBrAGqAa4BugG0Aa4BtAGoAb8BswGtAb8BrQG5AcABwwHJAcAByQHGAcgBygHVAcgB1QHTAdQB1wHRAdQB0QHOAc0BzwHEAc0BxAHCAccB0gHMAccBzAHBAdYBywHFAdYBxQHQAekB3QHjAekB4wHvAegB5gHZAegB2QHbAe0B6wHlAe0B5QHnAeEB3wHsAeEB7AHuAdgB5AHqAdgB6gHeAdwB2gHgAdwB4AHiAfEB8wH5AfEB+QH3AfgB+gEFAvgBBQIDAgQCBgIAAgQCAAL+Af0B/wH0Af0B9AHyAfYBAgL8AfYB/AHwAQcC+wH1AQcC9QEBAgkCCwIRAgkCEQIPAhACEgIdAhACHQIbAhwCHgIYAhwCGAIWAhUCFwIMAhUCDAIKAg4CGgIUAg4CFAIIAh8CEwINAh8CDQIZAiACIwIpAiACKQImAigCKwI2AigCNgIzAjQCNwIxAjQCMQIuAiwCLwIkAiwCJAIhAicCMgItAicCLQIiAjUCKgIlAjUCJQIwAkkCPQJDAkkCQwJPAkgCRgI5AkgCOQI7Ak0CSwJFAk0CRQJHAkECPwJMAkECTAJOAjgCRAJKAjgCSgI+AjwCOgJAAjwCQAJCAlICVAJZAlICWQJXAlgCWgJmAlgCZgJkAmMCZQJgAmMCYAJeAl0CXwJTAl0CUwJRAlYCYgJcAlYCXAJQAmcCWwJVAmcCVQJhAmkCbwJzAmkCcwJtAm4CewJ/Am4CfwJyAnoCdAJ4AnoCeAJ+AnUCaAJsAnUCbAJ5AnACagJ2AnACdgJ8An0CdwJrAn0CawJxAoICiAKLAoICiwKFAocClAKXAocClwKKApICjAKPApICjwKVAo0CgAKDAo0CgwKQAoYCgQKOAoYCjgKTApYCkQKEApYChAKJAqcCrQKhAqcCoQKbAqgCnQKZAqgCmQKkAq8CqQKlAq8CpQKrAqMCrgKqAqMCqgKfApoCoAKsApoCrAKmApwCogKeApwCngKYArECtgK6ArECugK1ArcCwwLHArcCxwK7AsICvQLBAsICwQLGArwCsAK0ArwCtALAArgCsgK+ArgCvgLEAsUCvwKzAsUCswK5AskCzwLTAskC0wLNAs4C2wLfAs4C3wLSAtoC1ALYAtoC2ALeAtUCyALMAtUCzALZAtACygLWAtAC1gLcAt0C1wLLAt0CywLRAuIC6ALrAuIC6wLlAuYC8wL3AuYC9wLqAvIC7ALvAvIC7wL1Au0C4ALkAu0C5ALxAucC4QLuAucC7gL0AvYC8ALjAvYC4wLpAgcDDQMBAwcDAQP7AggD/QL5AggD+QIEAw8DCQMFAw8DBQMLAwMDDgMKAwMDCgP/AvoCAAMMA/oCDAMGA/wCAgP+AvwC/gL4AhEDFwMbAxEDGwMVAxYDIwMnAxYDJwMaAyIDHAMgAyIDIAMmAx0DEAMUAx0DFAMhAxgDEgMeAxgDHgMkAyUDHwMTAyUDEwMZAykDLwMzAykDMwMtAy4DOwM/Ay4DPwMyAzoDNAM4AzoDOAM+AzUDKAMsAzUDLAM5AzADKgM2AzADNgM8Az0DNwMrAz0DKwMxA0IDSANLA0IDSwNFA0YDUwNXA0YDVwNKA1IDTANPA1IDTwNVA00DQANEA00DRANRA0cDQQNOA0cDTgNUA1YDUANDA1YDQwNJA2cDbQNhA2cDYQNbA2gDXQNZA2gDWQNkA28DaQNlA28DZQNrA2MDbgNqA2MDagNfA1oDYANsA1oDbANmA1wDYgNeA1wDXgNYA3EDdwN7A3EDewN1A3YDgwOHA3YDhwN6A4IDfAOAA4IDgAOGA30DcAN0A30DdAOBA3gDcgN+A3gDfgOEA4UDfwNzA4UDcwN5A4kDjwOTA4kDkwONA44DmwOfA44DnwOSA5oDlAOYA5oDmAOeA5UDiAOMA5UDjAOZA5ADigOWA5ADlgOcA50DlwOLA50DiwORA6IDqAOrA6IDqwOlA6YDswO2A6YDtgOpA7IDrAOvA7IDrwO1A64DoQOkA64DpAOxA6cDoAOtA6cDrQO0A7cDsAOjA7cDowOqA8cDzQPBA8cDwQO7A8gDvQO5A8gDuQPEA88DyQPFA88DxQPLA8MDzgPKA8MD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TmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+cw9Rrv9jabWlCWo/0XvPPt5waq/JcWm1pQlqP9F7zz54BNKqTmtptaUJaj/Re88+jT7qr0Z4abWlCWo/0XvPPhnLKDCae2m1pwlqP9F7zz7t5U+vDU5ptaUJaj/Se88+goncLxOCabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4MKI+vempptaUJaj/Re88+WtPpL1ZeabWlCWo/0XvPPgDKKDCYe2m1pQlqP9F7zz5ssc+vzDBptaUJaj/Re88+NwGPsPxnabWlCWo/0XvPPuaqzi7ueWm1pQlqP9F7zz5TyIEve2hptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1pQlqP9F7zz4ZhMCqTmtptaUJaj/Re88+GYTAqk5rabWlCWo/0XvPPhmEwKpOa2m1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4G1iP+fAELztE0K9GXDnvvwEZD/Ubm27I9lMvcau3r5aKWY/BMwvuVYXVL21b9a+XhZoPyUpjjptxVa98bnSvvXsaD+J6Z652tVTvVoT1L5EoWg/nweCu5kqTL01Zde+DeRnP8KSFrxBaEG9XIfbvjjyZj9jLXm8ASo1vSVf376GCmY/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/eHyevLDKLL0feOG+pYhlP3h8nrywyiy9H3jhvqWIZT94fJ68sMosvR944b6liGU/fRmbvAekLb0AjOC+bMJlP2ROkryp1y+9SxjevoVaZj/IVIa8Gdcyvf2L2r7UMmc/zpJyvNAdNr0XVta+0i1oP13HWbzWQjm9ePDRvm0taT9Ir0S8M/07vd3jzb4ME2o/FLM0vFQhPr37xMq+N8BqP2DQK7zTXz+9SjDJvpwWaz+PoyK8iLNAvd5Oyr5r2Go/nfUQvDs+Q72B+M2+7gpqP/l78Lvg/ka9nPTRvpklaT8LXL27jU5LvQiK077sxmg/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4gzaP7VZD7+1Com/8SHGP7VZD7+1Com/SEyzP7VZD7+1Com/wkSiP7VZD7+1Com/OsSTP7VZD7+1Com/joOIP7VZD7+1Com/mDuBP7VZD7+1Com/Ykp9P7VZD7+1Com/Ykp9P7VZD7+1Com/Ykp9P7VZD7+1Com/hUnlsoVJ5bL0BDW/9AQ1P4VJ5bKFSeWy9AQ1v/QENT8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/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AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAP5IMgT+SDIE/AACAP5QDhD+UA4Q/AACAP/SeiD/0nog/AACAP6OYjj+jmI4/AACAP5KqlT+SqpU/AACAP7GOnT+xjp0/AACAP/D+pT/w/qU/AACAPz61rj8+ta4/AACAP4xrtz+Ma7c/AACAP8zbvz/M278/AACAP+q/xz/qv8c/AACAP9rRzj/a0c4/AACAP4rL1D+Ky9Q/AACAP+pm2T/qZtk/AACAP+ld3D/pXdw/AACAP3xq3T98at0/AACAP8BZ2z98at0/AACAP+iJ1T98at0/AACAP4SOzD98at0/AACAPyH7wD98at0/AACAP05jsz98at0/AACAP5hapD98at0/AACAP4x0lD98at0/AACAP7pEhD98at0/AACAP1+9aD98at0/AACAP/KrSj98at0/AACAP018Lz98at0/AACAP4ZVGD98at0/AACAP7xeBj98at0/AACAPyB+9T58at0/AACAPy077T58at0/AACAPy077T58at0/AACAPy077T58at0/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utbk/6lwQQLRZD797gqw/6lwQQLRZD79IT58/6lwQQLRZD79IT5k/6lwQQGaz/r6utZ0/6lwQQABNuL5IT6k/6lwQQDjNY76utbk/6lwQQDXNI757gsw/6lwQQDfNY75IT98/6lwQQAFNuL6tte8/6lwQQGez/r5HT/s/6lwQQLRZD7+utf8/6lwQQLNZD79HT/s/6lwQQLRZD7+ste8/6lwQQLRZD79GT98/6lwQQLRZD796gsw/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/6lwQQLRZD7+utb8/x1UQQLRZD78EhME/0yMQQLRZD7/oRsY/PJwPQLRZD78pAs0/MpQOQLRZD7+ZudQ/4+AMQLRZD78Jcdw/fVcKQLRZD79KLOM/MM0GQLRZD78t7+c/KhcCQLRZD7+Dvek/uef0P7RZD790D+c/YGTeP7RZD7+//t8/DoDDP7RZD7+cAdY/ghanP7RZD79Djso/ggOMP7RZD7/qGr8/mEVqP7VZD7/IHbU/TKBKP7VZD78SDa4/pM4+P7RZD78DX6s/lpVQP7RZD78DX6s/8AZ9P7RZD78DX6s/wGabP7RZD78DX6s/CEq4P7RZD78DX6s/toLOP7RZD78DX6s/LmbXP7RZD78DX6s/VszRP7RZD78DX6s/osnCP7RZD78DX6s/UQ6tP7RZD78DX6s/okqTP7RZD78EX6s/qF1wP7RZD78EX6s/StY8P7RZD78EX6s/qF8RP7RZD78EX6s/hLTmPrRZD78EX6s/IE3QPrRZD78EX6s/IE3QPrRZD78EX6s/IE3QPrRZD78EX6s/hUnlsoVJ5bL0BDW/9AQ1P4VJ5bKFSeWy9AQ1v/QENT8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/ViaAP1YmgD8AAIA/V5eAP1eXgD8AAIA/AlCBPwJQgT8AAIA/VU2CP1VNgj8AAIA/T4yDP0+Mgz8AAIA/7wmFP+8JhT8AAIA/NMOGPzTDhj8AAIA/G7WIPxu1iD8AAIA/pdyKP6Xcij8AAIA/zzaNP882jT8AAIA/mcCPP5nAjz8AAIA/AHeSPwB3kj8AAIA/A1eVPwNXlT8AAIA/o12YP6NdmD8AAIA/3IebP9yHmz8AAIA/rtKeP67Snj8AAIA/FjuiPxY7oj8AAIA/Fr6lPxa+pT8AAIA/qlipP6pYqT8AAIA/0QetP9EHrT8AAIA/i8iwP4vIsD8AAIA/1Ze0P9WXtD8AAIA/rnK4P65yuD8AAIA/F1a8PxdWvD8AAIA/Cz/APws/wD8AAIA/iyrEP4sqxD8AAIA/lhXIP5YVyD8AAIA/Kv3LPyr9yz8AAIA/Rd7PP0Xezz8AAIA/57XTP+e10z8AAIA/DYHXPw2B1z8AAIA/tzzbP7c82z8AAIA/4+XeP+Pl3j8AAIA/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tFkPvxnErL4gwuK9tFkPvxnErL6ACWC9tFkPvxnErL5AFw69tFkPvxnErL5AFw69tFkPvxnErL5AFw69tFkPvxnErL6FSeWyhUnlMvQENT/0BDU/hUnlsoVJ5TL0BDU/9AQ1PwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD9vNoA/bzaAPwAAgD851oA/OdaAPwAAgD8Z2oE/GdqBPwAAgD/KPIM/yjyDPwAAgD8I+YQ/CPmEPwAAgD+QCYc/kAmHPwAAgD8caYk/HGmJPwAAgD9nEow/ZxKMPwAAgD8tAI8/LQCPPwAAgD8pLZI/KS2SPwAAgD8XlJU/F5SVPwAAgD+zL5k/sy+ZPwAAgD+3+pw/t/qcPwAAgD/g76A/4O+gPwAAgD/oCaU/6AmlPwAAgD+MQ6k/jEOpPwAAgD+Gl60/hpetPwAAgD+TALI/kwCyPwAAgD9tebY/bXm2PwAAgD/R/Lo/0fy6PwAAgD95hb8/eYW/PwAAgD8hDsQ/IQ7EPwAAgD+Ekcg/hJHIPwAAgD9eCs0/XgrNPwAAgD9qc9E/anPRPwAAgD9mx9U/ZsfVPwAAgD8KAdo/CgHaPwAAgD8QG94/EBvePwAAgD86EOI/OhDiPwAAgD8/2+U/P9vlPwAAgD/Zduk/2XbpPwAAgD/I3ew/yN3sPwAAgD/FCvA/xQrwPwAAgD+L+PI/i/jyPwAAgD/VofU/1aH1PwAAgD9hAfg/YQH4PwAAgD/pEfo/6RH6PwAAgD8mzvs/Js77PwAAgD/YMP0/2DD9PwAAgD+4NP4/uDT+PwAAgD+D1P4/g9T+PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD/xCv8/8Qr/PwAAgD+Wsfo/8Qr/PwAAgD/YxO4/8Qr/PwAAgD+y89w/8Qr/PwAAgD8c7cY/8Qr/PwAAgD8OYK4/8Qr/PwAAgD+F+5Q/8Qr/PwAAgD/v3Hg/8Qr/PwAAgD/Az0w/8Qr/PwAAgD9wLSk/8Qr/PwAAgD/2UxE/8Qr/PwAAgD9CoQg/8Qr/PwAAgD9CoQg/8Qr/PwAAgD9CoQg/8Qr/PweaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8A2zSO+UHMIvQeaF8A4zWO+FTNePAeaF8ACTbi+kvnuPQeaF8Bns/6+XhZhPgeaF8C0WQ+/MIuIPgeaF8C0WQ+/kkl6PgeaF8C0WQ+/+K86PgeaF8C0WQ+/jPmyPQeaF8C0WQ+/UHMIvQeaF8C0WQ+/brYtvgeaF8C0WQ+/aA6ZvgeaF8CzWQ+/znTKvgeaF8C0WQ+/N9vdvgeaF8Bms/6+Ntu9vgeaF8AATbi+oeluvgeaF8A2zWO+qznEvQeaF8A2zSO+UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvQeaF8C0WQ+/UHMIvSVLF8C0WQ+/gVX5vDFiFsC0WQ+/Xbu2vLDkFMC0WQ+/HHwevCvYEsC0WQ+/MPLbOypCEMC0WQ+/mM7VPDMoDcC0WQ+/HolDPc+PCcC0WQ+/ZiiRPYZ+BcC0WQ+/tBXCPd35AMC0WQ+/AAPzPb0O+L+0WQ+/bDMRPiBZ7b+0WQ+/4lsnPvTd4b+0WQ+/JDY7Pkmo1b+0WQ+/dv1LPizDyL+0WQ+/Hu1YPq85u7+0WQ+/ZEBhPt8Wrb+0WQ+/iDJkPpRsnr+0WQ+/iDJkPs9nj7+0WQ+/iDJkPlk8gL+0WQ+/iDJkPvI7Yr+0WQ+/iDJkPvCARL+0WQ+/iDJkPkCvJ7+0WQ+/iDJkPnYuDL+0WQ+/iDJkPjjM5L60WQ+/iDJkPpB7tb60WQ+/iDJkPig6i760WQ+/iDJkPvCtTb60WQ+/iDJkPpBCEr60WQ+/iDJkPuCgy720WQ+/iDJkPmDrk720WQ+/iDJkPqChgL20WQ+/iDJkPqChgL20WQ+/iDJkPqChgL20WQ+/iDJkPoVJ5bKFSeUy9AQ1P/QENT+FSeWyhUnlMvQENT/0BDU/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAP5IMgT+SDIE/AACAP5QDhD+UA4Q/AACAP/SeiD/0nog/AACAP6OYjj+jmI4/AACAP5KqlT+SqpU/AACAP7GOnT+xjp0/AACAP/D+pT/w/qU/AACAPz61rj8+ta4/AACAP4xrtz+Ma7c/AACAP8zbvz/M278/AACAP+q/xz/qv8c/AACAP9rRzj/a0c4/AACAP4rL1D+Ky9Q/AACAP+pm2T/qZtk/AACAP+ld3D/pXdw/AACAP3xq3T98at0/AACAP8BZ2z98at0/AACAP+iJ1T98at0/AACAP4SOzD98at0/AACAPyH7wD98at0/AACAP05jsz98at0/AACAP5hapD98at0/AACAP4x0lD98at0/AACAP7pEhD98at0/AACAP1+9aD98at0/AACAP/KrSj98at0/AACAP018Lz98at0/AACAP4ZVGD98at0/AACAP7xeBj98at0/AACAPyB+9T58at0/AACAPy077T58at0/AACAPy077T58at0/AACAPy077T58at0/B5oXwLRZD7++SjI/B5oXwLRZD7++SjI/B5oXwLRZD7++SjI/B5oXwLRZD7++SjI/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AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/ViaAP1YmgD8AAIA/V5eAP1eXgD8AAIA/AlCBPwJQgT8AAIA/VU2CP1VNgj8AAIA/T4yDP0+Mgz8AAIA/7wmFP+8JhT8AAIA/NMOGPzTDhj8AAIA/G7WIPxu1iD8AAIA/pdyKP6Xcij8AAIA/zzaNP882jT8AAIA/mcCPP5nAjz8AAIA/AHeSPwB3kj8AAIA/A1eVPwNXlT8AAIA/o12YP6NdmD8AAIA/3IebP9yHmz8AAIA/rtKeP67Snj8AAIA/FjuiPxY7oj8AAIA/Fr6lPxa+pT8AAIA/qlipP6pYqT8AAIA/0QetP9EHrT8AAIA/i8iwP4vIsD8AAIA/1Ze0P9WXtD8AAIA/rnK4P65yuD8AAIA/F1a8PxdWvD8AAIA/Cz/APws/wD8AAIA/iyrEP4sqxD8AAIA/lhXIP5YVyD8AAIA/Kv3LPyr9yz8AAIA/Rd7PP0Xezz8AAIA/57XTP+e10z8AAIA/DYHXPw2B1z8AAIA/tzzbP7c82z8AAIA/4+XeP+Pl3j8AAIA/kXniP5F54j8AAIA/vvTlP7705T8AAIA/aFTpP2hU6T8AAIA/lJXsP5SV7D8AAIA/OLXvPzi17z8AAIA/VrDyP1aw8j8AAIA/7oP1P+6D9T8AAIA//yz4P/8s+D8AAIA/hqj6P4ao+j8AAIA/gvP8P4Lz/D8AAIA/8Qr/P/EK/z8AAIA/+nUAQPp1AEAAAIA/E0oBQBNKAUAAAIA/pAACQKQAAkAAAIA/jJgCQIyYAkAAAIA/qBADQKgQA0AAAIA/2GcDQNhnA0AAAIA//ZwDQP2cA0AAAIA/9a4DQPWuA0AAAIA/9a4DQPWuA0AAAIA/9a4DQPWuA0AAAIA/9a4DQPWuA0AAAIA/9a4DQPWuA0AAAIA/9a4DQPWuA0AAAIA/9a4DQPWuA0AAAIA/jGAAQPWuA0AAAIA/WwjvP/WuA0AAAIA/O2DVP/WuA0AAAIA/SPW2P/WuA0AAAIA/DvSWP/WuA0AAAIA/NhJxP/WuA0AAAIA/+sE9P/WuA0AAAIA/eFAaP/WuA0AAAIA/2RYNP/WuA0AAAIA/2RYNP/WuA0AAAIA/2RYNP/WuA0DqXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDANc0jvnuCzD/qXBDAN81jvnuC1D/qXBDAAU24vhQc5j/qXBDAZ7P+vq619z/qXBDAtFkPv661/z/qXBDAs1kPv0dP+T/qXBDAtFkPv0dP6T/qXBDAtFkPv3uC1D/qXBDAtFkPv661vz/qXBDAtFkPv+Horj/qXBDAtFkPv+Looj/qXBDAtFkPv661mz/qXBDAtFkPv0hPmT/qXBDAZrP+vkhPoT/qXBDAAU24vuHosj/qXBDAOs1jvnuCxD/qXBDANc0jvnuCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/qXBDAtFkPv3uCzD/4/Q/AtFkPv0Xjyz/x5w7AtFkPv1Mhyj8PJQ3AtFkPvy1mxz+MvwrAtFkPv13bwz+gwQfAtFkPv2uqvz+ENQTAtFkPv978uj9xJQDAtFkPv0H8tT9CN/e/tFkPvxvSsD+ZRO2/tFkPv/anqz9ah+K/tFkPv1inpj/2E9e/tFkPv8z5oT/g/sq/tFkPv9rInT+MXL6/tFkPvwk+mj9qQbG/s1kPv+SClz/swaO/s1kPv/LAlT+G8pW/s1kPv7whlT/d6oe/s1kPv7whlT/CnnO/s1kPv7whlT94j1e/s1kPv7whlT8m9zu/s1kPv7whlT8WJSG/s1kPv7whlT+YaAe/s1kPv7whlT/kId6+s1kPv7whlT/o2rC+s1kPv7whlT/cmoe+s1kPv7whlT+gAEa+s1kPv7whlT+wUwe+s1kPv7whlT9g2Ki9s1kPv7whlT8AHTq9s1kPv7whlT+AELe8s1kPv7whlT8Anmu8s1kPv7whlT8Anmu8s1kPv7whlT8Anmu8s1kPv7whlT+FSeWyhUnlMvQENT/0BDU/hUnlsoVJ5TL0BDU/9AQ1PwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD+SDIE/kgyBPwAAgD+UA4Q/lAOEPwAAgD/0nog/9J6IPwAAgD+jmI4/o5iOPwAAgD+SqpU/kqqVPwAAgD+xjp0/sY6dPwAAgD/w/qU/8P6lPwAAgD8+ta4/PrWuPwAAgD+Ma7c/jGu3PwAAgD/M278/zNu/PwAAgD/qv8c/6r/HPwAAgD/a0c4/2tHOPwAAgD+Ky9Q/isvUPwAAgD/qZtk/6mbZPwAAgD/pXdw/6V3cPwAAgD98at0/fGrdPwAAgD/AWds/fGrdPwAAgD/oidU/fGrdPwAAgD+Ejsw/fGrdPwAAgD8h+8A/fGrdPwAAgD9OY7M/fGrdPwAAgD+YWqQ/fGrdPwAAgD+MdJQ/fGrdPwAAgD+6RIQ/fGrdPwAAgD9fvWg/fGrdPwAAgD/yq0o/fGrdPwAAgD9NfC8/fGrdPwAAgD+GVRg/fGrdPwAAgD+8XgY/fGrdPwAAgD8gfvU+fGrdPwAAgD8tO+0+fGrdPwAAgD8tO+0+fGrdPwAAgD8tO+0+fGrdPw=="}]} diff --git a/data/games/garage/mods/gltf/models/gltf_triangle_with_vertex_stride.gltf b/data/games/garage/mods/gltf/models/gltf_triangle_with_vertex_stride.gltf deleted file mode 100644 index feddfbb..0000000 --- a/data/games/garage/mods/gltf/models/gltf_triangle_with_vertex_stride.gltf +++ /dev/null @@ -1 +0,0 @@ -{"scene":0,"scenes":[{"nodes":[0]}],"nodes":[{"mesh":0}],"meshes":[{"primitives":[{"attributes":{"POSITION":1},"indices":0}]}],"buffers":[{"uri":"data:application/octet-stream;base64,AAABAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAAAA=","byteLength":80}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":6,"target":34963},{"buffer":0,"byteOffset":8,"byteLength":72,"byteStride":24,"target":34962}],"accessors":[{"bufferView":0,"byteOffset":0,"componentType":5123,"count":3,"type":"SCALAR","max":[2],"min":[0]},{"bufferView":1,"byteOffset":0,"componentType":5126,"count":3,"type":"VEC3","max":[1,1,0],"min":[0,0,0]}],"asset":{"version":"2.0"}} diff --git a/data/games/garage/mods/gltf/models/gltf_triangle_without_indices.gltf b/data/games/garage/mods/gltf/models/gltf_triangle_without_indices.gltf deleted file mode 100644 index e91cc0e..0000000 --- a/data/games/garage/mods/gltf/models/gltf_triangle_without_indices.gltf +++ /dev/null @@ -1 +0,0 @@ -{"scene":0,"scenes":[{"nodes":[0]}],"nodes":[{"mesh":0}],"meshes":[{"primitives":[{"attributes":{"POSITION":0}}]}],"buffers":[{"uri":"data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAA","byteLength":36}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":36,"target":34962}],"accessors":[{"bufferView":0,"byteOffset":0,"componentType":5126,"count":3,"type":"VEC3","max":[1,1,0],"min":[0,0,0]}],"asset":{"version":"2.0"}} diff --git a/data/games/garage/mods/gltf/textures/gltf_cube.png b/data/games/garage/mods/gltf/textures/gltf_cube.png deleted file mode 100644 index 1d019108550471be78c1efa02d4367a5aaacdc92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRu?6^qxc>kD|E9eB^b_}10Yw@- zT^vI+&hMRgm-B!EPs?MDz6TnTOJ_@LQFZ=u)N}1I`3qqhB2w{o=bEjB7#buN_JkT= zklJ;8HkW(z-bQ}jZ8vMquQFZKQ}e`}$+SSlVV20tH7!q0W{TZ3P_wxBxO0)kBPKcB zF#pE(4z9h&cK@~bm2E%&{ZU)l=bvI9miBHu&l=+9n`|96og3&D22WQ%mvv4FO#sL{ BPoDq) diff --git a/data/games/garage/mods/gltf/textures/gltf_frog.png b/data/games/garage/mods/gltf/textures/gltf_frog.png deleted file mode 100644 index 552ae36493c59c6107de9eb9c08b85cf494d3647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvi2$DvS0D`p(auuIo^pl3@)r** zx_@QWpC9+F^;c*BB^XPB{DK)Ap4~_Ta+Z0zIEF|_-aUA+uqi>H^`iAA)g?_HjC?@{ zj{W`jy*_R^t3pE7>UrIx=4=#B{D``d7B}@YEIM2ItZx z*QMOrdNy~*B)&;M7Pqfs_j>8Tuikej{qR=KR}%X?qh{`}?U|hNz{{a{{?cuXs%EB7 z-B&WO-uQeqJJq*WdS$6@&$mZzi4UVfYQC+ry|tl(VN2s7um6qnCOWNuCjLFyc#?Pi RV-=9cJYD@<);T3K0RXN~Zvg-R diff --git a/data/games/garage/mods/gltf/textures/gltf_snow_man.png b/data/games/garage/mods/gltf/textures/gltf_snow_man.png deleted file mode 100644 index 7f2784358b94af2238337bc6a1555c32c06f9c80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDB3?!H8JlO)I_yc@GT!AzY1Sgi{RrLJ-|3BuI z$}}LKu_VYZn8D%MjWi%9$J50z#G?1@g@e2e3Oub3*Et+w+0f|Y@aet%Wc9!^s~5)Y zx$%1XzC*^p(<>Q_8F+1fGx*F_*5a_@s<{yO`N)DPK`K|SZOcD!CZ=Hi>5HpcmN2|X z;k9~o)lFniy^Eslft!zXSM}YSuF%?e`lIZ5wHa=yVzLW>_A+?7`njxgN@xNA7I;nX diff --git a/data/games/garage/mods/gltf/textures/gltf_spider.png b/data/games/garage/mods/gltf/textures/gltf_spider.png deleted file mode 100644 index 1e3d3ae8cbb31c80219081ed7ebdc1bb1ad78373..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10957 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 diff --git a/data/games/garage/mods/initial_message/init.lua b/data/games/garage/mods/initial_message/init.lua deleted file mode 100644 index 255dca0..0000000 --- a/data/games/garage/mods/initial_message/init.lua +++ /dev/null @@ -1,9 +0,0 @@ -core.register_on_joinplayer(function(player) - local cb = function(player) - if not player or not player:is_player() then - return - end - core.chat_send_player(player:get_player_name(), "This is the \"Development Test\" [devtest], meant only for testing and development.") - end - core.after(2.0, cb, player) -end) diff --git a/data/games/garage/mods/initial_message/mod.conf b/data/games/garage/mods/initial_message/mod.conf deleted file mode 100644 index 32aa2ac..0000000 --- a/data/games/garage/mods/initial_message/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = initial_message -description = Show message to joining players explaining what this testing game is about diff --git a/data/games/garage/mods/keys/README.txt b/data/games/garage/mods/keys/README.txt new file mode 100644 index 0000000..0db27df --- /dev/null +++ b/data/games/garage/mods/keys/README.txt @@ -0,0 +1,21 @@ +Minetest Game mod: keys +========================== +See license.txt for license information. + +Authors of source code +---------------------- +Originally by celeron55, Perttu Ahola (LGPLv2.1+) +Various Minetest Game developers and contributors (LGPLv2.1+) + +Authors of media (textures, sounds, models and schematics) +---------------------------------------------------------- + +Textures +-------- +Gambit (CC BY-SA 3.0): + keys_key.png + keys_key_skeleton.png + +Features +-------- +This mod uses the key API as defined in game_api.txt section [Key API]. diff --git a/data/games/garage/mods/keys/aliases.lua b/data/games/garage/mods/keys/aliases.lua new file mode 100644 index 0000000..4297498 --- /dev/null +++ b/data/games/garage/mods/keys/aliases.lua @@ -0,0 +1,6 @@ +-- +-- Aliases for backward compatibility +-- + +minetest.register_alias("default:key", "keys:key") +minetest.register_alias("default:skeleton_key", "keys:skeleton_key") diff --git a/data/games/garage/mods/keys/crafting.lua b/data/games/garage/mods/keys/crafting.lua new file mode 100644 index 0000000..b9b503a --- /dev/null +++ b/data/games/garage/mods/keys/crafting.lua @@ -0,0 +1,28 @@ +-- +-- Crafting recipes +-- + +minetest.register_craft({ + output = "keys:skeleton_key", + recipe = { + {"default:gold_ingot"}, + } +}) + +-- +-- Cooking recipes +-- + +minetest.register_craft({ + type = "cooking", + output = "default:gold_ingot", + recipe = "keys:key", + cooktime = 5, +}) + +minetest.register_craft({ + type = "cooking", + output = "default:gold_ingot", + recipe = "keys:skeleton_key", + cooktime = 5, +}) diff --git a/data/games/garage/mods/keys/craftitems.lua b/data/games/garage/mods/keys/craftitems.lua new file mode 100644 index 0000000..45e0b82 --- /dev/null +++ b/data/games/garage/mods/keys/craftitems.lua @@ -0,0 +1,101 @@ +-- Load support for MT game translation. +local S = minetest.get_translator("keys") + +-- +-- Craftitems +-- + +minetest.register_craftitem("keys:skeleton_key", { + description = S("Skeleton Key"), + inventory_image = "keys_key_skeleton.png", + 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 node_reg = minetest.registered_nodes[node.name] + local on_skeleton_key_use = node_reg and node_reg.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("keys:key") + local meta = new_stack:get_meta() + meta:set_string("secret", secret) + meta:set_string("description", S("Key to @1's @2", user:get_player_name(), + 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("keys:key", { + description = S("Key"), + inventory_image = "keys_key.png", + groups = {key = 1, not_in_creative_inventory = 1}, + 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 + if pointed_thing.type ~= "node" then + return itemstack + end + + local pos = pointed_thing.under + node = minetest.get_node(pos) + + if not node or node.name == "ignore" then + return itemstack + end + + local ndef = minetest.registered_nodes[node.name] + if not ndef then + return itemstack + end + + local on_key_use = ndef.on_key_use + if on_key_use then + on_key_use(pos, placer) + end + + return nil + end +}) diff --git a/data/games/garage/mods/keys/init.lua b/data/games/garage/mods/keys/init.lua new file mode 100644 index 0000000..ed45adb --- /dev/null +++ b/data/games/garage/mods/keys/init.lua @@ -0,0 +1,6 @@ +-- Minetest Game mod: keys +local keys_path = minetest.get_modpath("keys") + +dofile(keys_path.."/craftitems.lua") +dofile(keys_path.."/crafting.lua") +dofile(keys_path.."/aliases.lua") diff --git a/data/games/garage/mods/keys/license.txt b/data/games/garage/mods/keys/license.txt new file mode 100644 index 0000000..e96ffb9 --- /dev/null +++ b/data/games/garage/mods/keys/license.txt @@ -0,0 +1,52 @@ +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 Game 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: + + 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/data/games/garage/mods/keys/locale/keys.de.tr b/data/games/garage/mods/keys/locale/keys.de.tr new file mode 100644 index 0000000..499a6ba --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.de.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Schlüssel +Key to @1's @2=Schlüssel für @2 von @1 +Skeleton Key=Skelettschlüssel diff --git a/data/games/garage/mods/keys/locale/keys.eo.tr b/data/games/garage/mods/keys/locale/keys.eo.tr new file mode 100644 index 0000000..02a06d4 --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.eo.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Ŝlosilo +Key to @1's @2=Ŝlosilo por la @2 de @1 +Skeleton Key=Skeleta ŝlosilo diff --git a/data/games/garage/mods/keys/locale/keys.es.tr b/data/games/garage/mods/keys/locale/keys.es.tr new file mode 100644 index 0000000..e408c32 --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.es.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Llave +Key to @1's @2=Llave para @2 de @1 +Skeleton Key=Llave esqueleto diff --git a/data/games/garage/mods/keys/locale/keys.fr.tr b/data/games/garage/mods/keys/locale/keys.fr.tr new file mode 100644 index 0000000..b1b9e6a --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.fr.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Clé +Key to @1's @2=Clé pour @2 de @1 +Skeleton Key=Squelette diff --git a/data/games/garage/mods/keys/locale/keys.id.tr b/data/games/garage/mods/keys/locale/keys.id.tr new file mode 100644 index 0000000..58f8fc5 --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.id.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Kunci +Key to @1's @2=Kunci @2 milik @1 +Skeleton Key=Kunci Induk diff --git a/data/games/garage/mods/keys/locale/keys.it.tr b/data/games/garage/mods/keys/locale/keys.it.tr new file mode 100644 index 0000000..ed7bb31 --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.it.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Chiave +Key to @1's @2=Chiave per @2 di @1 +Skeleton Key=Chiave dello Scheletro diff --git a/data/games/garage/mods/keys/locale/keys.ja.tr b/data/games/garage/mods/keys/locale/keys.ja.tr new file mode 100644 index 0000000..b356178 --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.ja.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=鍵 +Key to @1's @2=@1の@2への鍵 +Skeleton Key=スケルトンの鍵 diff --git a/data/games/garage/mods/keys/locale/keys.jbo.tr b/data/games/garage/mods/keys/locale/keys.jbo.tr new file mode 100644 index 0000000..bd12f09 --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.jbo.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=lo ckiku +Key to @1's @2=lo ckiku be @2 po la'o zo'i.@1.zo'i +Skeleton Key=lo greku ckiku diff --git a/data/games/garage/mods/keys/locale/keys.lv.tr b/data/games/garage/mods/keys/locale/keys.lv.tr new file mode 100644 index 0000000..04922cc --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.lv.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Atslēga +Key to @1's @2=Atslēga priekš @1 @2 +Skeleton Key=Novīlēta atslēga diff --git a/data/games/garage/mods/keys/locale/keys.ms.tr b/data/games/garage/mods/keys/locale/keys.ms.tr new file mode 100644 index 0000000..58f8fc5 --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.ms.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Kunci +Key to @1's @2=Kunci @2 milik @1 +Skeleton Key=Kunci Induk diff --git a/data/games/garage/mods/keys/locale/keys.pl.tr b/data/games/garage/mods/keys/locale/keys.pl.tr new file mode 100644 index 0000000..864d8a9 --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.pl.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Klucz +Key to @1's @2=Klucz do @2 gracza @1 +Skeleton Key=Szkieletowy klucz diff --git a/data/games/garage/mods/keys/locale/keys.pt_BR.tr b/data/games/garage/mods/keys/locale/keys.pt_BR.tr new file mode 100644 index 0000000..ef9ca1e --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.pt_BR.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Chave +Key to @1's @2=Chave para @2 de @1 +Skeleton Key=Chave de Mestra diff --git a/data/games/garage/mods/keys/locale/keys.ru.tr b/data/games/garage/mods/keys/locale/keys.ru.tr new file mode 100644 index 0000000..a804e18 --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.ru.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Ключ +Key to @1's @2=Ключ к @2 от @1 +Skeleton Key=Заготовка ключа diff --git a/data/games/garage/mods/keys/locale/keys.sv.tr b/data/games/garage/mods/keys/locale/keys.sv.tr new file mode 100644 index 0000000..f666eb3 --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.sv.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=Nyckel +Key to @1's @2=Nyckel till @1s @2 +Skeleton Key=Skelettnyckel diff --git a/data/games/garage/mods/keys/locale/keys.uk.tr b/data/games/garage/mods/keys/locale/keys.uk.tr new file mode 100644 index 0000000..6f6a681 --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.uk.tr @@ -0,0 +1,4 @@ +# textdomain: keys +Key=Ключ +Key to @1's @2=Ключ з биркою "@2, власником якого(-ої/-их) є @1" +Skeleton Key=Заготовка ключа diff --git a/data/games/garage/mods/keys/locale/keys.zh_CN.tr b/data/games/garage/mods/keys/locale/keys.zh_CN.tr new file mode 100644 index 0000000..57f632a --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.zh_CN.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=钥匙 +Key to @1's @2=@1的@2的钥匙 +Skeleton Key=万能钥匙 diff --git a/data/games/garage/mods/keys/locale/keys.zh_TW.tr b/data/games/garage/mods/keys/locale/keys.zh_TW.tr new file mode 100644 index 0000000..c97879c --- /dev/null +++ b/data/games/garage/mods/keys/locale/keys.zh_TW.tr @@ -0,0 +1,5 @@ +# textdomain: keys + +Key=鑰匙 +Key to @1's @2=@1的@2的鑰匙 +Skeleton Key=萬能鑰匙 diff --git a/data/games/garage/mods/keys/locale/template.txt b/data/games/garage/mods/keys/locale/template.txt new file mode 100644 index 0000000..9fbf62f --- /dev/null +++ b/data/games/garage/mods/keys/locale/template.txt @@ -0,0 +1,5 @@ +# textdomain: keys + +Key= +Key to @1's @2= +Skeleton Key= diff --git a/data/games/garage/mods/keys/mod.conf b/data/games/garage/mods/keys/mod.conf new file mode 100644 index 0000000..8b8d669 --- /dev/null +++ b/data/games/garage/mods/keys/mod.conf @@ -0,0 +1,3 @@ +name = keys +description = Minetest Game mod: keys +depends = default diff --git a/data/games/garage/mods/keys/textures/keys_key.png b/data/games/garage/mods/keys/textures/keys_key.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d9afa09120d6135a688d6d26ff7ee6aa5789b GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr`&KKmPx>XI7n|boTJs zhMp^FZOe{H{&zGn<)ZTr}uauULE%M2#|mbH d*S3z4;rXuv+uwK1+YWRFgQu&X%Q~loCIB+|K!yMS literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/keys/textures/keys_key_skeleton.png b/data/games/garage/mods/keys/textures/keys_key_skeleton.png new file mode 100644 index 0000000000000000000000000000000000000000..f60cacee969ccd6c7d17b1e164e1bb1d50f2d09d GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar`&KKmPx>XI7n|boTJs zhVSn;OU#Gj)aQ1>{`a@#|;=%e*XTx^nbuCM#;lZ5j3g=svTWG;tmJ)vkXqHZ~(ZaAlJHKlMmrEoo?aXzPV zKBaR(rF255bUvtbL8){o@UFQY{#E&&7f}2p=r&bZ_}o3)TV6IrftrueATOV)2w^at$on0fY+^d z*{yQet$5h3cG9nc(yxQju!GXDgVV5r+pu@jv4z~Rchs_m)U$-$vUb?EhTgV(+_r+* zw}#)ifZ(`+*}0D2xrX7ng5bM^;Jb?4yprO)gWBy1l%b4rTmg>x!?$Dg?(3|ejo$t|}@6w*t)z$ISp7GS5 z@YJI5)ui&*qw?3J^Vp{J*r)T^sPx&W-{0Tv?CAgh|CF1oxc~qF0d!JMQvg8b*k%9# z0OUzTK~xyiV_;x#E@gm%a!W9!6&jS7Q&v%!92BDI4HDqt=HwNXm6PJLAtr=KY7}%Iu8I|%X>*}ksBV8F-m>85;r?7J5ws&{6 zR^@tu1lSl^r^y%hPMpxwSnLN@p`;|wRnR+Wa&L2i4@dwA%-u5D`ujR+GCZIHPQm%L zO)U*2;f@SbJ0U9k6Vi*aqI_)_rh*+Nq^N6VVe4S1E+Gu&+oz?(#l}QOhs9?ag9QYY t#WYM^-0id_6+{fcUXg}*pHGc}0RU;tGDu-GPyYY_002ovPDHLkV1oS_i(CKz literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/mapgen/init.lua b/data/games/garage/mods/mapgen/init.lua deleted file mode 100644 index d843902..0000000 --- a/data/games/garage/mods/mapgen/init.lua +++ /dev/null @@ -1,104 +0,0 @@ --- --- Aliases for map generator outputs --- - --- ESSENTIAL node aliases --- Basic nodes -core.register_alias("mapgen_stone", "basenodes:stone") -core.register_alias("mapgen_water_source", "basenodes:water_source") -core.register_alias("mapgen_river_water_source", "basenodes:river_water_source") - --- Additional essential aliases for v6 -core.register_alias("mapgen_lava_source", "basenodes:lava_source") -core.register_alias("mapgen_dirt", "basenodes:dirt") -core.register_alias("mapgen_dirt_with_grass", "basenodes:dirt_with_grass") -core.register_alias("mapgen_sand", "basenodes:sand") -core.register_alias("mapgen_tree", "basenodes:tree") -core.register_alias("mapgen_leaves", "basenodes:leaves") -core.register_alias("mapgen_apple", "basenodes:apple") - --- Essential alias for dungeons -core.register_alias("mapgen_cobble", "basenodes:cobble") - --- Optional aliases for v6 (they all have fallback values in the engine) -if core.settings:get_bool("devtest_v6_mapgen_aliases", false) then - core.register_alias("mapgen_gravel", "basenodes:gravel") - core.register_alias("mapgen_desert_stone", "basenodes:desert_stone") - core.register_alias("mapgen_desert_sand", "basenodes:desert_sand") - core.register_alias("mapgen_dirt_with_snow", "basenodes:dirt_with_snow") - core.register_alias("mapgen_snowblock", "basenodes:snowblock") - core.register_alias("mapgen_snow", "basenodes:snow") - core.register_alias("mapgen_ice", "basenodes:ice") - core.register_alias("mapgen_junglegrass", "basenodes:junglegrass") - core.register_alias("mapgen_jungletree", "basenodes:jungletree") - core.register_alias("mapgen_jungleleaves", "basenodes:jungleleaves") - core.register_alias("mapgen_pine_tree", "basenodes:pine_tree") - core.register_alias("mapgen_pine_needles", "basenodes:pine_needles") -end --- Optional alias for mossycobble (should fall back to cobble) -if core.settings:get_bool("devtest_dungeon_mossycobble", false) then - core.register_alias("mapgen_mossycobble", "basenodes:mossycobble") -end --- Optional aliases for dungeon stairs (should fall back to full nodes) -if core.settings:get_bool("devtest_dungeon_stairs", false) then - core.register_alias("mapgen_stair_cobble", "stairs:stair_cobble") - if core.settings:get_bool("devtest_v6_mapgen_aliases", false) then - core.register_alias("mapgen_stair_desert_stone", "stairs:stair_desert_stone") - end -end - --- --- Register biomes for biome API --- - -core.clear_registered_biomes() -core.clear_registered_decorations() - -if core.settings:get_bool("devtest_register_biomes", true) then - core.register_biome({ - name = "mapgen:grassland", - node_top = "basenodes:dirt_with_grass", - depth_top = 1, - node_filler = "basenodes:dirt", - depth_filler = 1, - node_riverbed = "basenodes:sand", - depth_riverbed = 2, - node_dungeon = "basenodes:cobble", - node_dungeon_alt = "basenodes:mossycobble", - node_dungeon_stair = "stairs:stair_cobble", - y_max = 31000, - y_min = 4, - heat_point = 50, - humidity_point = 50, - }) - - core.register_biome({ - name = "mapgen:grassland_ocean", - node_top = "basenodes:sand", - depth_top = 1, - node_filler = "basenodes:sand", - depth_filler = 3, - node_riverbed = "basenodes:sand", - depth_riverbed = 2, - node_cave_liquid = "basenodes:water_source", - node_dungeon = "basenodes:cobble", - node_dungeon_alt = "basenodes:mossycobble", - node_dungeon_stair = "stairs:stair_cobble", - y_max = 3, - y_min = -255, - heat_point = 50, - humidity_point = 50, - }) - - core.register_biome({ - name = "mapgen:grassland_under", - node_cave_liquid = {"basenodes:water_source", "basenodes:lava_source"}, - node_dungeon = "basenodes:cobble", - node_dungeon_alt = "basenodes:mossycobble", - node_dungeon_stair = "stairs:stair_cobble", - y_max = -256, - y_min = -31000, - heat_point = 50, - humidity_point = 50, - }) -end diff --git a/data/games/garage/mods/mapgen/mod.conf b/data/games/garage/mods/mapgen/mod.conf deleted file mode 100644 index 15750cc..0000000 --- a/data/games/garage/mods/mapgen/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = mapgen -description = Minimal map generator -depends = basenodes diff --git a/data/games/garage/mods/modchannels/init.lua b/data/games/garage/mods/modchannels/init.lua deleted file mode 100644 index 2003841..0000000 --- a/data/games/garage/mods/modchannels/init.lua +++ /dev/null @@ -1,14 +0,0 @@ --- --- Mod channels experimental handlers --- -local mod_channel = core.mod_channel_join("experimental_preview") - -core.register_on_modchannel_message(function(channel, sender, message) - core.log("action", "[modchannels] Server received message `" .. message - .. "` on channel `" .. channel .. "` from sender `" .. sender .. "`") - - if mod_channel:is_writeable() then - mod_channel:send_all("experimental answers to preview") - mod_channel:leave() - end -end) diff --git a/data/games/garage/mods/modchannels/mod.conf b/data/games/garage/mods/modchannels/mod.conf deleted file mode 100644 index 7c13aad..0000000 --- a/data/games/garage/mods/modchannels/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = modchannels -description = Add experimental mod channel handlers diff --git a/data/games/garage/mods/mtg_craftguide/README.md b/data/games/garage/mods/mtg_craftguide/README.md new file mode 100644 index 0000000..9c4ed7a --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/README.md @@ -0,0 +1,25 @@ +Minetest Game mod: mtg_craftguide +================================= + +Adds a "Recipes" tab to the inventory. Click an item to see it's recipes. +Click again to show usages. + +Based on [craftguide](https://github.com/minetest-mods/craftguide). + +Authors of media +---------------- + +paramat (CC BY-SA 3.0): + +* craftguide_clear_icon.png +* craftguide_next_icon.png +* craftguide_prev_icon.png +* craftguide_search_icon.png + +Neuromancer (CC BY-SA 3.0): + +* craftguide_furnace.png + +Wuzzy (CC BY-SA 3.0): + +* craftguide_shapeless.png diff --git a/data/games/garage/mods/mtg_craftguide/init.lua b/data/games/garage/mods/mtg_craftguide/init.lua new file mode 100644 index 0000000..97cd63a --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/init.lua @@ -0,0 +1,438 @@ +local S = minetest.get_translator("mtg_craftguide") +local esc = minetest.formspec_escape + +local player_data = {} +local init_items = {} +local recipes_cache = {} +local usages_cache = {} + +local group_stereotypes = { + dye = "dye:white", + wool = "wool:white", + coal = "default:coal_lump", + vessel = "vessels:glass_bottle", + flower = "flowers:dandelion_yellow" +} + +local group_names = { + coal = S("Any coal"), + sand = S("Any sand"), + wool = S("Any wool"), + stick = S("Any stick"), + vessel = S("Any vessel"), + wood = S("Any wood planks"), + stone = S("Any kind of stone block"), + + ["color_red,flower"] = S("Any red flower"), + ["color_blue,flower"] = S("Any blue flower"), + ["color_black,flower"] = S("Any black flower"), + ["color_green,flower"] = S("Any green flower"), + ["color_white,flower"] = S("Any white flower"), + ["color_orange,flower"] = S("Any orange flower"), + ["color_violet,flower"] = S("Any violet flower"), + ["color_yellow,flower"] = S("Any yellow flower"), + + ["color_red,dye"] = S("Any red dye"), + ["color_blue,dye"] = S("Any blue dye"), + ["color_cyan,dye"] = S("Any cyan dye"), + ["color_grey,dye"] = S("Any grey dye"), + ["color_pink,dye"] = S("Any pink dye"), + ["color_black,dye"] = S("Any black dye"), + ["color_brown,dye"] = S("Any brown dye"), + ["color_green,dye"] = S("Any green dye"), + ["color_white,dye"] = S("Any white dye"), + ["color_orange,dye"] = S("Any orange dye"), + ["color_violet,dye"] = S("Any violet dye"), + ["color_yellow,dye"] = S("Any yellow dye"), + ["color_magenta,dye"] = S("Any magenta dye"), + ["color_dark_grey,dye"] = S("Any dark grey dye"), + ["color_dark_green,dye"] = S("Any dark green dye") +} + +local function table_replace(t, val, new) + for k, v in pairs(t) do + if v == val then + t[k] = new + end + end +end + +local function extract_groups(str) + if str:sub(1, 6) == "group:" then + return str:sub(7):split() + end + return nil +end + +local function item_has_groups(item_groups, groups) + for _, group in ipairs(groups) do + if not item_groups[group] then + return false + end + end + return true +end + +local function groups_to_item(groups) + if #groups == 1 then + local group = groups[1] + if group_stereotypes[group] then + return group_stereotypes[group] + elseif minetest.registered_items["default:"..group] then + return "default:"..group + end + end + + for name, def in pairs(minetest.registered_items) do + if item_has_groups(def.groups, groups) then + return name + end + end + + return ":unknown" +end + +local function get_craftable_recipes(output) + local recipes = minetest.get_all_craft_recipes(output) + if not recipes then + return nil + end + + for i = #recipes, 1, -1 do + for _, item in pairs(recipes[i].items) do + local groups = extract_groups(item) + if groups then + item = groups_to_item(groups) + end + if not minetest.registered_items[item] then + table.remove(recipes, i) + break + end + end + end + + if #recipes > 0 then + return recipes + end +end + +local function show_item(def) + return def.groups.not_in_craft_guide ~= 1 and def.description ~= "" +end + +local function cache_usages(recipe) + local added = {} + for _, item in pairs(recipe.items) do + if not added[item] then + local groups = extract_groups(item) + if groups then + for name, def in pairs(minetest.registered_items) do + if not added[name] and show_item(def) + and item_has_groups(def.groups, groups) then + local usage = table.copy(recipe) + table_replace(usage.items, item, name) + usages_cache[name] = usages_cache[name] or {} + table.insert(usages_cache[name], usage) + added[name] = true + end + end + elseif show_item(minetest.registered_items[item]) then + usages_cache[item] = usages_cache[item] or {} + table.insert(usages_cache[item], recipe) + end + added[item] = true + end + end +end + +minetest.register_on_mods_loaded(function() + for name, def in pairs(minetest.registered_items) do + if show_item(def) then + local recipes = get_craftable_recipes(name) + if recipes then + recipes_cache[name] = recipes + for _, recipe in ipairs(recipes) do + cache_usages(recipe) + end + end + end + end + for name, def in pairs(minetest.registered_items) do + if recipes_cache[name] or usages_cache[name] then + table.insert(init_items, name) + end + end + table.sort(init_items) +end) + +local function coords(i, cols) + return i % cols, math.floor(i / cols) +end + +local function is_fuel(item) + return minetest.get_craft_result({method="fuel", items={item}}).time > 0 +end + +local function item_button_fs(fs, x, y, item, element_name, groups) + table.insert(fs, ("item_image_button[%s,%s;1.05,1.05;%s;%s;%s]") + :format(x, y, item, element_name, groups and "\n"..esc(S("G")) or "")) + + local tooltip + if groups then + table.sort(groups) + tooltip = group_names[table.concat(groups, ",")] + if not tooltip then + local groupstr = {} + for _, group in ipairs(groups) do + table.insert(groupstr, minetest.colorize("yellow", group)) + end + groupstr = table.concat(groupstr, ", ") + tooltip = S("Any item belonging to the group(s): @1", groupstr) + end + elseif is_fuel(item) then + local itemdef = minetest.registered_items[item:match("%S*")] + local desc = itemdef and itemdef.description or S("Unknown Item") + tooltip = desc.."\n"..minetest.colorize("orange", S("Fuel")) + end + if tooltip then + table.insert(fs, ("tooltip[%s;%s]"):format(element_name, esc(tooltip))) + end +end + +local function recipe_fs(fs, data) + local recipe = data.recipes[data.rnum] + local width = recipe.width + local cooktime, shapeless + + if recipe.method == "cooking" then + cooktime, width = width, 1 + elseif width == 0 then + shapeless = true + if #recipe.items == 1 then + width = 1 + elseif #recipe.items <= 4 then + width = 2 + else + width = 3 + end + end + + table.insert(fs, ("label[5.5,1;%s]"):format(esc(data.show_usages + and S("Usage @1 of @2", data.rnum, #data.recipes) + or S("Recipe @1 of @2", data.rnum, #data.recipes)))) + + if #data.recipes > 1 then + table.insert(fs, + "image_button[5.5,1.6;0.8,0.8;craftguide_prev_icon.png;recipe_prev;]".. + "image_button[6.2,1.6;0.8,0.8;craftguide_next_icon.png;recipe_next;]".. + "tooltip[recipe_prev;"..esc(S("Previous recipe")).."]".. + "tooltip[recipe_next;"..esc(S("Next recipe")).."]") + end + + local rows = math.ceil(table.maxn(recipe.items) / width) + if width > 3 or rows > 3 then + table.insert(fs, ("label[0,1;%s]") + :format(esc(S("Recipe is too big to be displayed.")))) + return + end + + local base_x = 3 - width + local base_y = rows == 1 and 1 or 0 + + for i, item in pairs(recipe.items) do + local x, y = coords(i - 1, width) + + local elem_name = item + local groups = extract_groups(item) + if groups then + item = groups_to_item(groups) + elem_name = esc(item.."."..table.concat(groups, "+")) + end + item_button_fs(fs, base_x + x, base_y + y, item, elem_name, groups) + end + + if shapeless or recipe.method == "cooking" then + table.insert(fs, ("image[3.2,0.5;0.5,0.5;craftguide_%s.png]") + :format(shapeless and "shapeless" or "furnace")) + local tooltip = shapeless and S("Shapeless") or + S("Cooking time: @1", minetest.colorize("yellow", cooktime)) + table.insert(fs, "tooltip[3.2,0.5;0.5,0.5;"..esc(tooltip).."]") + end + table.insert(fs, "image[3,1;1,1;sfinv_crafting_arrow.png]") + + item_button_fs(fs, 4, 1, recipe.output, recipe.output:match("%S*")) +end + +local function get_formspec(player) + local name = player:get_player_name() + local data = player_data[name] + data.pagemax = math.max(1, math.ceil(#data.items / 32)) + + local fs = {} + table.insert(fs, + "style_type[item_image_button;padding=2]".. + "field[0.3,4.2;2.8,1.2;filter;;"..esc(data.filter).."]".. + "label[5.8,4.15;"..minetest.colorize("yellow", data.pagenum).." / ".. + data.pagemax.."]".. + "image_button[2.63,4.05;0.8,0.8;craftguide_search_icon.png;search;]".. + "image_button[3.25,4.05;0.8,0.8;craftguide_clear_icon.png;clear;]".. + "image_button[5,4.05;0.8,0.8;craftguide_prev_icon.png;prev;]".. + "image_button[7.25,4.05;0.8,0.8;craftguide_next_icon.png;next;]".. + "tooltip[search;"..esc(S("Search")).."]".. + "tooltip[clear;"..esc(S("Reset")).."]".. + "tooltip[prev;"..esc(S("Previous page")).."]".. + "tooltip[next;"..esc(S("Next page")).."]".. + "field_enter_after_edit[filter;true]".. + "field_close_on_enter[filter;false]") + + if #data.items == 0 then + table.insert(fs, "label[3,2;"..esc(S("No items to show.")).."]") + else + local first_item = (data.pagenum - 1) * 32 + for i = first_item, first_item + 31 do + local item = data.items[i + 1] + if not item then + break + end + local x, y = coords(i % 32, 8) + item_button_fs(fs, x, y, item, item) + end + end + + table.insert(fs, "container[0,5.6]") + if data.recipes then + recipe_fs(fs, data) + elseif data.prev_item then + table.insert(fs, ("label[2,1;%s]"):format(esc(data.show_usages + and S("No usages.").."\n"..S("Click again to show recipes.") + or S("No recipes.").."\n"..S("Click again to show usages.")))) + end + table.insert(fs, "container_end[]") + + return table.concat(fs) +end + +local function imatch(str, filter) + return str:lower():find(filter, 1, true) ~= nil +end + +local function execute_search(data) + local filter = data.filter + if filter == "" then + data.items = init_items + return + end + data.items = {} + + for _, item in ipairs(init_items) do + local def = minetest.registered_items[item] + local desc = def and minetest.get_translated_string(data.lang_code, def.description) + + if imatch(item, filter) or desc and imatch(desc, filter) then + table.insert(data.items, item) + end + end +end + +local function on_receive_fields(player, fields) + local name = player:get_player_name() + local data = player_data[name] + + if fields.clear then + data.filter = "" + data.pagenum = 1 + data.prev_item = nil + data.recipes = nil + data.items = init_items + return true + + elseif (fields.key_enter_field == "filter" or fields.search) + and fields.filter then + local new = fields.filter:sub(1, 128) -- truncate to a sane length + :gsub("[%z\1-\8\11-\31\127]", "") -- strip naughty control characters (keeps \t and \n) + :lower() -- search is case insensitive + if data.filter == new then + return + end + data.filter = new + data.pagenum = 1 + execute_search(data) + return true + + elseif fields.prev or fields.next then + if data.pagemax == 1 then + return + end + data.pagenum = data.pagenum + (fields.next and 1 or -1) + if data.pagenum > data.pagemax then + data.pagenum = 1 + elseif data.pagenum == 0 then + data.pagenum = data.pagemax + end + return true + + elseif fields.recipe_next or fields.recipe_prev then + data.rnum = data.rnum + (fields.recipe_next and 1 or -1) + if data.rnum > #data.recipes then + data.rnum = 1 + elseif data.rnum == 0 then + data.rnum = #data.recipes + end + return true + + else + local item + for field in pairs(fields) do + if field:find(":") then + item = field:match("[%w_:]+") + break + end + end + if not item then + return + end + + if item == data.prev_item then + data.show_usages = not data.show_usages + else + data.show_usages = nil + end + if data.show_usages then + data.recipes = usages_cache[item] + else + data.recipes = recipes_cache[item] + end + data.prev_item = item + data.rnum = 1 + return true + end +end + +minetest.register_on_joinplayer(function(player) + local name = player:get_player_name() + local info = minetest.get_player_information(name) + + player_data[name] = { + filter = "", + pagenum = 1, + items = init_items, + lang_code = info.lang_code + } +end) + +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + player_data[name] = nil +end) + +sfinv.register_page("mtg_craftguide:craftguide", { + title = esc(S("Recipes")), + get = function(self, player, context) + return sfinv.make_formspec(player, context, get_formspec(player)) + end, + on_player_receive_fields = function(self, player, context, fields) + if on_receive_fields(player, fields) then + sfinv.set_player_inventory_formspec(player) + end + end +}) diff --git a/data/games/garage/mods/mtg_craftguide/license.txt b/data/games/garage/mods/mtg_craftguide/license.txt new file mode 100644 index 0000000..8d28c5c --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/license.txt @@ -0,0 +1,63 @@ +License of source code +---------------------- + +The MIT License (MIT) + +Copyright (C) 2015-2019 Jean-Patrick Guerrero and contributors. +Copyright (C) 2020 pauloue + +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. + + +Licenses of media (textures) +---------------------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) + +Copyright (C) 2018 paramat +Copyright (C) Neuromancer +Copyright (C) 2017 Wuzzy + +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/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.de.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.de.tr new file mode 100644 index 0000000..d90f833 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.de.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Beliebige Kohle +Any sand=Beliebiger Sand +Any wool=Beliebige Wolle +Any stick=Beliebiger Stock +Any vessel=Beliebiges Gefäß +Any wood planks=Beliebige Holzplanken +Any kind of stone block=Beliebige Art von Steinblock +Any red flower=Beliebige rote Blume +Any blue flower=Beliebige blaue Blume +Any black flower=Beliebige schwarze Blume +Any green flower=Beliebige grüne Blume +Any white flower=Beliebige weiße Blume +Any orange flower=Beliebige orange Blume +Any violet flower=Beliebige violette Blume +Any yellow flower=Beliebige gelbe Blume +Any red dye=Beliebiger roter Farbstoff +Any blue dye=Beliebiger blauer Farbstoff +Any cyan dye=Beliebiger türkiser Farbstoff +Any grey dye=Beliebiger grauer Farbstoff +Any pink dye=Beliebiger rosa Farbstoff +Any black dye=Beliebiger schwarzer Farbstoff +Any brown dye=Beliebiger brauner Farbstoff +Any green dye=Beliebiger grüner Farbstoff +Any white dye=Beliebiger weißer Farbstoff +Any orange dye=Beliebiger orange Farbstoff +Any violet dye=Beliebiger violetter Farbstoff +Any yellow dye=Beliebiger gelber Farbstoff +Any magenta dye=Beliebiger magenta Farbstoff +Any dark grey dye=Beliebiger dunkelgrauer Farbstoff +Any dark green dye=Beliebiger dunkelgrüner Farbstoff +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Beliebiger Gegenstand, der zu Gruppe(n) gehört: @1 +Unknown Item=Unbekannter Gegenstand +Fuel=Brennstoff +Usage @1 of @2=Verwendung @1 von @2 +Recipe @1 of @2=Rezept @1 von @2 +Previous recipe=Vorheriges Rezept +Next recipe=Nächstes Rezept +Recipe is too big to be displayed.=Rezept ist zu groß für die Anzeige. +Shapeless=Formlos +Cooking time: @1=Kochdauer: @1 +Search=Suche +Reset=Zurücksetzen +Previous page=Vorherige Seite +Next page=Nächste Seite +No items to show.=Keine Gegenstände anzuzeigen. +No usages.=Keine Verwendungen. +Click again to show recipes.=Erneut klicken, um Rezepte zu zeigen. +No recipes.=Keine Rezepte. +Click again to show usages.=Erneut klicken, um Verwendungen zu zeigen. +Recipes=Rezepte diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.eo.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.eo.tr new file mode 100644 index 0000000..80a1e39 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.eo.tr @@ -0,0 +1,54 @@ +# textdomain: mtg_craftguide + +Any coal=Ajna karbo +Any sand=Ajna sablo +Any wool=Ajna lano +Any stick=Ajna bastono +Any vessel=Ajna vazo +Any wood planks=Ajnaj lignaj tabuloj +Any kind of stone block=Ia ŝtona bloko +Any red flower=Ajna ruĝa floro +Any blue flower=Ajna blua floro +Any black flower=Ajna nigra floro +Any green flower=Ajna verda floro +Any white flower=Ajna blanka floro +Any orange flower=Ajna oranĝkolora floro +Any violet flower=Ajna violkolora floro +Any yellow flower=Ajna flava floro +Any red dye=Ajna ruĝa tinkturo +Any blue dye=Ajna blua tinkturo +Any cyan dye=Ajna bluverda tinkturo +Any grey dye=Ajna griza tinkturo +Any pink dye=Ajna rozkolora tinkturo +Any black dye=Ajna nigra tinkturo +Any brown dye=Ajna bruna tinkturo +Any green dye=Ajna verda tinkturo +Any white dye=Ajna blanka tinkturo +Any orange dye=Ajna oranĝkolora tinkturo +Any violet dye=Ajna violkolora tinkturo +Any yellow dye=Ajna flava tinkturo +Any magenta dye=Ajna fuksina tinkturo +Any dark grey dye=Ajna malhela griza tinkturo +Any dark green dye=Ajna malhela verda tinkturo +# Label for group ingredients +G=A +Any item belonging to the group(s): @1=Ajna objekto de la aro(j): @1 +Unknown Item=Nekonata objekto +Fuel=Brulaĵo +Usage @1 of @2=Uzo @1 el @2 +Recipe @1 of @2=Recepto @1 el @2 +Previous recipe=Antaŭa recepto +Next recipe=Sekva recepto +Recipe is too big to be displayed.=La recepto estas tro granda por prezenti. +Shapeless=Senforma +Cooking time: @1=Tempo por kuirado: @1 +Search=Serĉi +Reset=Rekomincigi +Previous page=Antaŭa paĝo +Next page=Sekva paĝo +No items to show.=Neniu objekto por prezenti. +No usages.=Neniu uzo. +Click again to show recipes.=Reklaki por prezenti receptojn. +No recipes.=Neniu recepto. +Click again to show usages.=Reklaki por prezenti uzojn. +Recipes=Receptoj diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.es.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.es.tr new file mode 100644 index 0000000..a5b5149 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.es.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Carbón +Any sand=Arena +Any wool=Lana +Any stick=Palitos +Any vessel=Recipiente +Any wood planks=Tablas de madera +Any kind of stone block=Derivado de bloque de piedra +Any red flower=Flor roja +Any blue flower=Flor azul +Any black flower=Flor negra +Any green flower=Flor verde +Any white flower=Flor blanca +Any orange flower=Flor naranja +Any violet flower=Flor violeta +Any yellow flower=Flor amarilla +Any red dye=Tinte rojo +Any blue dye=Tinte azul +Any cyan dye=Tinte cian +Any grey dye=Tinte gris +Any pink dye=Tinte rosa +Any black dye=Tinte negro +Any brown dye=Tinte marrón +Any green dye=Tinte verde +Any white dye=Tinte blanco +Any orange dye=Tinte naranja +Any violet dye=Tinte violeta +Any yellow dye=Tinte amarillo +Any magenta dye=Tinte magenta +Any dark grey dye=Tinte gris oscuro +Any dark green dye=Tinte verde oscuro +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Objeto del grupo: @1 +Unknown Item=Objeto desconocido +Fuel=Combustible +Usage @1 of @2=Usa @1 en @2 +Recipe @1 of @2=Receta @1 en @2 +Previous recipe=Receta anterior +Next recipe=Próxima Receta +Recipe is too big to be displayed.=La receta es muy grande para ser mostrada. +Shapeless=Sin forma +Cooking time: @1=Tiempo de cocción: @1 +Search=Buscar +Reset=Resetear +Previous page=Página anterior +Next page=Próxima página +No items to show.=No hay objetos para mostrar. +No usages.=Sin usos. +Click again to show recipes.=Clica de nuevo para mostrar recetas. +No recipes.=No hay recetas. +Click again to show usages.=Clica de nuevo para mostrar usos. +Recipes=Recetas diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.fr.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.fr.tr new file mode 100644 index 0000000..afc8224 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.fr.tr @@ -0,0 +1,54 @@ +# textdomain: mtg_craftguide + +Any coal=Quelconque charbon +Any sand=Quelconque sable +Any wool=Quelconque laine +Any stick=Quelconque bâton +Any vessel=Quelconque couvert +Any wood planks=Quelconques planches de bois +Any kind of stone block=Quelconque roche +Any red flower=Quelconque fleur rouge +Any blue flower=Quelconque fleur bleue +Any black flower=Quelconque fleur noire +Any green flower=Quelconque fleur verte +Any white flower=Quelconque fleur blanche +Any orange flower=Quelconque fleur orange +Any violet flower=Quelconque fleur violette +Any yellow flower=Quelconque fleur jaune +Any red dye=Quelconque colorant rouge +Any blue dye=Quelconque colorant bleu +Any cyan dye=Quelconque colorant bleu ciel +Any grey dye=Quelconque colorant gris +Any pink dye=Quelconque colorant rose +Any black dye=Quelconque colorant noir +Any brown dye=Quelconque colorant marron +Any green dye=Quelconque colorant vert +Any white dye=Quelconque colorant blanc +Any orange dye=Quelconque colorant orange +Any violet dye=Quelconque colorant violet +Any yellow dye=Quelconque colorant jaune +Any magenta dye=Quelconque colorant magenta +Any dark grey dye=Quelconque colorant gris foncé +Any dark green dye=Quelconque colorant vert foncé +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Tout item appartenant au(x) groupe(s) : @1 +Unknown Item=Object inconnu +Fuel=Combustible +Usage @1 of @2=Usage @1 sur @2 +Recipe @1 of @2=Recette @1 sur @2 +Previous recipe=Recette précédente +Next recipe=Prochaine recette +Recipe is too big to be displayed.=Recette trop grande pour être affichée. +Shapeless=Sans forme +Cooking time: @1=Temps de cuisson : @1 +Search=Recherche +Reset=Réinitialiser +Previous page=Page précédente +Next page=Prochaine page +No items to show.=Aucun item à afficher. +No usages.=Sans utilité. +Click again to show recipes.=Cliquez encore pour afficher la recette. +No recipes.=Aucune recette. +Click again to show usages.=Cliquez encore pour afficher l'usage. +Recipes=Recettes diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.id.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.id.tr new file mode 100644 index 0000000..d4e6ea0 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.id.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Batu bara apa pun +Any sand=Pasir apa pun +Any wool=Wol apa pun +Any stick=Tongkat apa pun +Any vessel=Bejana apa pun +Any wood planks=Papan kayu apa pun +Any kind of stone block=Blok batu apa pun +Any red flower=Bunga merah apa pun +Any blue flower=Bunga biru apa pun +Any black flower=Bunga hitam apa pun +Any green flower=Bunga hijau apa pun +Any white flower=Bunga putih apa pun +Any orange flower=Bunga oranye apa pun +Any violet flower=Bunga ungu apa pun +Any yellow flower=Bunga kuning apa pun +Any red dye=Pewarna merah apa pun +Any blue dye=Pewarna biru apa pun +Any cyan dye=Pewarna sian apa pun +Any grey dye=Pewarna abu apa pun +Any pink dye=Pewarna merah jambu apa pun +Any black dye=Pewarna hitam apa pun +Any brown dye=Pewarna cokelat apa pun +Any green dye=Pewarna hijau apa pun +Any white dye=Pewarna putih apa pun +Any orange dye=Pewarna oranye apa pun +Any violet dye=Pewarna ungu apa pun +Any yellow dye=Pewarna kuning apa pun +Any magenta dye=Pewarna magenta apa pun +Any dark grey dye=Pewarna abu tua apa pun +Any dark green dye=Pewarna hijau tua apa pun +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Barang apa pun yang termasuk grup: @1 +Unknown Item=Barang Tak Diketahui +Fuel=Bahan Bakar +Usage @1 of @2=Penggunaan @1 dari @2 +Recipe @1 of @2=Resep @1 dari @2 +Previous recipe=Resep sebelumnya +Next recipe=Resep selanjutnya +Recipe is too big to be displayed.=Resep terlalu besar untuk ditampilkan. +Shapeless=Tak berbentuk +Cooking time: @1=Waktu memasak: @1 +Search=Cari +Reset=Atur ulang +Previous page=Halaman sebelumnya +Next page=Halaman selanjutnya +No items to show.=Tidak ada barang untuk ditampilkan. +No usages.=Tidak ada penggunaan. +Click again to show recipes.=Klik lagi untuk menampilkan resep. +No recipes.=Tidak ada resep. +Click again to show usages.=Klik lagi untuk menampilkan penggunaan. +Recipes=Resep diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ja.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ja.tr new file mode 100644 index 0000000..c6ec66a --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ja.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=石炭 +Any sand=砂 +Any wool=羊毛 +Any stick=棒 +Any vessel=瓶 +Any wood planks=板材 +Any kind of stone block=石のブロック +Any red flower=赤色の花 +Any blue flower=青色の花 +Any black flower=黒色の花 +Any green flower=緑色の花 +Any white flower=白色の花 +Any orange flower=橙色の花 +Any violet flower=紫色の花 +Any yellow flower=黄色の花 +Any red dye=赤色の染料 +Any blue dye=青色の染料 +Any cyan dye=青緑色の染料 +Any grey dye=灰色の染料 +Any pink dye=桃色の染料 +Any black dye=黒色の染料 +Any brown dye=茶色の染料 +Any green dye=緑色の染料 +Any white dye=白色の染料 +Any orange dye=橙色の染料 +Any violet dye=紫色の染料 +Any yellow dye=黄色の染料 +Any magenta dye=赤紫色の染料 +Any dark grey dye=濃灰色の染料 +Any dark green dye=濃緑色の染料 +# Label for group ingredients +G= +Any item belonging to the group(s): @1=グループに属するアイテム: @1 +Unknown Item=不明なアイテム +Fuel=燃料 +Usage @1 of @2=利用方法 @1 / @2 +Recipe @1 of @2=レシピ @1 / @2 +Previous recipe=前のレシピ +Next recipe=次のレシピ +Recipe is too big to be displayed.=レシピが大きすぎて表示できません。 +Shapeless=無形 +Cooking time: @1=調理時間: @1 +Search=検索 +Reset=リセット +Previous page=前のページ +Next page=次のページ +No items to show.=表示する項目がありません。 +No usages.=利用方法がありません。 +Click again to show recipes.=もう一度クリックするとレシピを表示します。 +No recipes.=レシピがありません。 +Click again to show usages.=もう一度クリックすると使用方法を表示します。 +Recipes=レシピ diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.jbo.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.jbo.tr new file mode 100644 index 0000000..c9e6fbf --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.jbo.tr @@ -0,0 +1,54 @@ +# textdomain: mtg_craftguide +Any coal=lo cmina lo'i kolme +Any sand=lo cmima lo'i sance +Any wool=lo cmima lo'i sunla +Any stick=lo cmima lo'i grana +Any vessel=lo cmima lo'i vasru +Any wood planks=lo cmima lo'i mudri tanbo +Any kind of stone block=lo cmima lo'i rokci bliku +Any red flower=lo cmima lo'i xunre xrula +Any blue flower=lo cmima lo'i blanu xrula +Any black flower=lo cmima lo'i xekri xrula +Any green flower=lo cmima lo'i crino xrula +Any white flower=lo cmima lo'i blabi xrula +Any orange flower=lo cmima lo'i narju xrula +Any violet flower=lo cmima lo'i zirpu xrula +Any yellow flower=lo cmima lo'i pelxu xrula +Any red dye=lo cmima lo'i xunre xinmo +Any blue dye=lo cmima lo'i blanu xinmo +Any cyan dye=lo cmima lo'i cicna xinmo +Any grey dye=lo cmima lo'i grusi xinmo +Any pink dye=lo cmima lo'i xunblabi xinmo +Any black dye=lo cmima lo'i xekri xinmo +Any brown dye=lo cmima lo'i bunre xinmo +Any green dye=lo cmima lo'i crino xinmo +Any white dye=lo cmima lo'i blabi xinmo +Any orange dye=lo cmima lo'i narju xinmo +Any violet dye=lo cmima lo'i zirpu xinmo +Any yellow dye=lo cmima lo'i pelxu xinmo +Any magenta dye=lo cmima lo'i nukni xinmo +Any dark grey dye=lo cmima lo'i xekri grusi xinmo +Any dark green dye=lo cmima lo'i xekri crino xinmo +# Label for group ingredients +# c = cmima +G=c +Any item belonging to the group(s): @1=lo cmima lo'i me zoi gi'u.@1.gi'u +Unknown Item=lo na te djuno dacti +Fuel=.i livla +Usage @1 of @2=.i meirmoi fe li @1 li @2@nle'i te zbasu +Recipe @1 of @2=.i meirmoi fe li @1 li @2@nle'i te jukpa +Previous recipe=lidne +Next recipe=selyli'e +Recipe is too big to be displayed.=.i lo te jukpa cu dukse lo ka barda tezu'e lo nu jarco +Shapeless=tarmi claxu +Cooking time: @1=lo pu'u jukpa cu snidu li @1 +Search=sisku +Reset=kraga'igau +Previous page=lidne +Next page=selyli'e +No items to show.=no da dacti cu se jarco +No usages.=na te zbasu +Click again to show recipes.=.i ko rapli .iklki fi lo nu .arco lo te jukpa +No recipes.=na te jukpa +Click again to show usages.=.i ko rapli .iklki fi lo nu .arco lo te zbasu +Recipes=lo te jukpa diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.lv.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.lv.tr new file mode 100644 index 0000000..253aae5 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.lv.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Jebkura ogle +Any sand=Jebkura smilts +Any wool=Jebkura vilna +Any stick=Jebkurš puļķis +Any vessel=Jebkurš trauks +Any wood planks=Jebkuri dēļi +Any kind of stone block=Jebkads akmens bloks +Any red flower=Jebkāda sarkana puķe +Any blue flower=Jebkāda zila puķe +Any black flower=Jebkāda melna puķe +Any green flower=Jebkāda zaļa puķe +Any white flower=Jebkāda balta puķe +Any orange flower=Jebkāda oranža puķe +Any violet flower=Jebkāda violeta puķe +Any yellow flower=Jebkāda dzeltena puķe +Any red dye=Jebkāda sarkanā krāsa +Any blue dye=Jebkāda zilā krāsa +Any cyan dye=Jebkāda ciānkrāsas krāsa +Any grey dye=Jebkāda pelēkā krāsa +Any pink dye=Jebkāda rozā krāsa +Any black dye=Jebkāda melnā krāsa +Any brown dye=Jebkāda brūnā krāsa +Any green dye=Jebkāda zaļā krāsa +Any white dye=Jebkāda baltā krāsa +Any orange dye=Jebkāda oranžā krāsa +Any violet dye=Jebkāda violetā krāsa +Any yellow dye=Jebkāda dzeltanā krāsa +Any magenta dye=Jebkāda fuksīna krāsa +Any dark grey dye=Jebkāda tumšpelēkā krāsa +Any dark green dye=Jebkāka tumši zaļā krāsa +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Jebkurš priekšmets no grupas/ām: @1 +Unknown Item=Nezināms priekšmets +Fuel=Degviela +Usage @1 of @2=Izmantošana @1 no @2 +Recipe @1 of @2=Recepte @1 no @2 +Previous recipe=Iepriekšējā recepte +Next recipe=Nākošā recepte +Recipe is too big to be displayed.=Recepte ir pārāk liela lai to attēlotu. +Shapeless=Bezformas +Cooking time: @1=Apstādāšanas laiks @1 +Search=Meklēšana +Reset=Atiestatīt +Previous page=Iepriekšējā lapa +Next page=Nākošā lapa +No items to show.=Nav priekšmetu ko parādīt. +No usages.=Nav pielietojumu. +Click again to show recipes.=Uzklikšķiniet atkal lai parādītu receptes. +No recipes.=Nav recepšu. +Click again to show usages.=Uzklikšķiniet atkal lai parādītu izmantojamības. +Recipes=Receptes diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ms.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ms.tr new file mode 100644 index 0000000..0cfb297 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ms.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Sebarang arang +Any sand=Sebarang pasir +Any wool=Sebarang bulu biri-biri +Any stick=Sebarang serpihan kayu +Any vessel=Sebarang bekas kaca +Any wood planks=Sebarang papan kayu +Any kind of stone block=Sebarang jenis bongkah batu +Any red flower=Sebarang bunga merah +Any blue flower=Sebarang bunga biru +Any black flower=Sebarang bunga hitam +Any green flower=Sebarang bunga hijau +Any white flower=Sebarang bunga putih +Any orange flower=Sebarang bunga jingga +Any violet flower=Sebarang bunga ungu +Any yellow flower=Sebarang bunga kuning +Any red dye=Sebarang pewarna merah +Any blue dye=Sebarang pewarna biru +Any cyan dye=Sebarang pewarna biru kehijauan +Any grey dye=Sebarang pewarna kelabu +Any pink dye=Sebarang pewarna merah jambu +Any black dye=Sebarang pewarna hitam +Any brown dye=Sebarang pewarna perang +Any green dye=Sebarang pewarna hijau +Any white dye=Sebarang pewarna putih +Any orange dye=Sebarang pewarna jingga +Any violet dye=Sebarang pewarna ungu +Any yellow dye=Sebarang pewarna kuning +Any magenta dye=Sebarang pewarna magenta +Any dark grey dye=Sebarang pewarna kelabu tua +Any dark green dye=Sebarang pewarna hijau tua +# Label for group ingredients +G=K +Any item belonging to the group(s): @1=Sebarang item milik kumpulan: @1 +Unknown Item=Item Tidak Diketahui +Fuel=Bahan Api +Usage @1 of @2=Kegunaan @1 daripada @2 +Recipe @1 of @2=Resipi @1 daripada @2 +Previous recipe=Resipi sebelumnya +Next recipe=Resipi seterusnya +Recipe is too big to be displayed.=Resipi terlalu besar untuk dipaparkan. +Shapeless=Tidak Berbentuk +Cooking time: @1=Masa memasak: @1 +Search=Cari +Reset=Tetap Semula +Previous page=Halaman sebelumnya +Next page=Halaman seterusnya +No items to show.=Tiada item untuk ditunjukkan. +No usages.=Tiada kegunaan. +Click again to show recipes.=Klik lagi untuk tunjuk resipi. +No recipes.=Tiada resipi. +Click again to show usages.=Klik lagi untuk tunjuk kegunaan. +Recipes=Resipi diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.pl.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.pl.tr new file mode 100644 index 0000000..88d8e95 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.pl.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Dowolny węgiel +Any sand=Dowonly piasek +Any wool=Dowolna wełna +Any stick=Dowolny patyk +Any vessel=Dowolne naczynie +Any wood planks=Dowolne deski +Any kind of stone block=Dowolny rodzaj kamiennego bloku +Any red flower=Dowolny czerwony kwiat +Any blue flower=Dowolny niebieski kwiat +Any black flower=Dowolny czarny kwiat +Any green flower=Dowolny zielony kwiat +Any white flower=Dowolny biały kwiat +Any orange flower=Dowolny pomarańczowy kwiat +Any violet flower=Dowolny fioletowy kwiat +Any yellow flower=Dowolny żółty kwiat +Any red dye=Dowolny czerwony barwnik +Any blue dye=Dowolny niebieski barwnik +Any cyan dye=Dowolny cyjanowy barwnik +Any grey dye=Dowolny szary barwnik +Any pink dye=Dowolny różowy barwnik +Any black dye=Dowolny czarny barwnik +Any brown dye=Dowolny brązowy barwnik +Any green dye=Dowolny zielony barwnik +Any white dye=Dowolny biały barwnik +Any orange dye=Dowolny pomarańczowy barwnik +Any violet dye=Dowolny fioletowy barwnik +Any yellow dye=Dowolny zółty barwnik +Any magenta dye=Dowolny karmazynowy barwnik +Any dark grey dye=Dowolny ciemnoszary barwnik +Any dark green dye=Dowolny ciemnozielony barwnik +# Label for group ingredients +G=G +Any item belonging to the group(s): @1= +Unknown Item=Nieznany przedmiot +Fuel=Paliwo +Usage @1 of @2=Użycie @1 z @2 +Recipe @1 of @2=Receptura @1 z @2 +Previous recipe=Poprzednia receptura +Next recipe=Następna receptura +Recipe is too big to be displayed.=Receptura jest zbyt duża aby mogła być wyświetlona. +Shapeless=Bez kształtu +Cooking time: @1=Czas przepalania: @1 +Search=Wyszukaj +Reset=Zresetuj +Previous page=Poprzednia strona +Next page=Następna strona +No items to show.=Brak przedmiotów do pokazania. +No usages.=Brak użyć. +Click again to show recipes.=Naciśnij jeszcze raz aby pokazać receptury. +No recipes.=Brak receptur. +Click again to show usages.=Naciśnij jeszcze raz aby pokazać użycia. +Recipes=Receptury diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.pt_BR.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.pt_BR.tr new file mode 100644 index 0000000..a4bbf7f --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.pt_BR.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Qualquer carvão +Any sand=Qualquer areia +Any wool=Qualquer madeira +Any stick=Qualquer graveto +Any vessel=Qualquer navio +Any wood planks=Qualquer tábua de madeira +Any kind of stone block=Qualquer tipo de bloco de pedra +Any red flower=Qualquer flor vermelha +Any blue flower=Qualquer flor azul +Any black flower=Qualquer flor preta +Any green flower=Qualquer flor verde +Any white flower=Qualquer flor branca +Any orange flower=Qualquer flor laranja +Any violet flower=Qualquer flor violeta +Any yellow flower=Qualquer flor amarela +Any red dye=Qualquer tinta vermelha +Any blue dye=Qualquer tinta azul +Any cyan dye=Qualquer tinta ciano +Any grey dye=Qualquer tinta cinza +Any pink dye=Qualquer tinta rosa +Any black dye=Qualquer tinta preto +Any brown dye=Qualquer tinta marrom +Any green dye=Qualquer tinta verde +Any white dye=Qualquer tinta branca +Any orange dye=Qualquer tinta laranja +Any violet dye=Qualquer tinta violeta +Any yellow dye=Qualquer tinta amarela +Any magenta dye=Qualquer tinta magenta +Any dark grey dye=Qualquer tinta cinza-escuro +Any dark green dye=Qualquer tinta cinza-escuro +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Qualquer item pertencente ao(s) grupo(s): @1 +Unknown Item=Item Desconhecido +Fuel=Combustível +Usage @1 of @2=Uso @1 de @2 +Recipe @1 of @2=Receita @1 de @2 +Previous recipe=Receita anterior +Next recipe=Próxima receita +Recipe is too big to be displayed.=Receita é muito grande para ser exibida. +Shapeless=Sem forma +Cooking time: @1=Tempo de Cozimento: @1 +Search=Buscar +Reset=Redefinir +Previous page=Página anterior +Next page=Próxima página +No items to show.=Nenhum item para mostrar. +No usages.=Nenhum uso. +Click again to show recipes.=Clique novamente para mostrar receitas. +No recipes.=Nenhuma receita. +Click again to show usages.=Clique novamente para mostrar os usos. +Recipes=Receitas diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ru.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ru.tr new file mode 100644 index 0000000..ea7a717 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.ru.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Любой уголь +Any sand=Любой песок +Any wool=Любая шерсть +Any stick=Любая палка +Any vessel=Любой сосуд +Any wood planks=Любые доски +Any kind of stone block=Любой вид камня +Any red flower=Любой красный цветок +Any blue flower=Любой синий цветок +Any black flower=Любой чёрный цветок +Any green flower=Любой зелёный цветок +Any white flower=Любой белый цветок +Any orange flower=Любой оранжевый цветок +Any violet flower=Любой фиолетовый цветок +Any yellow flower=Любой жёлтый цветок +Any red dye=Любой красный краситель +Any blue dye=Любой синий краситель +Any cyan dye=Любой бирюзовый краситель +Any grey dye=Любой серый краситель +Any pink dye=Любой розовый краситель +Any black dye=Любой чёрный краситель +Any brown dye=Любой коричневый краситель +Any green dye=Любой зелёный краситель +Any white dye=Любой белый краситель +Any orange dye=Любой оранжевый краситель +Any violet dye=Любой фиолетовый краситель +Any yellow dye=Любой жёлтый краситель +Any magenta dye=Любой сиреневый краситель +Any dark grey dye=Любой тёмно-серый краситель +Any dark green dye=Любой тёмно-зелёный краситель +# Label for group ingredients +G=Г +Any item belonging to the group(s): @1=Любой предмет из групп(ы): @1 +Unknown Item=Неизвестный предмет +Fuel=Топливо +Usage @1 of @2=Использование @1 из @2 +Recipe @1 of @2=Рецепт @1 из @2 +Previous recipe=Предыдущий рецепт +Next recipe=Следующий рецепт +Recipe is too big to be displayed.=Рецепт слишком большой для отображения. +Shapeless=Бесформенный +Cooking time: @1=Время готовки: @1 +Search=Поиск +Reset=Сброс +Previous page=Предыдущая страница +Next page=Следующая страница +No items to show.=Нет предметов. +No usages.=Нет использований. +Click again to show recipes.=Кликните снова чтобы увидеть рецепты. +No recipes.=Нет рецептов. +Click again to show usages.=Кликните снова чтобы увидеть использования. +Recipes=Рецепты diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.sv.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.sv.tr new file mode 100644 index 0000000..00b4056 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.sv.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Någon typ av kol +Any sand=Någon typ av sand +Any wool=Någon typ av ull +Any stick=Någon typ av pinne +Any vessel=Någon typ av fartygshylla +Any wood planks=Någon typ av träplanka +Any kind of stone block=Någon typ av stenblock +Any red flower=Någon typ av röd blomma +Any blue flower=Någon typ av blå blomma +Any black flower=Någon typ av svart blomma +Any green flower=Någon typ av grön blomma +Any white flower=Någon typ av vit blomma +Any orange flower=Någon typ av orange blomma +Any violet flower=Någon typ av violett blomma +Any yellow flower=Någon typ av gul blomma +Any red dye=Någon typ av röd färg +Any blue dye=Någon typ av blå färg +Any cyan dye=Någon typ av cyan färg +Any grey dye=Någon typ av grå färg +Any pink dye=Någon typ av rosa färg +Any black dye=Någon typ av svart färg +Any brown dye=Någon typ av brun färg +Any green dye=Någon typ av grön färg +Any white dye=Någon typ av vit färg +Any orange dye=Någon typ av orange färg +Any violet dye=Någon typ av violett färg +Any yellow dye=Någon typ av gul färg +Any magenta dye=Någon typ av magenta färg +Any dark grey dye=Någon typ av mörkgrå färg +Any dark green dye=Någon typ av mörkgrön färg +# Label for group ingredients +G=G +Any item belonging to the group(s): @1=Vilket föremål som helst som tillhör grupp(erna): @1 +Unknown Item=Okänt föremål +Fuel=Bränsle +Usage @1 of @2=Användning @1 av @2 +Recipe @1 of @2=Recept @1 av @2 +Previous recipe=Föregående recept +Next recipe=Nästa recept +Recipe is too big to be displayed.=Receptet är för stort för att visas. +Shapeless=Formlöst +Cooking time: @1=Tillagningstid: @1 +Search=Sök +Reset=Återställ +Previous page=Föregående sida +Next page=Nästa sida +No items to show.=Inga föremål att visa. +No usages.=Inga användningsområden. +Click again to show recipes.=Tryck igen för att visa recept. +No recipes.=Inga recept. +Click again to show usages.=Tryck igen för att visa användningsområden. +Recipes=Recept diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.uk.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.uk.tr new file mode 100644 index 0000000..8fe78a9 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.uk.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=Будь-яке вугілля +Any sand=Будь-який пісок +Any wool=Будь-яка вовна +Any stick=Будь-яка палиця +Any vessel=Будь-який посуд +Any wood planks=Будь-які дошки +Any kind of stone block=Будь-який кам'яний блок +Any red flower=Будь-яка червона квітка +Any blue flower=Будь-яка синя квітка +Any black flower=Будь-яка чорна квітка +Any green flower=Будь-яка зелена квітка +Any white flower=Будь-яка біла квітка +Any orange flower=Будь-яка помаранчева квітка +Any violet flower=Будь-яка фіолетова квітка +Any yellow flower=Будь-яка жовта квітка +Any red dye=Будь-який червоний барвник +Any blue dye=Будь-який синій барвник +Any cyan dye=Будь-який синьо-зелений барвник +Any grey dye=Будь-який сірий барвник +Any pink dye=Будь-який рожевий барвник +Any black dye=Будь-який чорний барвник +Any brown dye=Будь-який коричневий барвник +Any green dye=Будь-який зелений барвник +Any white dye=Будь-який білий барвник +Any orange dye=Будь-який помаранчевий барвник +Any violet dye=Будь-який фіолетовий барвник +Any yellow dye=Будь-який жовтий барвник +Any magenta dye=Будь-який пурпурний барвник +Any dark grey dye=Будь-який темно-сірий барвник +Any dark green dye=Будь-який темно-зелений барвник +# Label for group ingredients +G=Г +Any item belonging to the group(s): @1=Будь-який предмет з груп(и): @1 +Unknown Item=Невідомий предмет +Fuel=Паливо +Usage @1 of @2=Матеріал: @1 з @2 +Recipe @1 of @2=Рецепт: @1 з @2 +Previous recipe=Попередній рецепт +Next recipe=Наступний рецепт +Recipe is too big to be displayed.=Рецепт завеликий для показу. +Shapeless=Безформний +Cooking time: @1=Час виготовлення: @1 +Search=Пошук +Reset=Скинути +Previous page=Попередня сторінка +Next page=Наступна сторінка +No items to show.=Немає результатів. +No usages.=Не використовується. +Click again to show recipes.=Натисніть ще раз для рецептів. +No recipes.=Немає рецептів. +Click again to show usages.=Натисніть ще раз для використань. +Recipes=Рецепти diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.zh_CN.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.zh_CN.tr new file mode 100644 index 0000000..56ae7d5 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.zh_CN.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=任何煤炭 +Any sand=任何沙子 +Any wool=任何羊毛 +Any stick=任何棒 +Any vessel=任何容器 +Any wood planks=任何木板 +Any kind of stone block=任何种类的石块 +Any red flower=任何红色花朵 +Any blue flower=任何蓝色花朵 +Any black flower=任何黑色花朵 +Any green flower=任何绿色花朵 +Any white flower=任何白色花朵 +Any orange flower=任何橙色花朵 +Any violet flower=任何紫色花朵 +Any yellow flower=任何黄色花朵 +Any red dye=任何红色染料 +Any blue dye=任何蓝色染料 +Any cyan dye=任何青色染料 +Any grey dye=任何灰色染料 +Any pink dye=任何粉色染料 +Any black dye=任何黑色染料 +Any brown dye=任何棕色染料 +Any green dye=任何绿色染料 +Any white dye=任何白色染料 +Any orange dye=任何橙色染料 +Any violet dye=任何紫色染料 +Any yellow dye=任何黄色染料 +Any magenta dye=任何品红染料 +Any dark grey dye=任何暗灰染料 +Any dark green dye=任何暗绿染料 +# Label for group ingredients +G= +Any item belonging to the group(s): @1=属于该组的任何项目:@1 +Unknown Item=未知项目 +Fuel=燃料 +Usage @1 of @2=用法@1,共@2个 +Recipe @1 of @2=配方@1,共@2个 +Previous recipe=上一配方 +Next recipe=下一配方 +Recipe is too big to be displayed.=配方太大,无法显示 +Shapeless=没有形状 +Cooking time: @1=烹饪时间:@1 +Search=搜索 +Reset=重置 +Previous page=上一页 +Next page=下一页 +No items to show.=没有项目可以显示。 +No usages.=没有用法 +Click again to show recipes.=再次单击以显示配方。 +No recipes.=没有配方。 +Click again to show usages.=再次单击以显示用法 +Recipes=配方 diff --git a/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.zh_TW.tr b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.zh_TW.tr new file mode 100644 index 0000000..859cdfe --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/mtg_craftguide.zh_TW.tr @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal=任何煤炭 +Any sand=任何沙子 +Any wool=任何羊毛 +Any stick=任何棒 +Any vessel=任何容器 +Any wood planks=任何木板 +Any kind of stone block=任何種類的石塊 +Any red flower=任何紅色花朵 +Any blue flower=任何藍色花朵 +Any black flower=任何黑色花朵 +Any green flower=任何綠色花朵 +Any white flower=任何白色花朵 +Any orange flower=任何橙色花朵 +Any violet flower=任何紫色花朵 +Any yellow flower=任何黃色花朵 +Any red dye=任何紅色染料 +Any blue dye=任何藍色染料 +Any cyan dye=任何青色染料 +Any grey dye=任何灰色染料 +Any pink dye=任何粉色染料 +Any black dye=任何黑色染料 +Any brown dye=任何棕色染料 +Any green dye=任何綠色染料 +Any white dye=任何白色染料 +Any orange dye=任何橙色染料 +Any violet dye=任何紫色染料 +Any yellow dye=任何黃色染料 +Any magenta dye=任何品紅染料 +Any dark grey dye=任何暗灰染料 +Any dark green dye=任何暗綠染料 +# Label for group ingredients +G= +Any item belonging to the group(s): @1=屬於該組的任何項目:@1 +Unknown Item=未知項目 +Fuel=燃料 +Usage @1 of @2=用法@1,共@2個 +Recipe @1 of @2=配方@1,共@2個 +Previous recipe=上一配方 +Next recipe=下一配方 +Recipe is too big to be displayed.=配方太大,無法顯示 +Shapeless=沒有形狀 +Cooking time: @1=烹飪時間:@1 +Search=搜索 +Reset=重置 +Previous page=上一頁 +Next page=下一頁 +No items to show.=沒有項目可以顯示。 +No usages.=沒有用法 +Click again to show recipes.=再次單擊以顯示配方。 +No recipes.=沒有配方。 +Click again to show usages.=再次單擊以顯示用法 +Recipes=配方 diff --git a/data/games/garage/mods/mtg_craftguide/locale/template.txt b/data/games/garage/mods/mtg_craftguide/locale/template.txt new file mode 100644 index 0000000..e02a721 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/locale/template.txt @@ -0,0 +1,53 @@ +# textdomain: mtg_craftguide +Any coal= +Any sand= +Any wool= +Any stick= +Any vessel= +Any wood planks= +Any kind of stone block= +Any red flower= +Any blue flower= +Any black flower= +Any green flower= +Any white flower= +Any orange flower= +Any violet flower= +Any yellow flower= +Any red dye= +Any blue dye= +Any cyan dye= +Any grey dye= +Any pink dye= +Any black dye= +Any brown dye= +Any green dye= +Any white dye= +Any orange dye= +Any violet dye= +Any yellow dye= +Any magenta dye= +Any dark grey dye= +Any dark green dye= +# Label for group ingredients +G= +Any item belonging to the group(s): @1= +Unknown Item= +Fuel= +Usage @1 of @2= +Recipe @1 of @2= +Previous recipe= +Next recipe= +Recipe is too big to be displayed.= +Shapeless= +Cooking time: @1= +Search= +Reset= +Previous page= +Next page= +No items to show.= +No usages.= +Click again to show recipes.= +No recipes.= +Click again to show usages.= +Recipes= diff --git a/data/games/garage/mods/mtg_craftguide/mod.conf b/data/games/garage/mods/mtg_craftguide/mod.conf new file mode 100644 index 0000000..3b2d975 --- /dev/null +++ b/data/games/garage/mods/mtg_craftguide/mod.conf @@ -0,0 +1,3 @@ +name = mtg_craftguide +description = Minetest Game mod: mtg_craftguide +depends = sfinv diff --git a/data/games/garage/mods/mtg_craftguide/textures/craftguide_clear_icon.png b/data/games/garage/mods/mtg_craftguide/textures/craftguide_clear_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0e513f153206cc9477f946429c323434c3a16a GIT binary patch literal 545 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&nFaWSxB}__q=S#i$Nm6y3YG-< z1v4;nnVLJhc!xyCWas2xe)uFWcljg+2F6ZL7srr_TW@bY%xg9fV18f{eQ0Y>bM^n} zvO)h{l1_L`Ep__*efO%lB@CWnE)bCSr0{RD$XCm$+{@BcpX$$!ZalMn>7-A}cM9r` z+-sP;zxeRaDQxfm%#}W+ZX)rCpO^3F9JXSfD$9#W8$u5KxPRxskK>jKPu^Qe{lC#L zK|W9Y@p6+Hk5BME>F4G6xw~#oy;t+`;%@t$vd8PU?3H`!Jo$KM-?9ClSJtdKKC|!h z+Jp&~KdL@3CN;nK^Ko%}L)*I)GPl9|J`p0=^y?h9r$nUj-_@zpX870{%k#B z6C}MwdXLC*9qwyW?=h^gf9ajP~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%?2(W_P z`v3p{ww# xQC3DF4nY>6EnMOpY+@X0qWnVgTwLO;LI7px7sOcV;C=uA002ovPDHLkV1mBG99aMW literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/mtg_craftguide/textures/craftguide_next_icon.png b/data/games/garage/mods/mtg_craftguide/textures/craftguide_next_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..266c9ba676c3efcc7a0275b4cf4988f16817cc00 GIT binary patch literal 640 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&%?a=caRt)<2P>GYa3KZgKI4)g zzhDMtHg-;KNohF+MI{wg6H_yDOKV%d(8#FhnAo_aoc!*d-Z@K_u2{Kh?bU0y?%aL& z^vB=z>l^1WFfb-~x;TbZ+eFVfnyI0jE#+*|8KRmxw@b^l=*k>-{a1nHG3Cn zbivTflS@Jz)?L$E?(0yyO)7M<(t_Rl-YgIODEWnN{qMpc->!!5uQ$#Yxvccy@2=cm zQ@3zb*sr&~*Th_5|6UqM{rD{QtvTxw^9LRq2JbHnIv1Hgh=Ex)%=`z8KQMr(^%ogG zWZ&r#lwe?yYtWy>k+0{UO`mrwexLfOx9>N5TZq|gFPA_OS19_@ b`-`{W!?Q;@IkhIhsABMR^>bP0l+XkK%kN)= literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/mtg_craftguide/textures/craftguide_prev_icon.png b/data/games/garage/mods/mtg_craftguide/textures/craftguide_prev_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c8072961bf07a6bb399072027a32e35deaebf62f GIT binary patch literal 640 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&%?a=caRt)<2P>GYa3KZgKI4)g zzhDMtHg-;KNohF+MI{wg6H_yDOKV%d(8#FhnAo_aoc!*d-Z@K_u2{Kh?bU0y?%aL& z^vB=z>l^1WFfb-~x;TbZ+$-$7!Un=@#FVD)&uAC88+E7uK3G&;O>5gBmY>5&@*NTm^ScZhSR@?0Ss0=o zW&A(G(7>g=`SE97rY{>C7`M3aEKp5i&=q9P=maV`!Vsmzc0tInVOj@VDv%*efk9QE zL5RbFlVt&mhyxRs0we1L1}2Y!#D5jK2P?MbZ2o`XLbfRLCJo=k2cV%fr+EIl`LRaN V9$j2o=K+i=22WQ%mvv4FO#maRULgPg literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/mtg_craftguide/textures/craftguide_search_icon.png b/data/games/garage/mods/mtg_craftguide/textures/craftguide_search_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1c374cad16bdc3964e3819618b5cbb72c2701751 GIT binary patch literal 1288 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD~={fl(*GC&U%V-M)SMjT<-qj{-s= zU>NdfHZZ)BOM?7@85kKE**Libgha(8l+@HUwRH83Oss93+}s1gBa%|mvhs>5sv5ic zCrq3&b^6SC3l=X~wqoU~)oa&n*tB`e*6llX?mlqv$k7uQE?>WK^VaP<_a8id^8Cfi zH*ep)|M2ni*Ka?5{`os6$mA{q1G9#wi(^Q|t+z9;PI_&?(>8tPOv?>to_<^6bDHPr zp8v)&T}Dr@Su2N||H@B(`akLPrsVRCbsA#bN0T;2=!kV+wcosJ_1rn}ar5S9>|SmB zcW$YCGG4^S$g{G{V#W%ouxZvZ)uL#7Wr$7^V6jFx_(WJ{CD~J$u&2_ zZa(?BWyzCr+i9olmYxqe@wy}?-g?fxfLEJ8om`w9*R}uo&YVwEP5h=#UAb`Iy?gr> zt`vQG#iMTOe7kBD0iWHc{>|_7PF=VBQ|9?OMKgcs2=BPyp7`U>MV6=U?o==Ss_XXs zPPwJmMD5zzOg?Y zb@l2DVcwa>Yj(}GJ$z&B`CkgG{?#tdRep-RwVOE@UMIdz)pWIS^NcinSjy7ycgNRF z7rH9Wc%A6#e6P$P@%`HAJ;9F*gX6TH-E&~@aLz5~>pae5nfTU2nW4rZv;0fv@h_GM zAAdM7oDg3-J@$Lo@h@@FhDU8|8U6}fP*?nGvP9qI%hDNjhKu6+UYe_Xi8lJ>tNC%; zoCn93e8_J6cKyxot~bv`7;1!jl8nepJwRX2XLCtNI!q%vh(xf6{Sj zg8T#dt4ab2GGX0959F_(R&U_$o`1TzKGpdmJJa+qfAjOMl`Krx%Z^Kn2mN+<@Tka1 zt?|IsTx}-*cD?ng-y0iVaL#a05v~-O(O^7rUIQl|TPJ7PE)V06h1CnX`xyS5xx9rp6#tERZj=|H_ K&t;ucLK6T{^A{-q literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/mtg_craftguide/textures/craftguide_shapeless.png b/data/games/garage/mods/mtg_craftguide/textures/craftguide_shapeless.png new file mode 100644 index 0000000000000000000000000000000000000000..51d8ce508d37c07719b1ba90e662d20c4e8f5c4d GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaP3?%1DUd;wloB=)|u0T2|DXFNa$l>ejJRpa$ zB*-tA!Qt7BG$6;{)5S4_BRV (LGPLv2.1+) +Various Minetest Game developers and contributors (LGPLv2.1+) + +Authors of media (textures, models and sounds) +---------------------------------------------- +Original model by MirceaKitsune (CC BY-SA 3.0). +Various alterations and fixes by kilbith, sofar, xunto, Rogier-5, TeTpaAka, Desour, +stujones11, An0n3m0us (CC BY-SA 3.0): + character.b3d + character.blend + +Jordach (CC BY-SA 3.0): + character.png + +celeron55, Perttu Ahola (CC BY-SA 3.0): + player.png + player_back.png diff --git a/data/games/garage/mods/player_api/api.lua b/data/games/garage/mods/player_api/api.lua new file mode 100644 index 0000000..6a572f5 --- /dev/null +++ b/data/games/garage/mods/player_api/api.lua @@ -0,0 +1,239 @@ +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 + +local function collisionbox_equals(collisionbox, other_collisionbox) + if collisionbox == other_collisionbox then + return true + end + for index = 1, 6 do + if collisionbox[index] ~= other_collisionbox[index] then + return false + end + end + return true +end + +function player_api.register_model(name, def) + models[name] = def + def.visual_size = def.visual_size or {x = 1, y = 1} + def.collisionbox = def.collisionbox or {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3} + def.stepheight = def.stepheight or 0.6 + def.eye_height = def.eye_height or 1.47 + + -- Sort animations into property classes: + -- Animations with same properties have the same _equals value + for animation_name, animation in pairs(def.animations) do + animation.eye_height = animation.eye_height or def.eye_height + animation.collisionbox = animation.collisionbox or def.collisionbox + animation.override_local = animation.override_local or false + + for _, other_animation in pairs(def.animations) do + if other_animation._equals then + if collisionbox_equals(animation.collisionbox, other_animation.collisionbox) + and animation.eye_height == other_animation.eye_height then + animation._equals = other_animation._equals + break + end + end + end + animation._equals = animation._equals or animation_name + end +end + +-- Player stats and animations +-- model, textures, animation +local players = {} +player_api.player_attached = {} + +local function get_player_data(player) + return assert(players[player:get_player_name()]) +end + +function player_api.get_animation(player) + return get_player_data(player) +end + +-- Called when a player's appearance needs to be updated +function player_api.set_model(player, model_name) + local player_data = get_player_data(player) + if player_data.model == model_name then + return + end + -- Update data + player_data.model = model_name + -- Clear animation data as the model has changed + -- (required for setting the `stand` animation not to be a no-op) + player_data.animation, player_data.animation_speed, player_data.animation_loop = nil, nil, nil + + local model = models[model_name] + if model then + player:set_properties({ + mesh = model_name, + textures = player_data.textures or model.textures, + visual = "mesh", + visual_size = model.visual_size, + stepheight = model.stepheight + }) + -- sets local_animation, collisionbox & eye_height + player_api.set_animation(player, "stand") + else + player:set_properties({ + textures = {"player.png", "player_back.png"}, + visual = "upright_sprite", + visual_size = {x = 1, y = 2}, + collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.75, 0.3}, + stepheight = 0.6, + eye_height = 1.625, + }) + end +end + +function player_api.get_textures(player) + local player_data = get_player_data(player) + local model = models[player_data.model] + return assert(player_data.textures or (model and model.textures)) +end + +function player_api.set_textures(player, textures) + local player_data = get_player_data(player) + local model = models[player_data.model] + local new_textures = assert(textures or (model and model.textures)) + player_data.textures = new_textures + player:set_properties({textures = new_textures}) +end + +function player_api.set_texture(player, index, texture) + local textures = table.copy(player_api.get_textures(player)) + textures[index] = texture + player_api.set_textures(player, textures) +end + +function player_api.set_animation(player, anim_name, speed, loop) + local player_data = get_player_data(player) + local model = models[player_data.model] + if not (model and model.animations[anim_name]) then + return + end + speed = speed or model.animation_speed + if loop == nil then + loop = true + end + if player_data.animation == anim_name + and player_data.animation_speed == speed + and player_data.animation_loop == loop + then + return + end + local previous_anim = model.animations[player_data.animation] or {} + local anim = model.animations[anim_name] + player_data.animation = anim_name + player_data.animation_speed = speed + player_data.animation_loop = loop + -- If necessary change the local animation (only seen by the client of *that* player) + -- `override_local` <=> suspend local animations while this one is active + -- (this is basically a hack, proper engine feature needed...) + if anim.override_local ~= previous_anim.override_local then + if anim.override_local then + local none = {x=0, y=0} + player:set_local_animation(none, none, none, none, 1) + else + local a = model.animations -- (not specific to the animation being set) + player:set_local_animation( + a.stand, a.walk, a.mine, a.walk_mine, + model.animation_speed or 30 + ) + end + end + -- Set the animation seen by everyone else + player:set_animation(anim, speed, animation_blend, loop) + -- Update related properties if they changed + if anim._equals ~= previous_anim._equals then + player:set_properties({ + collisionbox = anim.collisionbox, + eye_height = anim.eye_height + }) + end +end + +minetest.register_on_joinplayer(function(player) + local name = player:get_player_name() + players[name] = {} + player_api.player_attached[name] = false +end) + +minetest.register_on_leaveplayer(function(player) + local name = player:get_player_name() + players[name] = nil + player_api.player_attached[name] = nil +end) + +-- Localize for better performance. +local player_set_animation = player_api.set_animation +local player_attached = player_api.player_attached + +-- Prevent knockback for attached players +local old_calculate_knockback = minetest.calculate_knockback +function minetest.calculate_knockback(player, ...) + if player_attached[player:get_player_name()] then + return 0 + end + return old_calculate_knockback(player, ...) +end + +-- Check each player and apply animations +function player_api.globalstep() + for _, player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local player_data = players[name] + local model = player_data and models[player_data.model] + if model and not player_attached[name] then + local controls = player:get_player_control() + local animation_speed_mod = model.animation_speed or 30 + + -- 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 controls.up or controls.down or controls.left or controls.right then + if controls.LMB or controls.RMB then + player_set_animation(player, "walk_mine", animation_speed_mod) + else + player_set_animation(player, "walk", animation_speed_mod) + end + elseif controls.LMB or controls.RMB then + player_set_animation(player, "mine", animation_speed_mod) + else + player_set_animation(player, "stand", animation_speed_mod) + end + end + end +end + +-- Mods can modify the globalstep by overriding player_api.globalstep +minetest.register_globalstep(function(...) + player_api.globalstep(...) +end) + +for _, api_function in pairs({"get_animation", "set_animation", "set_model", "set_textures"}) do + local original_function = player_api[api_function] + player_api[api_function] = function(player, ...) + if not players[player:get_player_name()] then + -- HACK for keeping backwards compatibility + minetest.log("warning", api_function .. " called on offline player") + return + end + return original_function(player, ...) + end +end diff --git a/data/games/garage/mods/player_api/init.lua b/data/games/garage/mods/player_api/init.lua new file mode 100644 index 0000000..f258aea --- /dev/null +++ b/data/games/garage/mods/player_api/init.lua @@ -0,0 +1,26 @@ +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, eye_height = 0.3, override_local = true, + collisionbox = {-0.6, 0.0, -0.6, 0.6, 0.3, 0.6}}, + walk = {x = 168, y = 187}, + mine = {x = 189, y = 198}, + walk_mine = {x = 200, y = 219}, + sit = {x = 81, y = 160, eye_height = 0.8, override_local = true, + collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.0, 0.3}} + }, + 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.set_model(player, "character.b3d") +end) diff --git a/data/games/garage/mods/player_api/license.txt b/data/games/garage/mods/player_api/license.txt new file mode 100644 index 0000000..8ddb090 --- /dev/null +++ b/data/games/garage/mods/player_api/license.txt @@ -0,0 +1,60 @@ +License of source code +---------------------- + +GNU Lesser General Public License, version 2.1 +Copyright (C) 2011 celeron55, Perttu Ahola +Copyright (C) 2011 Various Minetest Game 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 celeron55, Perttu Ahola +Copyright (C) 2012 MirceaKitsune +Copyright (C) 2012 Jordach +Copyright (C) 2015 kilbith +Copyright (C) 2016 sofar +Copyright (C) 2016 xunto +Copyright (C) 2016 Rogier-5 +Copyright (C) 2017 TeTpaAka +Copyright (C) 2017 Desour +Copyright (C) 2018 stujones11 +Copyright (C) 2019 An0n3m0us + +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/data/games/garage/mods/player_api/mod.conf b/data/games/garage/mods/player_api/mod.conf new file mode 100644 index 0000000..bf62327 --- /dev/null +++ b/data/games/garage/mods/player_api/mod.conf @@ -0,0 +1,2 @@ +name = player_api +description = Minetest Game mod: Manages player visuals diff --git a/data/games/garage/mods/testentities/models/testentities_sam.b3d b/data/games/garage/mods/player_api/models/character.b3d similarity index 100% rename from data/games/garage/mods/testentities/models/testentities_sam.b3d rename to data/games/garage/mods/player_api/models/character.b3d diff --git a/data/games/garage/mods/player_api/models/character.blend b/data/games/garage/mods/player_api/models/character.blend new file mode 100644 index 0000000000000000000000000000000000000000..a32c3438b4e75d9db1ee045a7a8e607ba90c0235 GIT binary patch literal 632100 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%0D|Zb)lvBSlS&< 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 Kl}Pl|-~R!(^E^oa literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/testentities/models/testentities_sam.png b/data/games/garage/mods/player_api/models/character.png similarity index 100% rename from data/games/garage/mods/testentities/models/testentities_sam.png rename to data/games/garage/mods/player_api/models/character.png diff --git a/data/games/garage/mods/player_api/textures/player.png b/data/games/garage/mods/player_api/textures/player.png new file mode 100644 index 0000000000000000000000000000000000000000..6d61c4342f39fd8da8330e97117c68a3709483fd GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3QlXwMjv*C{Z>MhLa!}-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/data/games/garage/mods/player_api/textures/player_back.png b/data/games/garage/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}7I!|jf^Ehe!&b5&u*jvIp&@& zjv*C{$q4}o4GhZ^G@QS#WC}@<_3MBb literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/sethome/README.txt b/data/games/garage/mods/sethome/README.txt new file mode 100644 index 0000000..6f0a282 --- /dev/null +++ b/data/games/garage/mods/sethome/README.txt @@ -0,0 +1,7 @@ +Minetest Game mod: sethome +========================== +See license.txt for license information. + +Authors of source code +---------------------- +sfan5 (MIT) diff --git a/data/games/garage/mods/sethome/init.lua b/data/games/garage/mods/sethome/init.lua new file mode 100644 index 0000000..19de958 --- /dev/null +++ b/data/games/garage/mods/sethome/init.lua @@ -0,0 +1,114 @@ +-- sethome/init.lua + +sethome = {} + +-- Load support for MT game translation. +local S = minetest.get_translator("sethome") + + +local homes_file = minetest.get_worldpath() .. "/homes" +local homepos = {} + +local function loadhomes() + local input = io.open(homes_file, "r") + if not input then + return -- no longer an error + end + + -- Iterate over all stored positions in the format "x y z player" for each line + for pos, name in input:read("*a"):gmatch("(%S+ %S+ %S+)%s([%w_-]+)[\r\n]") do + homepos[name] = minetest.string_to_pos(pos) + end + input:close() +end + +loadhomes() + +sethome.set = function(name, pos) + local player = minetest.get_player_by_name(name) + if not player or not pos then + return false + end + local player_meta = player:get_meta() + player_meta:set_string("sethome:home", minetest.pos_to_string(pos)) + + -- remove `name` from the old storage file + if not homepos[name] then + return true + end + local data = {} + local output = io.open(homes_file, "w") + if output then + homepos[name] = nil + for i, v in pairs(homepos) do + table.insert(data, string.format("%.1f %.1f %.1f %s\n", v.x, v.y, v.z, i)) + end + output:write(table.concat(data)) + io.close(output) + return true + end + return true -- if the file doesn't exist - don't return an error. +end + +sethome.get = function(name) + local player = minetest.get_player_by_name(name) + if not player then + return false, S("This command can only be executed in-game!") + end + local player_meta = player:get_meta() + local pos = minetest.string_to_pos(player_meta:get_string("sethome:home")) + if pos then + return pos + end + + -- fetch old entry from storage table + pos = homepos[name] + if pos then + return vector.new(pos) + else + return nil + end +end + +sethome.go = function(name) + local pos = sethome.get(name) + local player = minetest.get_player_by_name(name) + if player and pos then + player:set_pos(pos) + return true + end + return false +end + +minetest.register_privilege("home", { + description = S("Can use /sethome and /home"), + give_to_singleplayer = false +}) + +minetest.register_chatcommand("home", { + description = S("Teleport you to your home point"), + privs = {home = true}, + func = function(name) + local player = minetest.get_player_by_name(name) + if not player then + return false, S("This command can only be executed in-game!") + end + if sethome.go(name) then + return true, S("Teleported to home!") + end + return false, S("Set a home using /sethome") + end, +}) + +minetest.register_chatcommand("sethome", { + description = S("Set your home point"), + privs = {home = true}, + func = function(name) + name = name or "" -- fallback to blank name if nil + local player = minetest.get_player_by_name(name) + if player and sethome.set(name, player:get_pos()) then + return true, S("Home set!") + end + return false, S("Player not found!") + end, +}) diff --git a/data/games/garage/mods/sethome/license.txt b/data/games/garage/mods/sethome/license.txt new file mode 100644 index 0000000..09f03b0 --- /dev/null +++ b/data/games/garage/mods/sethome/license.txt @@ -0,0 +1,24 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2014-2016 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/data/games/garage/mods/sethome/locale/sethome.de.tr b/data/games/garage/mods/sethome/locale/sethome.de.tr new file mode 100644 index 0000000..c59b26e --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.de.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!=Dieser Befehl kann nur im Spiel ausgeführt werden! +Can use /sethome and /home=Kann /sethome und /home benutzen +Teleport you to your home point=Teleportieren Sie sich zu Ihrem Zuhause-Punkt +Teleported to home!=Nach Hause teleportiert! +Set a home using /sethome=Ein Zuhause mit /sethome setzen +Set your home point=Ihren Zuhause-Punkt setzen +Home set!=Zuhause gesetzt! +Player not found!=Spieler nicht gefunden! diff --git a/data/games/garage/mods/sethome/locale/sethome.eo.tr b/data/games/garage/mods/sethome/locale/sethome.eo.tr new file mode 100644 index 0000000..86ef814 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.eo.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!= +Can use /sethome and /home=Povas uzi /sethome kaj /home +Teleport you to your home point=Teletransporti vin al via hejmo +Teleported to home!=Teletransportita al hejmo! +Set a home using /sethome=Fiksi hejmon per /sethome +Set your home point=Fiksi vian hejman punkton +Home set!=Fiksita hejmo! +Player not found!=Ludanto ne troveblas! diff --git a/data/games/garage/mods/sethome/locale/sethome.es.tr b/data/games/garage/mods/sethome/locale/sethome.es.tr new file mode 100644 index 0000000..661bc62 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.es.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!= +Can use /sethome and /home=Puedes usar /sethome y /home +Teleport you to your home point=Teletranspórtate a tu hogar +Teleported to home!=¡Teletransportado a tu hogar! +Set a home using /sethome=Establece tu hogar usando /sethome +Set your home point=Establece el sitio de tu hogar +Home set!=¡Hogar establecido! +Player not found!=¡Jugador no encontrado! diff --git a/data/games/garage/mods/sethome/locale/sethome.fr.tr b/data/games/garage/mods/sethome/locale/sethome.fr.tr new file mode 100644 index 0000000..01345e0 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.fr.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!=Cette commande peut seulement être exécutée en jeu ! +Can use /sethome and /home=Peut utiliser /sethome et /home +Teleport you to your home point=Vous téléporter à votre domicile +Teleported to home!=Téléporté à votre domicile ! +Set a home using /sethome=Définir un domicile en utilisant /sethome +Set your home point=Définir votre domicile +Home set!=Domicile défini ! +Player not found!=Joueur non trouvé ! diff --git a/data/games/garage/mods/sethome/locale/sethome.id.tr b/data/games/garage/mods/sethome/locale/sethome.id.tr new file mode 100644 index 0000000..f5c68dd --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.id.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!=Perintah ini hanya bisa dijalankan dalam permainan! +Can use /sethome and /home=Boleh gunakan /sethome dan /home +Teleport you to your home point=Teleportasi ke rumah Anda +Teleported to home!=Teleportasi ke rumah! +Set a home using /sethome=Atur letak rumah dengan /sethome +Set your home point=Atur letak rumah +Home set!=Letak rumah diatur! +Player not found!=Pemain tidak ditemukan! diff --git a/data/games/garage/mods/sethome/locale/sethome.it.tr b/data/games/garage/mods/sethome/locale/sethome.it.tr new file mode 100644 index 0000000..4f1d757 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.it.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!= +Can use /sethome and /home=Può usare /sethome e /home +Teleport you to your home point=Ti teletrasporta al tuo punto di domicilio +Teleported to home!=Teletrasportato a casa! +Set a home using /sethome=Imposta un domicilio usando /sethome +Set your home point=Imposta il tuo punto di domicilio +Home set!=Domicilio impostato! +Player not found!=Giocatore non trovato! diff --git a/data/games/garage/mods/sethome/locale/sethome.ja.tr b/data/games/garage/mods/sethome/locale/sethome.ja.tr new file mode 100644 index 0000000..e652387 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.ja.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!= +Can use /sethome and /home=/sethomeと/homeが使えます +Teleport you to your home point=ホーム地点にテレポートします +Teleported to home!=ホームにテレポート! +Set a home using /sethome=/sethomeを使ってホームを設定します +Set your home point=ホーム地点を設定します +Home set!=ホーム地点をセット! +Player not found!=プレーヤーが見つかりません! diff --git a/data/games/garage/mods/sethome/locale/sethome.jbo.tr b/data/games/garage/mods/sethome/locale/sethome.jbo.tr new file mode 100644 index 0000000..2fe7bf0 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.jbo.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!= +Can use /sethome and /home=kakne lo nu pilno lo me zoi gy./sethome.gy. ku .e lo me zoi gy./home.gy. +Teleport you to your home point=sukmu'u lo do zdani mokca +Teleported to home!=puba'o sukmu'u lo zdani +Set a home using /sethome=ko tcimi'e fi lo zdani sepi'o lo me zoi gy./sethome.gy. +Set your home point=tcimi'e fi lo do zdani mokca +Home set!=puba'o tcimi'e fi lo zdani +Player not found!=lo kelci na te facki diff --git a/data/games/garage/mods/sethome/locale/sethome.lv.tr b/data/games/garage/mods/sethome/locale/sethome.lv.tr new file mode 100644 index 0000000..e4b8597 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.lv.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!=Šī komanda var tikt izpildīta tikai atrodoties spēlē! +Can use /sethome and /home=Var izmantot /sethome un /home +Teleport you to your home point=Teleportēt jūs uz mājas punktu +Teleported to home!=Esiet teleportēts mājās! +Set a home using /sethome=Uzstādiet māju punktu izmantojot /sethome +Set your home point=Uzstādiet savu mājas punktu +Home set!=Mājas punkts uzstādīts! +Player not found!=Spēlētājs nav atrasts! diff --git a/data/games/garage/mods/sethome/locale/sethome.ms.tr b/data/games/garage/mods/sethome/locale/sethome.ms.tr new file mode 100644 index 0000000..09721fe --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.ms.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!=Perintah ini hanya boleh dijalankan dalam permainan! +Can use /sethome and /home=Boleh guna /sethome dan /home +Teleport you to your home point=Teleportasikan anda ke titik rumah anda +Teleported to home!=Diteleportasikan ke rumah! +Set a home using /sethome=Tetapkan rumah menggunakan /sethome +Set your home point=Tetapkan titik rumah anda +Home set!=Rumah ditetapkan! +Player not found!=Pemain tidak dijumpai! diff --git a/data/games/garage/mods/sethome/locale/sethome.pl.tr b/data/games/garage/mods/sethome/locale/sethome.pl.tr new file mode 100644 index 0000000..b45cb46 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.pl.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!= +Can use /sethome and /home=Może używać /sethome i /home +Teleport you to your home point=Teleportuj się do swojego punktu domowego +Teleported to home!=Teleportowano do punktu domowego +Set a home using /sethome=Ustaw punkt domowy używając /sethome +Set your home point=Ustaw swój punkt domowy +Home set!=Punkt domowy ustawiony! +Player not found!=Gracz nie odnaleziony! diff --git a/data/games/garage/mods/sethome/locale/sethome.pt_BR.tr b/data/games/garage/mods/sethome/locale/sethome.pt_BR.tr new file mode 100644 index 0000000..6abd416 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.pt_BR.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!= +Can use /sethome and /home=Pode usar /sethome e /home +Teleport you to your home point=Teletransportá-lo para seu ponto de origem +Teleported to home!=Teletransportado para o ponto de origem! +Set a home using /sethome=Defina um ponto de origem usando /sethome +Set your home point=Define seu ponto de origem +Home set!=Ponto de origem definido! +Player not found!=Jogador não encontrado! diff --git a/data/games/garage/mods/sethome/locale/sethome.ru.tr b/data/games/garage/mods/sethome/locale/sethome.ru.tr new file mode 100644 index 0000000..d68cf6e --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.ru.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!=Эта команда может быть использована только в игре! +Can use /sethome and /home=Возможность использовать /sethome и /home +Teleport you to your home point=Вы телепортируетесь в свою домашнюю точку +Teleported to home!=Вы телепортировались домой! +Set a home using /sethome=Установите домашнюю точку, используя /sethome +Set your home point=Установите вашу домашнюю точку +Home set!=Домашняя точка установлена! +Player not found!=Игрок не найден! diff --git a/data/games/garage/mods/sethome/locale/sethome.sk.tr b/data/games/garage/mods/sethome/locale/sethome.sk.tr new file mode 100644 index 0000000..c0e6cee --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.sk.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!= +Can use /sethome and /home=Môžeš použivať /sethome a /home +Teleport you to your home point=Teleportuj sa domov +Teleported to home!=Teleportovaný domov! +Set a home using /sethome=Nastav si domov použitím /sethome +Set your home point=Nastaviť si domov +Home set!=Domov nastavený! +Player not found!=Hráč nenájdený! diff --git a/data/games/garage/mods/sethome/locale/sethome.sv.tr b/data/games/garage/mods/sethome/locale/sethome.sv.tr new file mode 100644 index 0000000..4e100b8 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.sv.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!= +Can use /sethome and /home=Kan använda /sethome och /home +Teleport you to your home point=Teleportera dig till din hempunkt +Teleported to home!=Teleporterad hem! +Set a home using /sethome=Ställ in ett hem med /sethome +Set your home point=Ställ in din hempunkt +Home set!=Hem inställt! +Player not found!=Spelare finns inte! diff --git a/data/games/garage/mods/sethome/locale/sethome.uk.tr b/data/games/garage/mods/sethome/locale/sethome.uk.tr new file mode 100644 index 0000000..f17ac77 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.uk.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!=Ця команда може бути виконана тільки у грі! +Can use /sethome and /home=Можливість використання /sethome та /home +Teleport you to your home point=Телепортуватися до домашньої точки +Teleported to home!=Телепортовано додому! +Set a home using /sethome=Встановіть домашню точку, використовуючи /sethome +Set your home point=Встановити домашню точку +Home set!=Домашню точку встановлено! +Player not found!=Гравця не знайдено! diff --git a/data/games/garage/mods/sethome/locale/sethome.zh_CN.tr b/data/games/garage/mods/sethome/locale/sethome.zh_CN.tr new file mode 100644 index 0000000..6e05576 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.zh_CN.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!=该指令只能在游戏内使用! +Can use /sethome and /home=可以使用/sethome和/home +Teleport you to your home point=将您传送到家 +Teleported to home!=已传送到家! +Set a home using /sethome=使用/sethome设定家 +Set your home point=设定您家的地点 +Home set!=已设定家! +Player not found!=未找到玩家! diff --git a/data/games/garage/mods/sethome/locale/sethome.zh_TW.tr b/data/games/garage/mods/sethome/locale/sethome.zh_TW.tr new file mode 100644 index 0000000..c5e455c --- /dev/null +++ b/data/games/garage/mods/sethome/locale/sethome.zh_TW.tr @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!=此指令僅能在游戲内使用! +Can use /sethome and /home=可以使用/sethome和/home +Teleport you to your home point=傳送您到您家的地點 +Teleported to home!=已傳送到家! +Set a home using /sethome=使用/sethome設定家 +Set your home point=設定您家的地點 +Home set!=已設定家! +Player not found!=未找到玩家! diff --git a/data/games/garage/mods/sethome/locale/template.txt b/data/games/garage/mods/sethome/locale/template.txt new file mode 100644 index 0000000..f91c719 --- /dev/null +++ b/data/games/garage/mods/sethome/locale/template.txt @@ -0,0 +1,9 @@ +# textdomain: sethome +This command can only be executed in-game!= +Can use /sethome and /home= +Teleport you to your home point= +Teleported to home!= +Set a home using /sethome= +Set your home point= +Home set!= +Player not found!= diff --git a/data/games/garage/mods/sethome/mod.conf b/data/games/garage/mods/sethome/mod.conf new file mode 100644 index 0000000..0079925 --- /dev/null +++ b/data/games/garage/mods/sethome/mod.conf @@ -0,0 +1,2 @@ +name = sethome +description = Minetest Game mod: sethome diff --git a/data/games/garage/mods/sfinv/README.txt b/data/games/garage/mods/sfinv/README.txt new file mode 100644 index 0000000..2ef8386 --- /dev/null +++ b/data/games/garage/mods/sfinv/README.txt @@ -0,0 +1,18 @@ +Minetest Game mod: sfinv +======================== +See license.txt for license information. + +Simple Fast Inventory. +A cleaner, simpler, solution to having an advanced inventory in Luanti. +See game_api.txt for this mod's API. +Available for use outside of MTG here: +https://forum.luanti.org/viewtopic.php?t=19765 + +Authors of source code +---------------------- +rubenwardy (MIT) + +Authors of media +---------------- +paramat (CC BY-SA 3.0): + sfinv_crafting_arrow.png - derived from a texture by BlockMen (CC BY-SA 3.0) diff --git a/data/games/garage/mods/sfinv/api.lua b/data/games/garage/mods/sfinv/api.lua new file mode 100644 index 0000000..1dbc44a --- /dev/null +++ b/data/games/garage/mods/sfinv/api.lua @@ -0,0 +1,189 @@ +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 = [[ + image[0,5.2;1,1;gui_hb_bg.png] + image[1,5.2;1,1;gui_hb_bg.png] + image[2,5.2;1,1;gui_hb_bg.png] + image[3,5.2;1,1;gui_hb_bg.png] + image[4,5.2;1,1;gui_hb_bg.png] + image[5,5.2;1,1;gui_hb_bg.png] + image[6,5.2;1,1;gui_hb_bg.png] + image[7,5.2;1,1;gui_hb_bg.png] + list[current_player;main;0,5.2;8,1;] + list[current_player;main;0,6.35;8,3;8] + ]] + +function sfinv.make_formspec(player, context, content, show_inv, size) + local tmp = { + size or "size[8,9.1]", + sfinv.get_nav_fs(player, context, context.nav_titles, context.nav_idx), + show_inv and theme_inv or "", + content + } + 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 + +function sfinv.get_page(player) + local context = sfinv.contexts[player:get_player_name()] + return context and context.page or sfinv.get_homepage_name(player) +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/data/games/garage/mods/sfinv/init.lua b/data/games/garage/mods/sfinv/init.lua new file mode 100644 index 0000000..71e9ee7 --- /dev/null +++ b/data/games/garage/mods/sfinv/init.lua @@ -0,0 +1,19 @@ +-- sfinv/init.lua + +dofile(minetest.get_modpath("sfinv") .. "/api.lua") + +-- Load support for MT game translation. +local S = minetest.get_translator("sfinv") + +sfinv.register_page("sfinv:crafting", { + title = S("Crafting"), + get = function(self, player, context) + 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;sfinv_crafting_arrow.png] + listring[current_player;main] + listring[current_player;craft] + ]], true) + end +}) diff --git a/data/games/garage/mods/sfinv/license.txt b/data/games/garage/mods/sfinv/license.txt new file mode 100644 index 0000000..6676d74 --- /dev/null +++ b/data/games/garage/mods/sfinv/license.txt @@ -0,0 +1,59 @@ +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 + + +License of media +---------------- + +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2019 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/data/games/garage/mods/sfinv/locale/sfinv.de.tr b/data/games/garage/mods/sfinv/locale/sfinv.de.tr new file mode 100644 index 0000000..044e9ba --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.de.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Fertigung diff --git a/data/games/garage/mods/sfinv/locale/sfinv.eo.tr b/data/games/garage/mods/sfinv/locale/sfinv.eo.tr new file mode 100644 index 0000000..1fac1ad --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.eo.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Konstruado diff --git a/data/games/garage/mods/sfinv/locale/sfinv.es.tr b/data/games/garage/mods/sfinv/locale/sfinv.es.tr new file mode 100644 index 0000000..d3d6609 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.es.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Creación diff --git a/data/games/garage/mods/sfinv/locale/sfinv.fr.tr b/data/games/garage/mods/sfinv/locale/sfinv.fr.tr new file mode 100644 index 0000000..58ead96 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.fr.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Artisanat diff --git a/data/games/garage/mods/sfinv/locale/sfinv.id.tr b/data/games/garage/mods/sfinv/locale/sfinv.id.tr new file mode 100644 index 0000000..643196e --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.id.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Kerajinan diff --git a/data/games/garage/mods/sfinv/locale/sfinv.it.tr b/data/games/garage/mods/sfinv/locale/sfinv.it.tr new file mode 100644 index 0000000..e449b75 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.it.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Assemblaggio diff --git a/data/games/garage/mods/sfinv/locale/sfinv.ja.tr b/data/games/garage/mods/sfinv/locale/sfinv.ja.tr new file mode 100644 index 0000000..04122d7 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.ja.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=クラフト diff --git a/data/games/garage/mods/sfinv/locale/sfinv.jbo.tr b/data/games/garage/mods/sfinv/locale/sfinv.jbo.tr new file mode 100644 index 0000000..0ff0328 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.jbo.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=nu zbasu diff --git a/data/games/garage/mods/sfinv/locale/sfinv.lv.tr b/data/games/garage/mods/sfinv/locale/sfinv.lv.tr new file mode 100644 index 0000000..58da91d --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.lv.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Taisīšana diff --git a/data/games/garage/mods/sfinv/locale/sfinv.ms.tr b/data/games/garage/mods/sfinv/locale/sfinv.ms.tr new file mode 100644 index 0000000..f62ba8a --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.ms.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Pertukangan diff --git a/data/games/garage/mods/sfinv/locale/sfinv.pl.tr b/data/games/garage/mods/sfinv/locale/sfinv.pl.tr new file mode 100644 index 0000000..6230d82 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.pl.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Konstruowanie diff --git a/data/games/garage/mods/sfinv/locale/sfinv.pt_BR.tr b/data/games/garage/mods/sfinv/locale/sfinv.pt_BR.tr new file mode 100644 index 0000000..f9e57ae --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.pt_BR.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Construir diff --git a/data/games/garage/mods/sfinv/locale/sfinv.ru.tr b/data/games/garage/mods/sfinv/locale/sfinv.ru.tr new file mode 100644 index 0000000..d7c11b2 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.ru.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Крафтинг diff --git a/data/games/garage/mods/sfinv/locale/sfinv.sk.tr b/data/games/garage/mods/sfinv/locale/sfinv.sk.tr new file mode 100644 index 0000000..18566f1 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.sk.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Vytváranie diff --git a/data/games/garage/mods/sfinv/locale/sfinv.sv.tr b/data/games/garage/mods/sfinv/locale/sfinv.sv.tr new file mode 100644 index 0000000..df426b6 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.sv.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Tillverkning diff --git a/data/games/garage/mods/sfinv/locale/sfinv.uk.tr b/data/games/garage/mods/sfinv/locale/sfinv.uk.tr new file mode 100644 index 0000000..aff9420 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.uk.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=Майстрування diff --git a/data/games/garage/mods/sfinv/locale/sfinv.zh_CN.tr b/data/games/garage/mods/sfinv/locale/sfinv.zh_CN.tr new file mode 100644 index 0000000..3ec3c72 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.zh_CN.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=合成 diff --git a/data/games/garage/mods/sfinv/locale/sfinv.zh_TW.tr b/data/games/garage/mods/sfinv/locale/sfinv.zh_TW.tr new file mode 100644 index 0000000..3ec3c72 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/sfinv.zh_TW.tr @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting=合成 diff --git a/data/games/garage/mods/sfinv/locale/template.txt b/data/games/garage/mods/sfinv/locale/template.txt new file mode 100644 index 0000000..ace5519 --- /dev/null +++ b/data/games/garage/mods/sfinv/locale/template.txt @@ -0,0 +1,2 @@ +# textdomain: sfinv +Crafting= diff --git a/data/games/garage/mods/sfinv/mod.conf b/data/games/garage/mods/sfinv/mod.conf new file mode 100644 index 0000000..2934435 --- /dev/null +++ b/data/games/garage/mods/sfinv/mod.conf @@ -0,0 +1,2 @@ +name = sfinv +description = Minetest Game mod: sfinv diff --git a/data/games/garage/mods/sfinv/textures/sfinv_crafting_arrow.png b/data/games/garage/mods/sfinv/textures/sfinv_crafting_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..42bba581d64b8a6227d80e8e8bd9f44e9713d336 GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^DIm8-&SBJAYmW7_JPS Lu6{1-oD!M<*erK& literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/soundstuff/bigfoot.lua b/data/games/garage/mods/soundstuff/bigfoot.lua deleted file mode 100644 index afa2b6e..0000000 --- a/data/games/garage/mods/soundstuff/bigfoot.lua +++ /dev/null @@ -1,48 +0,0 @@ - -local walk_speed = 2 -local walk_distance = 10 - -core.register_entity("soundstuff:bigfoot", { - initial_properties = { - physical = false, - collisionbox = {-1, -1, -1, 1, 1, 1}, - selectionbox = {-1, -1, -1, 1, 1, 1}, - visual = "upright_sprite", - visual_size = {x = 2, y = 2, z = 2}, - textures = {"soundstuff_bigfoot.png", "soundstuff_bigfoot.png^[transformFX"}, - makes_footstep_sound = true, - static_save = false, - }, - - on_activate = function(self, _staticdata, _dtime_s) - self.min_x = self.object:get_pos().x - walk_distance * 0.5 - self.max_x = self.min_x + walk_distance - self.vel = vector.new(walk_speed, 0, 0) - end, - - on_step = function(self, _dtime, _moveresult) - local pos = self.object:get_pos() - if pos.x < self.min_x then - self.vel = vector.new(walk_speed, 0, 0) - elseif pos.x > self.max_x then - self.vel = vector.new(-walk_speed, 0, 0) - end - self.object:set_velocity(self.vel) - end, -}) - -core.register_chatcommand("spawn_bigfoot", { - params = "", - description = "Spawn a big foot object that makes footstep sounds", - func = function(name, _param) - local player = core.get_player_by_name(name) - if not player then - return false, "No player." - end - local pos = player:get_pos() - pos.y = pos.y + player:get_properties().collisionbox[2] - pos.y = pos.y - (-1) -- bigfoot collisionbox goes 1 down - core.add_entity(pos, "soundstuff:bigfoot") - return true - end, -}) diff --git a/data/games/garage/mods/soundstuff/init.lua b/data/games/garage/mods/soundstuff/init.lua deleted file mode 100644 index 6c0049a..0000000 --- a/data/games/garage/mods/soundstuff/init.lua +++ /dev/null @@ -1,6 +0,0 @@ - -local path = core.get_modpath("soundstuff") .. "/" -dofile(path .. "sound_event_items.lua") -dofile(path .. "jukebox.lua") -dofile(path .. "bigfoot.lua") -dofile(path .. "racecar.lua") diff --git a/data/games/garage/mods/soundstuff/jukebox.lua b/data/games/garage/mods/soundstuff/jukebox.lua deleted file mode 100644 index 6c70fe3..0000000 --- a/data/games/garage/mods/soundstuff/jukebox.lua +++ /dev/null @@ -1,331 +0,0 @@ -local F = core.formspec_escape - --- hashed node pos -> sound handle -local played_sounds = {} - --- all of these can be set via the formspec -local meta_keys = { - -- SimpleSoundSpec - "sss.name", - "sss.gain", - "sss.pitch", - "sss.fade", - -- sound parameters - "sparam.gain", - "sparam.pitch", - "sparam.fade", - "sparam.start_time", - "sparam.loop", - "sparam.pos", - "sparam.object", - "sparam.to_player", - "sparam.exclude_player", - "sparam.max_hear_distance", - -- fade - "fade.step", - "fade.gain", - -- other - "ephemeral", -} - -local function get_all_metadata(meta) - return { - sss = { - name = meta:get_string("sss.name"), - gain = meta:get_string("sss.gain"), - pitch = meta:get_string("sss.pitch"), - fade = meta:get_string("sss.fade"), - }, - sparam = { - gain = meta:get_string("sparam.gain"), - pitch = meta:get_string("sparam.pitch"), - fade = meta:get_string("sparam.fade"), - start_time = meta:get_string("sparam.start_time"), - loop = meta:get_string("sparam.loop"), - pos = meta:get_string("sparam.pos"), - object = meta:get_string("sparam.object"), - to_player = meta:get_string("sparam.to_player"), - exclude_player = meta:get_string("sparam.exclude_player"), - max_hear_distance = meta:get_string("sparam.max_hear_distance"), - }, - fade = { - gain = meta:get_string("fade.gain"), - step = meta:get_string("fade.step"), - }, - ephemeral = meta:get_string("ephemeral"), - } -end - -local function log_msg(msg) - core.log("action", msg) - core.chat_send_all(msg) -end - -local function try_call(f, ...) - local function log_on_err(success, errmsg, ...) - if not success then - log_msg("[soundstuff:jukebox] Call failed: "..errmsg) - else - return errmsg, ... - end - end - - return log_on_err(pcall(f, ...)) -end - -local function show_formspec(pos, player) - local meta = core.get_meta(pos) - - local md = get_all_metadata(meta) - - local pos_hash = core.hash_node_position(pos) - local sound_handle = played_sounds[pos_hash] - - local fs = {} - local function fs_add(str) - table.insert(fs, str) - end - - fs_add([[ - formspec_version[6] - size[14,12] - ]]) - - -- SimpleSoundSpec - fs_add(string.format([[ - container[0.5,0.5] - box[-0.1,-0.1;4.2,3.2;#EBEBEB20] - style[*;font=mono,bold] - label[0,0.25;SimpleSoundSpec] - style[*;font=mono] - field[0.00,1.00;4,0.75;sss.name;name;%s] - field[0.00,2.25;1,0.75;sss.gain;gain;%s] - field[1.25,2.25;1,0.75;sss.pitch;pitch;%s] - field[2.50,2.25;1,0.75;sss.fade;fade;%s] - container_end[] - field_close_on_enter[sss.name;false] - field_close_on_enter[sss.gain;false] - field_close_on_enter[sss.pitch;false] - field_close_on_enter[sss.fade;false] - ]], F(md.sss.name), F(md.sss.gain), F(md.sss.pitch), F(md.sss.fade))) - - -- sound parameter table - fs_add(string.format([[ - container[5.5,0.5] - box[-0.1,-0.1;4.2,10.7;#EBEBEB20] - style[*;font=mono,bold] - label[0,0.25;sound parameter table] - style[*;font=mono] - field[0.00,1;1,0.75;sparam.gain;gain;%s] - field[1.25,1;1,0.75;sparam.pitch;pitch;%s] - field[2.50,1;1,0.75;sparam.fade;fade;%s] - field[0,2.25;4,0.75;sparam.start_time;start_time;%s] - field[0,3.50;4,0.75;sparam.loop;loop;%s] - field[0,4.75;4,0.75;sparam.pos;pos;%s] - field[0,6.00;4,0.75;sparam.object;object;%s] - field[0,7.25;4,0.75;sparam.to_player;to_player;%s] - field[0,8.50;4,0.75;sparam.exclude_player;exclude_player;%s] - field[0,9.75;4,0.75;sparam.max_hear_distance;max_hear_distance;%s] - container_end[] - field_close_on_enter[sparam.gain;false] - field_close_on_enter[sparam.pitch;false] - field_close_on_enter[sparam.fade;false] - field_close_on_enter[sparam.start_time;false] - field_close_on_enter[sparam.loop;false] - field_close_on_enter[sparam.pos;false] - field_close_on_enter[sparam.object;false] - field_close_on_enter[sparam.to_player;false] - field_close_on_enter[sparam.exclude_player;false] - field_close_on_enter[sparam.max_hear_distance;false] - tooltip[sparam.object;Get a name with the Branding Iron.] - ]], F(md.sparam.gain), F(md.sparam.pitch), F(md.sparam.fade), - F(md.sparam.start_time), F(md.sparam.loop), F(md.sparam.pos), - F(md.sparam.object), F(md.sparam.to_player), F(md.sparam.exclude_player), - F(md.sparam.max_hear_distance))) - - -- fade - fs_add(string.format([[ - container[10.75,3] - box[-0.1,-0.1;3.2,3.2;#EBEBEB20] - style[*;font=mono,bold] - label[0,0.25;fade] - style[*;font=mono] - field[0.00,1;1,0.75;fade.step;step;%s] - field[1.25,1;1,0.75;fade.gain;gain;%s] - ]], F(md.fade.step), F(md.fade.gain))) - if not sound_handle then - fs_add([[ - box[0,2;3,0.75;#363636FF] - label[0.25,2.375;no sound] - ]]) - else - fs_add([[ - button[0,2;3,0.75;btn_fade;Fade] - ]]) - end - fs_add([[ - container_end[] - field_close_on_enter[fade.step;false] - field_close_on_enter[fade.gain;false] - ]]) - - -- ephemeral - fs_add(string.format([[ - checkbox[0.5,5;ephemeral;ephemeral;%s] - ]], md.ephemeral)) - - -- play/stop and release buttons - if not sound_handle then - fs_add([[ - container[10.75,0.5] - button[0,0;3,0.75;btn_play;Play] - container_end[] - ]]) - else - fs_add([[ - container[10.75,0.5] - button[0,0;3,0.75;btn_stop;Stop] - button[0,1;3,0.75;btn_release;Release] - container_end[] - ]]) - end - - -- save and quit button - fs_add([[ - button_exit[10.75,11;3,0.75;btn_save_quit;Save & Quit] - ]]) - - core.show_formspec(player:get_player_name(), "soundstuff:jukebox@"..pos:to_string(), - table.concat(fs)) -end - -core.register_node("soundstuff:jukebox", { - description = "Jukebox\nAllows to play arbitrary sounds.", - tiles = {"soundstuff_jukebox.png"}, - groups = {dig_immediate = 2}, - - on_construct = function(pos) - local meta = core.get_meta(pos) - -- SimpleSoundSpec - meta:set_string("sss.name", "") - meta:set_string("sss.gain", "") - meta:set_string("sss.pitch", "") - meta:set_string("sss.fade", "") - -- sound parameters - meta:set_string("sparam.gain", "") - meta:set_string("sparam.pitch", "") - meta:set_string("sparam.fade", "") - meta:set_string("sparam.start_time", "") - meta:set_string("sparam.loop", "") - meta:set_string("sparam.pos", pos:to_string()) - meta:set_string("sparam.object", "") - meta:set_string("sparam.to_player", "") - meta:set_string("sparam.exclude_player", "") - meta:set_string("sparam.max_hear_distance", "") - -- fade - meta:set_string("fade.gain", "") - meta:set_string("fade.step", "") - -- other - meta:set_string("ephemeral", "") - - meta:mark_as_private(meta_keys) - end, - - on_rightclick = function(pos, _node, clicker, _itemstack, _pointed_thing) - show_formspec(pos, clicker) - end, -}) - -core.register_on_player_receive_fields(function(player, formname, fields) - if formname:sub(1, 19) ~= "soundstuff:jukebox@" then - return false - end - - local pos = vector.from_string(formname, 20) - if not pos or pos ~= pos:round() then - core.log("error", "[soundstuff:jukebox] Invalid formname.") - return true - end - - local meta = core.get_meta(pos) - - for _, k in ipairs(meta_keys) do - if fields[k] then - meta:set_string(k, fields[k]) - end - end - meta:mark_as_private(meta_keys) - - local pos_hash = core.hash_node_position(pos) - local sound_handle = played_sounds[pos_hash] - - if not sound_handle then - if fields.btn_play then - local md = get_all_metadata(meta) - - local sss = { - name = md.sss.name, - gain = tonumber(md.sss.gain), - pitch = tonumber(md.sss.pitch), - fade = tonumber(md.sss.fade), - } - local sparam = { - gain = tonumber(md.sparam.gain), - pitch = tonumber(md.sparam.pitch), - fade = tonumber(md.sparam.fade), - start_time = tonumber(md.sparam.start_time), - loop = core.is_yes(md.sparam.loop), - pos = vector.from_string(md.sparam.pos), - object = testtools.get_branded_object(md.sparam.object), - to_player = md.sparam.to_player, - exclude_player = md.sparam.exclude_player, - max_hear_distance = tonumber(md.sparam.max_hear_distance), - } - local ephemeral = core.is_yes(md.ephemeral) - - log_msg(string.format( - "[soundstuff:jukebox] Playing sound: core.sound_play(%s, %s, %s)", - string.format("{name=\"%s\", gain=%s, pitch=%s, fade=%s}", - sss.name, sss.gain, sss.pitch, sss.fade), - string.format("{gain=%s, pitch=%s, fade=%s, start_time=%s, loop=%s, pos=%s, " - .."object=%s, to_player=\"%s\", exclude_player=\"%s\", max_hear_distance=%s}", - sparam.gain, sparam.pitch, sparam.fade, sparam.start_time, - sparam.loop, sparam.pos, sparam.object and "", - sparam.to_player, sparam.exclude_player, - sparam.max_hear_distance), - tostring(ephemeral))) - - sound_handle = try_call(core.sound_play, sss, sparam, ephemeral) - - played_sounds[pos_hash] = sound_handle - show_formspec(pos, player) - end - - else - if fields.btn_stop then - log_msg("[soundstuff:jukebox] Stopping sound: core.sound_stop()") - - try_call(core.sound_stop, sound_handle) - - elseif fields.btn_release then - log_msg("[soundstuff:jukebox] Releasing handle.") - - played_sounds[pos_hash] = nil - show_formspec(pos, player) - - elseif fields.btn_fade then - local md = get_all_metadata(meta) - - local step = tonumber(md.fade.step) - local gain = tonumber(md.fade.gain) - - log_msg(string.format( - "[soundstuff:jukebox] Fading sound: core.sound_fade(, %s, %s)", - step, gain)) - - try_call(core.sound_fade, sound_handle, step, gain) - end - end - - return true -end) diff --git a/data/games/garage/mods/soundstuff/mod.conf b/data/games/garage/mods/soundstuff/mod.conf deleted file mode 100644 index a6ed6d4..0000000 --- a/data/games/garage/mods/soundstuff/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = soundstuff -description = Example items and nodes for testing sound effects -depends = testtools diff --git a/data/games/garage/mods/soundstuff/racecar.lua b/data/games/garage/mods/soundstuff/racecar.lua deleted file mode 100644 index 9162792..0000000 --- a/data/games/garage/mods/soundstuff/racecar.lua +++ /dev/null @@ -1,31 +0,0 @@ - -local drive_speed = 20 -local drive_distance = 30 - -core.register_entity("soundstuff:racecar", { - initial_properties = { - physical = false, - collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, - selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, - visual = "upright_sprite", - visual_size = {x = 1, y = 1, z = 1}, - textures = {"soundstuff_racecar.png", "soundstuff_racecar.png^[transformFX"}, - static_save = false, - }, - - on_activate = function(self, _staticdata, _dtime_s) - self.min_x = self.object:get_pos().x - drive_distance * 0.5 - self.max_x = self.min_x + drive_distance - self.vel = vector.new(drive_speed, 0, 0) - end, - - on_step = function(self, _dtime, _moveresult) - local pos = self.object:get_pos() - if pos.x < self.min_x then - self.vel = vector.new(drive_speed, 0, 0) - elseif pos.x > self.max_x then - self.vel = vector.new(-drive_speed, 0, 0) - end - self.object:set_velocity(self.vel) - end, -}) diff --git a/data/games/garage/mods/soundstuff/sound_event_items.lua b/data/games/garage/mods/soundstuff/sound_event_items.lua deleted file mode 100644 index 9b2eb6b..0000000 --- a/data/games/garage/mods/soundstuff/sound_event_items.lua +++ /dev/null @@ -1,209 +0,0 @@ -local simple_nodes = { - footstep = { "Footstep Sound Node", "soundstuff_node_footstep.png", "Plays sound when you step on it" }, - dig = { "Dig Sound Node", "soundstuff_node_dig.png", "Plays sound when you dig it" }, - dug = { "Dug Sound Node", "soundstuff_node_dug.png", "Plays sound when you've dug it" }, - place = { "Place Sound Node", "soundstuff_node_place.png", "Plays sound when you place it" }, - place_failed = { "Place Failed Sound Node", "soundstuff_node_place_failed.png", "Plays sound when you try to place it but failed" }, -} - -for k,v in pairs(simple_nodes) do - core.register_node("soundstuff:"..k, { - description = v[1].."\n"..v[3], - tiles = {"soundstuff_node_sound.png","soundstuff_node_sound.png",v[2]}, - groups = {dig_immediate=2}, - sounds = { - [k] = { name = "soundstuff_mono", gain = 1.0 }, - } - }) -end - -core.register_node("soundstuff:place_failed_attached", { - description = "Attached Place Failed Sound Node".."\n".. - "Attached to the floor; plays a sound when you try to place it but failed", - tiles = {"soundstuff_node_sound.png", "soundstuff_node_sound.png", "soundstuff_node_place_failed.png"}, - groups = {dig_immediate=2, attached_node=1}, - drawtype = "nodebox", - paramtype = "light", - node_box = { type = "fixed", fixed = { - { -7/16, -7/16, -7/16, 7/16, 7/16, 7/16 }, - { -0.5, -0.5, -0.5, 0.5, -7/16, 0.5 }, - }}, - sounds = { - place_failed = { name = "soundstuff_mono", gain = 1.0 }, - }, -}) - -core.register_node("soundstuff:fall", { - description = "Fall Sound Node".."\n".. - "Falls and plays sound if node below is gone", - tiles = {"soundstuff_node_sound.png", "soundstuff_node_sound.png", "soundstuff_node_fall.png"}, - groups = {dig_immediate=2, falling_node=1}, - sounds = { - fall = { name = "soundstuff_mono", gain = 1.0 }, - } -}) - -core.register_node("soundstuff:fall_attached", { - description = "Attached Fall Sound Node".."\n".. - "Drops as item and plays sound if node below is gone", - tiles = {"soundstuff_node_sound.png", "soundstuff_node_sound.png", "soundstuff_node_fall.png"}, - groups = {dig_immediate=2, attached_node=1}, - drawtype = "nodebox", - paramtype = "light", - node_box = { type = "fixed", fixed = { - { -7/16, -7/16, -7/16, 7/16, 7/16, 7/16 }, - { -0.5, -0.5, -0.5, 0.5, -7/16, 0.5 }, - }}, - sounds = { - fall = { name = "soundstuff_mono", gain = 1.0 }, - } -}) - -core.register_node("soundstuff:footstep_liquid", { - description = "Liquid Footstep Sound Node".."\n".. - "Plays sound when moving inside it; swimmable", - drawtype = "liquid", - tiles = { - "soundstuff_node_sound.png^[colorize:#0000FF:127^[opacity:190", - }, - special_tiles = { - {name = "soundstuff_node_sound.png^[colorize:#0000FF:127^[opacity:190", - backface_culling = false}, - {name = "soundstuff_node_sound.png^[colorize:#0000FF:127^[opacity:190", - backface_culling = true}, - }, - liquids_pointable = true, - liquidtype = "source", - liquid_alternative_flowing = "soundstuff:footstep_liquid", - liquid_alternative_source = "soundstuff:footstep_liquid", - liquid_renewable = false, - liquid_range = 0, - liquid_viscosity = 0, - use_texture_alpha = "blend", - paramtype = "light", - walkable = false, - pointable = false, - diggable = false, - buildable_to = true, - is_ground_content = false, - post_effect_color = {a = 64, r = 0, g = 0, b = 200}, - sounds = { - footstep = { name = "soundstuff_mono", gain = 1.0 }, - } -}) - -core.register_node("soundstuff:footstep_climbable", { - description = "Climbable Footstep Sound Node".."\n".. - "Plays sound when moving inside it; can climb up and down here", - drawtype = "allfaces", - tiles = { - "soundstuff_node_climbable.png", - }, - paramtype = "light", - sunlight_propagates = true, - walkable = false, - climbable = true, - is_ground_content = false, - groups = { dig_immediate = 2 }, - sounds = { - footstep = { name = "soundstuff_mono", gain = 1.0 }, - } -}) - - - -core.register_craftitem("soundstuff:eat", { - description = "Eat Sound Item".."\n".. - "Makes a sound when 'eaten' (with punch key)", - inventory_image = "soundstuff_eat.png", - on_use = core.item_eat(0), - sound = { - eat = { name = "soundstuff_mono", gain = 1.0 }, - } -}) - -core.register_tool("soundstuff:breaks", { - description = "Break Sound Tool".."\n".. - "Digs cracky=3 and more".."\n".. - "Makes a sound when it breaks", - inventory_image = "soundstuff_node_dug.png", - sound = { - breaks = { name = "soundstuff_mono", gain = 1.0 }, - }, - tool_capabilities = { - max_drop_level=0, - groupcaps={ - cracky={times={[2]=2.00, [3]=1.20}, uses=1, maxlevel=0}, - choppy={times={[2]=2.00, [3]=1.20}, uses=1, maxlevel=0}, - snappy={times={[2]=2.00, [3]=1.20}, uses=1, maxlevel=0}, - crumbly={times={[2]=2.00, [3]=1.20}, uses=1, maxlevel=0}, - }, - }, -}) - - -core.register_tool("soundstuff:punch_use", { - description = "Punch Use Sound Tool\n".. - "Digs cracky=3 and more\n".. - "Makes a sound when used on node or entity", - inventory_image = "soundstuff_node_dig.png", - sound = { - punch_use = { name = "soundstuff_mono", gain = 1.0 }, - }, - tool_capabilities = { - max_drop_level=0, - groupcaps={ - cracky={times={[2]=2.00, [3]=1.20}, uses=0, maxlevel=0}, - choppy={times={[2]=2.00, [3]=1.20}, uses=0, maxlevel=0}, - snappy={times={[2]=2.00, [3]=1.20}, uses=0, maxlevel=0}, - crumbly={times={[2]=2.00, [3]=1.20}, uses=0, maxlevel=0}, - }, - }, -}) - -core.register_tool("soundstuff:punch_use_air", { - description = "Punch Use (Air) Sound Tool\n".. - "Makes a sound when used pointing at nothing", - inventory_image = "soundstuff_node_dig.png", - sound = { - punch_use_air = { name = "soundstuff_mono", gain = 1.0 }, - }, -}) - --- Plays sound repeatedly -core.register_node("soundstuff:positional", { - description = "Positional Sound Node".."\n".. - "Repeatedly plays a sound at the node location", - on_construct = function(pos) - local timer = core.get_node_timer(pos) - timer:start(0) - end, - on_timer = function(pos, elapsed) - local node = core.get_node(pos) - local dist = node.param2 - if dist == 0 then - dist = nil - end - core.sound_play("soundstuff_mono", { pos = pos, max_hear_distance = dist }) - local timer = core.get_node_timer(pos) - timer:start(0.7) - end, - on_rightclick = function(pos, node, clicker) - node.param2 = (node.param2 + 1) % 64 - core.set_node(pos, node) - if clicker and clicker:is_player() then - local dist = node.param2 - local diststr - if dist == 0 then - diststr = "" - else - diststr = tostring(dist) - end - core.chat_send_player(clicker:get_player_name(), "max_hear_distance = " .. diststr) - end - end, - - groups = { dig_immediate = 2 }, - tiles = { "soundstuff_node_sound.png" }, -}) - diff --git a/data/games/garage/mods/soundstuff/sounds/gitignored_sounds/custom_sounds_here.txt b/data/games/garage/mods/soundstuff/sounds/gitignored_sounds/custom_sounds_here.txt deleted file mode 100644 index f07d44b..0000000 --- a/data/games/garage/mods/soundstuff/sounds/gitignored_sounds/custom_sounds_here.txt +++ /dev/null @@ -1,2 +0,0 @@ -Put your own testing sounds here. The folder is gitignored. -Using a sound-pack is also possible. diff --git a/data/games/garage/mods/soundstuff/sounds/soundstuff_mono.ogg b/data/games/garage/mods/soundstuff/sounds/soundstuff_mono.ogg deleted file mode 100644 index 43428d5664cbb98fe197b7b04330bf0abfd23abf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4362 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 J%Q~loCIDGHG0p%0 diff --git a/data/games/garage/mods/soundstuff/textures/soundstuff_eat.png b/data/games/garage/mods/soundstuff/textures/soundstuff_eat.png deleted file mode 100644 index aed205422ec6f8a10055baeb2d7a83e99b3a6756..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|7M?DSAr*|t5mN3_Ou?!yN~e-TpXA^SOo;uGX@Ltnj8@PDaCe=KY^iK!d1|H`xX}|CWgSmSLqiYWpo0~VDNPH Kb6Mw<&;$U~cp97l diff --git a/data/games/garage/mods/soundstuff/textures/soundstuff_jukebox.png b/data/games/garage/mods/soundstuff/textures/soundstuff_jukebox.png deleted file mode 100644 index b8c17a669db76b28dd336c75e07a6bde822a6720..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u0Ze!wloI_U<-ohR2cURcd^*{+uyV17paQ5hSnT8=WGyWiq( h~DYuCG^|OMwP5c)I$ztaD0e0s!p6CRYFe diff --git a/data/games/garage/mods/soundstuff/textures/soundstuff_node_dug.png b/data/games/garage/mods/soundstuff/textures/soundstuff_node_dug.png deleted file mode 100644 index bab5fbe516cf878f5bd81987458df8556cd85cd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|-kvUwAr*{MFEX+*D2lLLuzfi% zY5kV(Z@A+hE|qjP(7*C|f8_IzvD+P0na$YJgKswWHu|zMurVxiz7X3Ke#wgM5Bpu- f22BR82_+0X+h1}qocrMoG?u~B)z4*}Q$iB}Yyv5Q diff --git a/data/games/garage/mods/soundstuff/textures/soundstuff_node_fall.png b/data/games/garage/mods/soundstuff/textures/soundstuff_node_fall.png deleted file mode 100644 index 17b14f1e4aa456f652b0f55b50acc82f12c65577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|+MX_sAr*|t5mN3_Ou?!yN?KVA x%x|RJOdl{*D81>#fouk5pTb>BRWAuJq}si+s7Z?|1De9% M>FVdQ&MBb@05g;ud;kCd diff --git a/data/games/garage/mods/soundstuff/textures/soundstuff_node_place_failed.png b/data/games/garage/mods/soundstuff/textures/soundstuff_node_place_failed.png deleted file mode 100644 index 780ba946d28da2347913ddd350da00a47d698946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u1n(>mX-iH41DYiHcbzA z09kgPE{-7;jL8hl7cX28;7}B^`^we);_FL?yq_@&g3(+e(Ndh_GGsPzX2q mt2bdrovel+TS(6ZZYBmRR*@G@JFAjGhI+dCxvX?{wo$!WzlT+uX3Wo)ZR~)367)-35?oSt;v;k-g NgQu&X%Q~loCIDhg9Gn0E diff --git a/data/games/garage/mods/soundstuff/textures/soundstuff_racecar.png b/data/games/garage/mods/soundstuff/textures/soundstuff_racecar.png deleted file mode 100644 index 8e8ff5ac7ff0512801c6ea2f589e57f7017cb0cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u0R?H{xdMx{=TaVWHFWm z`2{mLJiCzwFVdQ&MBb@0I2#O3IG5A diff --git a/data/games/garage/mods/spawn/README.txt b/data/games/garage/mods/spawn/README.txt new file mode 100644 index 0000000..fc16c2a --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/spawn/api.lua b/data/games/garage/mods/spawn/api.lua new file mode 100644 index 0000000..bffe32a --- /dev/null +++ b/data/games/garage/mods/spawn/api.lua @@ -0,0 +1,49 @@ +spawn = {} + +-- provide empty default implementations + +function spawn.get_default_pos() + return nil +end + +function spawn.add_suitable_biome(biome) +end + +-- Callback registration + +spawn.registered_on_spawn = {} + +function spawn.register_on_spawn(func) + table.insert(spawn.registered_on_spawn, func) +end + +-- Logic run on spawn + +local use_engine_spawn = minetest.settings:get("static_spawnpoint") or + minetest.settings:get_bool("engine_spawn") + +local function on_spawn(player, is_new) + -- Ask all callbacks first + for _, cb in ipairs(spawn.registered_on_spawn) do + if cb(player, is_new) then + return true + end + end + -- Fall back to default spawn + if not use_engine_spawn then + local pos = spawn.get_default_pos() + if pos then + player:set_pos(pos) + return true + end + end + return false +end + +minetest.register_on_newplayer(function(player) + on_spawn(player, true) +end) + +minetest.register_on_respawnplayer(function(player) + return on_spawn(player, false) +end) diff --git a/data/games/garage/mods/spawn/init.lua b/data/games/garage/mods/spawn/init.lua new file mode 100644 index 0000000..b439997 --- /dev/null +++ b/data/games/garage/mods/spawn/init.lua @@ -0,0 +1,135 @@ +-- Always load the API +---------------------- +dofile(minetest.get_modpath(minetest.get_current_modname()) .. "/api.lua") + +-- Disable biome-search implementation on unsuitable mapgens +------------------------------------------------------------ + +local mg_name = minetest.get_mapgen_setting("mg_name") +if mg_name == "v6" or mg_name == "singlenode" 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 and matching API function + +local biome_ids = {} + +function spawn.add_suitable_biome(biome) + local id = minetest.get_biome_id(biome) + assert(id ~= nil) + biome_ids[id] = true +end + +for _, name in ipairs({ + "taiga", "coniferous_forest", "deciduous_forest", "grassland", "savanna" +}) do + local id = minetest.get_biome_id(name) + if id then + biome_ids[id] = true + end +end + +-- End of parameters +-------------------- + +-- Direction table + +local dirs = { + vector.new(0, 0, 1), + vector.new(-1, 0, 0), + vector.new(0, 0, -1), + vector.new(1, 0, 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 = {} + + +-- Get world 'mapgen_limit' and 'chunksize' to calculate 'spawn_limit'. +-- This accounts for how mapchunks are not generated if they or their shell exceed +-- 'mapgen_limit'. + +local mapgen_limit = tonumber(minetest.get_mapgen_setting("mapgen_limit")) +local chunksize = tonumber(minetest.get_mapgen_setting("chunksize")) +local spawn_limit = math.max(mapgen_limit - (chunksize + 1) * 16, 0) + + +-- 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 + if biome_data and biome_ids[biome_data.biome] then + local spawn_y = minetest.get_spawn_level(pos.x, pos.z) + if spawn_y then + spawn_pos = vector.new(pos.x, spawn_y, pos.z) + return true + end + end + + pos = next_pos() + -- Check for position being outside world edge + if math.abs(pos.x) > spawn_limit or math.abs(pos.z) > spawn_limit then + return false + end + end + + return false +end + + +function spawn.get_default_pos() + -- Search for spawn position once per server session + if not searched then + success = search() + searched = true + end + return success and spawn_pos +end diff --git a/data/games/garage/mods/spawn/license.txt b/data/games/garage/mods/spawn/license.txt new file mode 100644 index 0000000..a466aab --- /dev/null +++ b/data/games/garage/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/data/games/garage/mods/spawn/mod.conf b/data/games/garage/mods/spawn/mod.conf new file mode 100644 index 0000000..7a09d4a --- /dev/null +++ b/data/games/garage/mods/spawn/mod.conf @@ -0,0 +1,3 @@ +name = spawn +description = Minetest Game mod: spawn +depends = default diff --git a/data/games/garage/mods/stairs/README.txt b/data/games/garage/mods/stairs/README.txt new file mode 100644 index 0000000..e684aed --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/stairs/init.lua b/data/games/garage/mods/stairs/init.lua index 267540e..f3cddd1 100644 --- a/data/games/garage/mods/stairs/init.lua +++ b/data/games/garage/mods/stairs/init.lua @@ -1,66 +1,1073 @@ +-- stairs/init.lua + +-- Minetest Game mod: stairs +-- See README.txt for licensing and other information. + + +-- Global namespace for functions + stairs = {} +-- Load support for MT game translation. +local S = minetest.get_translator("stairs") +-- Same as S, but will be ignored by translation file update scripts +local T = S + + +-- 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 + local diff = vector.subtract(p1, placer_pos) + param2 = minetest.dir_to_facedir(diff) + -- The player places a node on the side face of the node he is standing on + if p0.y == p1.y and math.abs(diff.x) <= 0.5 and math.abs(diff.z) <= 0.5 and diff.y < 0 then + -- reverse node direction + param2 = (param2 + 2) % 4 + end + 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 + +local function warn_if_exists(nodename) + if minetest.registered_nodes[nodename] then + minetest.log("warning", "Overwriting stairs node: " .. nodename) + end +end + +-- Set backface culling and world-aligned textures +local function set_textures(images, worldaligntex) + local stair_images = {} + for i, image in ipairs(images) do + stair_images[i] = type(image) == "string" and {name = image} or 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 + return stair_images +end + +-- Register stair -- Node will be called stairs:stair_ -function stairs.register_stair(subname, recipeitem, groups, images, description) - core.register_node(":stairs:stair_" .. subname, { - description = description.."\n".. - "param2 = facedir rotation (0..23)", + +function stairs.register_stair(subname, recipeitem, groups, images, description, + sounds, worldaligntex) + local def = minetest.registered_nodes[recipeitem] or {} + local stair_images = set_textures(images, worldaligntex) + local new_groups = table.copy(groups) + new_groups.stair = 1 + warn_if_exists("stairs:stair_" .. subname) + minetest.register_node(":stairs:stair_" .. subname, { + description = description, drawtype = "nodebox", - tiles = images, + tiles = stair_images, + use_texture_alpha = def.use_texture_alpha, + sunlight_propagates = def.sunlight_propagates, + light_source = def.light_source, paramtype = "light", paramtype2 = "facedir", - is_ground_content = true, - groups = groups, + is_ground_content = false, + groups = new_groups, + sounds = sounds or def.sounds, node_box = { type = "fixed", fixed = { - {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.5, 0.5}, + {-0.5, -0.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) - core.register_node(":stairs:slab_" .. subname, { + +function stairs.register_slab(subname, recipeitem, groups, images, description, + sounds, worldaligntex) + local def = minetest.registered_nodes[recipeitem] or {} + local slab_images = set_textures(images, worldaligntex) + local new_groups = table.copy(groups) + new_groups.slab = 1 + warn_if_exists("stairs:slab_" .. subname) + minetest.register_node(":stairs:slab_" .. subname, { description = description, drawtype = "nodebox", - tiles = images, + tiles = slab_images, + use_texture_alpha = def.use_texture_alpha, + sunlight_propagates = def.sunlight_propagates, + light_source = def.light_source, paramtype = "light", - is_ground_content = true, - groups = groups, + paramtype2 = "facedir", + is_ground_content = false, + groups = new_groups, + sounds = sounds or def.sounds, node_box = { type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, }, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, - }, + on_place = function(itemstack, placer, pointed_thing) + local under = minetest.get_node(pointed_thing.under) + local wield_item = itemstack:get_name() + local player_name = placer and placer:get_player_name() or "" + + 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 minetest.is_creative_enabled(player_name) 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 --- Nodes will be called stairs:{stair,slab}_ -function stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab) - stairs.register_stair(subname, recipeitem, groups, images, desc_stair) - stairs.register_slab(subname, recipeitem, groups, images, desc_slab) + +-- Register inner stair +-- Node will be called stairs:stair_inner_ + +function stairs.register_stair_inner(subname, recipeitem, groups, images, + description, sounds, worldaligntex, full_description) + local def = minetest.registered_nodes[recipeitem] or {} + local stair_images = set_textures(images, worldaligntex) + local new_groups = table.copy(groups) + new_groups.stair = 1 + if full_description then + description = full_description + else + description = "Inner " .. description + end + warn_if_exists("stairs:stair_inner_" .. subname) + minetest.register_node(":stairs:stair_inner_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = stair_images, + use_texture_alpha = def.use_texture_alpha, + sunlight_propagates = def.sunlight_propagates, + light_source = def.light_source, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + groups = new_groups, + sounds = sounds or def.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 -stairs.register_stair_and_slab("stone", "basenodes:stone", - {cracky=3}, - {"default_stone.png"}, - "Stone Stair", - "Stone Slab") -stairs.register_stair_and_slab("desert_stone", "basenodes:desert_stone", - {cracky=3}, - {"default_desert_stone.png"}, - "Desert Stone Stair", - "Desert Stone Slab") +-- Register outer stair +-- Node will be called stairs:stair_outer_ -stairs.register_stair_and_slab("cobble", "basenodes:cobble", - {cracky=3}, - {"default_cobble.png"}, - "Cobblestone Stair", - "Cobblestone Slab") +function stairs.register_stair_outer(subname, recipeitem, groups, images, + description, sounds, worldaligntex, full_description) + local def = minetest.registered_nodes[recipeitem] or {} + local stair_images = set_textures(images, worldaligntex) + local new_groups = table.copy(groups) + new_groups.stair = 1 + if full_description then + description = full_description + else + description = "Outer " .. description + end + warn_if_exists("stairs:stair_outer_" .. subname) + minetest.register_node(":stairs:stair_outer_" .. subname, { + description = description, + drawtype = "nodebox", + tiles = stair_images, + use_texture_alpha = def.use_texture_alpha, + sunlight_propagates = def.sunlight_propagates, + light_source = def.light_source, + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = false, + groups = new_groups, + sounds = sounds or def.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, + desc_stair_inner, desc_stair_outer) + stairs.register_stair(subname, recipeitem, groups, images, desc_stair, + sounds, worldaligntex) + stairs.register_stair_inner(subname, recipeitem, groups, images, + desc_stair, sounds, worldaligntex, desc_stair_inner) + stairs.register_stair_outer(subname, recipeitem, groups, images, + desc_stair, sounds, worldaligntex, desc_stair_outer) + stairs.register_slab(subname, recipeitem, groups, images, desc_slab, + sounds, worldaligntex) +end + +-- Local function so we can apply translations +local function my_register_stair_and_slab(subname, recipeitem, groups, images, + desc_stair, desc_slab, sounds, worldaligntex) + stairs.register_stair(subname, recipeitem, groups, images, S(desc_stair), + sounds, worldaligntex) + stairs.register_stair_inner(subname, recipeitem, groups, images, "", + sounds, worldaligntex, T("Inner " .. desc_stair)) + stairs.register_stair_outer(subname, recipeitem, groups, images, "", + sounds, worldaligntex, T("Outer " .. desc_stair)) + stairs.register_slab(subname, recipeitem, groups, images, S(desc_slab), + sounds, worldaligntex) +end + + +-- Register default stairs and slabs + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_register_stair_and_slab( + "stone", + "default:stone", + {cracky = 3}, + {"default_stone.png"}, + "Stone Stair", + "Stone Slab", + default.node_sound_stone_defaults(), + true +) + +my_register_stair_and_slab( + "cobble", + "default:cobble", + {cracky = 3}, + {"default_cobble.png"}, + "Cobblestone Stair", + "Cobblestone Slab", + default.node_sound_stone_defaults(), + true +) + +my_register_stair_and_slab( + "mossycobble", + "default:mossycobble", + {cracky = 3}, + {"default_mossycobble.png"}, + "Mossy Cobblestone Stair", + "Mossy Cobblestone Slab", + default.node_sound_stone_defaults(), + true +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_register_stair_and_slab( + "sandstone", + "default:sandstone", + {crumbly = 1, cracky = 3}, + {"default_sandstone.png"}, + "Sandstone Stair", + "Sandstone Slab", + default.node_sound_stone_defaults(), + true +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_register_stair_and_slab( + "obsidian", + "default:obsidian", + {cracky = 1, level = 2}, + {"default_obsidian.png"}, + "Obsidian Stair", + "Obsidian Slab", + default.node_sound_stone_defaults(), + true +) + +my_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 +) + +my_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 +) + +my_register_stair_and_slab( + "brick", + "default:brick", + {cracky = 3}, + {"default_brick.png"}, + "Brick Stair", + "Brick Slab", + default.node_sound_stone_defaults(), + false +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_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 +) + +my_register_stair_and_slab( + "ice", + "default:ice", + {cracky = 3, cools_lava = 1, slippery = 3}, + {"default_ice.png"}, + "Ice Stair", + "Ice Slab", + default.node_sound_ice_defaults(), + true +) + +my_register_stair_and_slab( + "snowblock", + "default:snowblock", + {crumbly = 3, 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, oddly_breakable_by_hand = 3}, + {"stairs_glass_split.png", "default_glass.png", + "stairs_glass_stairside.png^[transformFX", "stairs_glass_stairside.png", + "default_glass.png", "stairs_glass_split.png"}, + S("Glass Stair"), + default.node_sound_glass_defaults(), + false +) + +stairs.register_slab( + "glass", + "default:glass", + {cracky = 3, oddly_breakable_by_hand = 3}, + {"default_glass.png", "default_glass.png", "stairs_glass_split.png"}, + S("Glass Slab"), + default.node_sound_glass_defaults(), + false +) + +stairs.register_stair_inner( + "glass", + "default:glass", + {cracky = 3, oddly_breakable_by_hand = 3}, + {"stairs_glass_stairside.png^[transformR270", "default_glass.png", + "stairs_glass_stairside.png^[transformFX", "default_glass.png", + "default_glass.png", "stairs_glass_stairside.png"}, + "", + default.node_sound_glass_defaults(), + false, + S("Inner Glass Stair") +) + +stairs.register_stair_outer( + "glass", + "default:glass", + {cracky = 3, oddly_breakable_by_hand = 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"}, + "", + default.node_sound_glass_defaults(), + false, + S("Outer Glass Stair") +) + +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"}, + S("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"}, + S("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"}, + "", + default.node_sound_glass_defaults(), + false, + S("Inner Obsidian Glass Stair") +) + +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"}, + "", + default.node_sound_glass_defaults(), + false, + S("Outer Obsidian Glass Stair") +) + +-- Dummy calls to S() to allow translation scripts to detect the strings. +-- To update this add this code to my_register_stair_and_slab: +-- for _,x in ipairs({"","Inner ","Outer "}) do print(("S(%q)"):format(x..desc_stair)) end +-- print(("S(%q)"):format(desc_slab)) + +--[[ +S("Wooden Stair") +S("Inner Wooden Stair") +S("Outer Wooden Stair") +S("Wooden Slab") +S("Jungle Wood Stair") +S("Inner Jungle Wood Stair") +S("Outer Jungle Wood Stair") +S("Jungle Wood Slab") +S("Pine Wood Stair") +S("Inner Pine Wood Stair") +S("Outer Pine Wood Stair") +S("Pine Wood Slab") +S("Acacia Wood Stair") +S("Inner Acacia Wood Stair") +S("Outer Acacia Wood Stair") +S("Acacia Wood Slab") +S("Aspen Wood Stair") +S("Inner Aspen Wood Stair") +S("Outer Aspen Wood Stair") +S("Aspen Wood Slab") +S("Stone Stair") +S("Inner Stone Stair") +S("Outer Stone Stair") +S("Stone Slab") +S("Cobblestone Stair") +S("Inner Cobblestone Stair") +S("Outer Cobblestone Stair") +S("Cobblestone Slab") +S("Mossy Cobblestone Stair") +S("Inner Mossy Cobblestone Stair") +S("Outer Mossy Cobblestone Stair") +S("Mossy Cobblestone Slab") +S("Stone Brick Stair") +S("Inner Stone Brick Stair") +S("Outer Stone Brick Stair") +S("Stone Brick Slab") +S("Stone Block Stair") +S("Inner Stone Block Stair") +S("Outer Stone Block Stair") +S("Stone Block Slab") +S("Desert Stone Stair") +S("Inner Desert Stone Stair") +S("Outer Desert Stone Stair") +S("Desert Stone Slab") +S("Desert Cobblestone Stair") +S("Inner Desert Cobblestone Stair") +S("Outer Desert Cobblestone Stair") +S("Desert Cobblestone Slab") +S("Desert Stone Brick Stair") +S("Inner Desert Stone Brick Stair") +S("Outer Desert Stone Brick Stair") +S("Desert Stone Brick Slab") +S("Desert Stone Block Stair") +S("Inner Desert Stone Block Stair") +S("Outer Desert Stone Block Stair") +S("Desert Stone Block Slab") +S("Sandstone Stair") +S("Inner Sandstone Stair") +S("Outer Sandstone Stair") +S("Sandstone Slab") +S("Sandstone Brick Stair") +S("Inner Sandstone Brick Stair") +S("Outer Sandstone Brick Stair") +S("Sandstone Brick Slab") +S("Sandstone Block Stair") +S("Inner Sandstone Block Stair") +S("Outer Sandstone Block Stair") +S("Sandstone Block Slab") +S("Desert Sandstone Stair") +S("Inner Desert Sandstone Stair") +S("Outer Desert Sandstone Stair") +S("Desert Sandstone Slab") +S("Desert Sandstone Brick Stair") +S("Inner Desert Sandstone Brick Stair") +S("Outer Desert Sandstone Brick Stair") +S("Desert Sandstone Brick Slab") +S("Desert Sandstone Block Stair") +S("Inner Desert Sandstone Block Stair") +S("Outer Desert Sandstone Block Stair") +S("Desert Sandstone Block Slab") +S("Silver Sandstone Stair") +S("Inner Silver Sandstone Stair") +S("Outer Silver Sandstone Stair") +S("Silver Sandstone Slab") +S("Silver Sandstone Brick Stair") +S("Inner Silver Sandstone Brick Stair") +S("Outer Silver Sandstone Brick Stair") +S("Silver Sandstone Brick Slab") +S("Silver Sandstone Block Stair") +S("Inner Silver Sandstone Block Stair") +S("Outer Silver Sandstone Block Stair") +S("Silver Sandstone Block Slab") +S("Obsidian Stair") +S("Inner Obsidian Stair") +S("Outer Obsidian Stair") +S("Obsidian Slab") +S("Obsidian Brick Stair") +S("Inner Obsidian Brick Stair") +S("Outer Obsidian Brick Stair") +S("Obsidian Brick Slab") +S("Obsidian Block Stair") +S("Inner Obsidian Block Stair") +S("Outer Obsidian Block Stair") +S("Obsidian Block Slab") +S("Brick Stair") +S("Inner Brick Stair") +S("Outer Brick Stair") +S("Brick Slab") +S("Steel Block Stair") +S("Inner Steel Block Stair") +S("Outer Steel Block Stair") +S("Steel Block Slab") +S("Tin Block Stair") +S("Inner Tin Block Stair") +S("Outer Tin Block Stair") +S("Tin Block Slab") +S("Copper Block Stair") +S("Inner Copper Block Stair") +S("Outer Copper Block Stair") +S("Copper Block Slab") +S("Bronze Block Stair") +S("Inner Bronze Block Stair") +S("Outer Bronze Block Stair") +S("Bronze Block Slab") +S("Gold Block Stair") +S("Inner Gold Block Stair") +S("Outer Gold Block Stair") +S("Gold Block Slab") +S("Ice Stair") +S("Inner Ice Stair") +S("Outer Ice Stair") +S("Ice Slab") +S("Snow Block Stair") +S("Inner Snow Block Stair") +S("Outer Snow Block Stair") +S("Snow Block Slab") +--]] diff --git a/data/games/garage/mods/stairs/license.txt b/data/games/garage/mods/stairs/license.txt new file mode 100644 index 0000000..ec758cf --- /dev/null +++ b/data/games/garage/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 Game 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/data/games/garage/mods/stairs/locale/stairs.de.tr b/data/games/garage/mods/stairs/locale/stairs.de.tr new file mode 100644 index 0000000..beb4579 --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.de.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Glastreppe +Glass Slab=Glasplatte +Inner Glass Stair=Innere Glastreppe +Outer Glass Stair=Äußere Glastreppe +Obsidian Glass Stair=Obsidianglastreppe +Obsidian Glass Slab=Obsidianglasplatte +Inner Obsidian Glass Stair=Innere Obsidianglastreppe +Outer Obsidian Glass Stair=Äußere Obsidianglastreppe +Wooden Stair=Holztreppe +Inner Wooden Stair=Innere Holztreppe +Outer Wooden Stair=Äußere Holztreppe +Wooden Slab=Holzplatte +Jungle Wood Stair=Dschungelholztreppe +Inner Jungle Wood Stair=Innere Dschungelholztreppe +Outer Jungle Wood Stair=Äußere Dschungelholztreppe +Jungle Wood Slab=Dschungelholzplatte +Pine Wood Stair=Kiefernholztreppe +Inner Pine Wood Stair=Innere Kiefernholztreppe +Outer Pine Wood Stair=Äußere Kiefernholztreppe +Pine Wood Slab=Kiefernholzplatte +Acacia Wood Stair=Akazienholztreppe +Inner Acacia Wood Stair=Innere Akazienholztreppe +Outer Acacia Wood Stair=Äußere Akazienholztreppe +Acacia Wood Slab=Akazienholzplatte +Aspen Wood Stair=Espenholztreppe +Inner Aspen Wood Stair=Innere Espenholztreppe +Outer Aspen Wood Stair=Äußere Espenholztreppe +Aspen Wood Slab=Espenholzplatte +Stone Stair=Steintreppe +Inner Stone Stair=Innere Steintreppe +Outer Stone Stair=Äußere Steintreppe +Stone Slab=Steinplatte +Cobblestone Stair=Kopfsteinpflastertreppe +Inner Cobblestone Stair=Innere Kopfsteinpflastertreppe +Outer Cobblestone Stair=Äußere Kopfsteinpflastertreppe +Cobblestone Slab=Kopfsteinpflasterplatte +Mossy Cobblestone Stair=Moosige Kopfsteinpflastertreppe +Inner Mossy Cobblestone Stair=Innere moosige Kopfsteinpflastertreppe +Outer Mossy Cobblestone Stair=Äußere moosige Kopfsteinpflastertreppe +Mossy Cobblestone Slab=Moosige Kopfsteinpflasterplatte +Stone Brick Stair=Steinziegeltreppe +Inner Stone Brick Stair=Innere Steinziegeltreppe +Outer Stone Brick Stair=Äußere Steinziegeltreppe +Stone Brick Slab=Steinziegelplatte +Stone Block Stair=Steinblocktreppe +Inner Stone Block Stair=Innere Steinblocktreppe +Outer Stone Block Stair=Äußere Steinblocktreppe +Stone Block Slab=Steinblockplatte +Desert Stone Stair=Wüstensteintreppe +Inner Desert Stone Stair=Innere Wüstensteintreppe +Outer Desert Stone Stair=Äußere Wüstensteintreppe +Desert Stone Slab=Wüstensteinplatte +Desert Cobblestone Stair=Wüstenkopfsteinpflastertreppe +Inner Desert Cobblestone Stair=Innere Wüstenkopfsteinpflastertreppe +Outer Desert Cobblestone Stair=Äußere Wüstenkopfsteinpflastertreppe +Desert Cobblestone Slab=Wüstenkopfsteinpflasterplatte +Desert Stone Brick Stair=Wüstensteinziegeltreppe +Inner Desert Stone Brick Stair=Innere Wüstensteinziegeltreppe +Outer Desert Stone Brick Stair=Äußere Wüstensteinziegeltreppe +Desert Stone Brick Slab=Wüstensteinziegelplatte +Desert Stone Block Stair=Wüstensteinblocktreppe +Inner Desert Stone Block Stair=Innere Wüstensteinblocktreppe +Outer Desert Stone Block Stair=Äußere Wüstensteinblocktreppe +Desert Stone Block Slab=Wüstensteinblockplatte +Sandstone Stair=Sandsteintreppe +Inner Sandstone Stair=Innere Sandsteintreppe +Outer Sandstone Stair=Äußere Sandsteintreppe +Sandstone Slab=Sandsteinplatte +Sandstone Brick Stair=Sandsteinziegeltreppe +Inner Sandstone Brick Stair=Innere Sandsteinziegeltreppe +Outer Sandstone Brick Stair=Äußere Sandsteinziegeltreppe +Sandstone Brick Slab=Sandsteinziegelplatte +Sandstone Block Stair=Sandsteinblocktreppe +Inner Sandstone Block Stair=Innere Sandsteinblocktreppe +Outer Sandstone Block Stair=Äußere Sandsteinblocktreppe +Sandstone Block Slab=Sandsteinblockplatte +Desert Sandstone Stair=Wüstensandsteintreppe +Inner Desert Sandstone Stair=Innere Wüstensandsteintreppe +Outer Desert Sandstone Stair=Äußere Wüstensandsteintreppe +Desert Sandstone Slab=Wüstensandsteinplatte +Desert Sandstone Brick Stair=Wüstensandsteinziegeltreppe +Inner Desert Sandstone Brick Stair=Innere Wüstensandsteinziegeltreppe +Outer Desert Sandstone Brick Stair=Äußere Wüstensandsteinziegeltreppe +Desert Sandstone Brick Slab=Wüstensandsteinziegelplatte +Desert Sandstone Block Stair=Wüstensandsteinblocktreppe +Inner Desert Sandstone Block Stair=Innere Wüstensandsteinblocktreppe +Outer Desert Sandstone Block Stair=Äußere Wüstensandsteinblocktreppe +Desert Sandstone Block Slab=Wüstensandsteinblockplatte +Silver Sandstone Stair=Silbersandsteintreppe +Inner Silver Sandstone Stair=Innere Silbersandsteintreppe +Outer Silver Sandstone Stair=Äußere Silbersandsteintreppe +Silver Sandstone Slab=Silbersandsteinplatte +Silver Sandstone Brick Stair=Silbersandsteinziegeltreppe +Inner Silver Sandstone Brick Stair=Innere Silbersandsteinziegeltreppe +Outer Silver Sandstone Brick Stair=Äußere Silbersandsteinziegeltreppe +Silver Sandstone Brick Slab=Silbersandsteinziegelplatte +Silver Sandstone Block Stair=Silbersandsteinblocktreppe +Inner Silver Sandstone Block Stair=Innere Silbersandsteinblocktreppe +Outer Silver Sandstone Block Stair=Äußere Silbersandsteinblocktreppe +Silver Sandstone Block Slab=Silbersandsteinblockplatte +Obsidian Stair=Obsidiantreppe +Inner Obsidian Stair=Innere Obsidiantreppe +Outer Obsidian Stair=Äußere Obsidiantreppe +Obsidian Slab=Obsidianplatte +Obsidian Brick Stair=Obsidianziegeltreppe +Inner Obsidian Brick Stair=Innere Obsidianziegeltreppe +Outer Obsidian Brick Stair=Äußere Obsidianziegeltreppe +Obsidian Brick Slab=Obsidianziegelplatte +Obsidian Block Stair=Obsidianblocktreppe +Inner Obsidian Block Stair=Innere Obsidianblocktreppe +Outer Obsidian Block Stair=Äußere Obsidianblocktreppe +Obsidian Block Slab=Obsidianblockplatte +Brick Stair=Ziegeltreppe +Inner Brick Stair=Innere Ziegeltreppe +Outer Brick Stair=Äußere Ziegeltreppe +Brick Slab=Ziegelplatte +Steel Block Stair=Stahlblocktreppe +Inner Steel Block Stair=Innere Stahlblocktreppe +Outer Steel Block Stair=Äußere Stahlblocktreppe +Steel Block Slab=Stahlblockplatte +Tin Block Stair=Zinnblocktreppe +Inner Tin Block Stair=Innere Zinnblocktreppe +Outer Tin Block Stair=Äußere Zinnblocktreppe +Tin Block Slab=Zinnblockplatte +Copper Block Stair=Kupferblocktreppe +Inner Copper Block Stair=Innere Kupferblocktreppe +Outer Copper Block Stair=Äußere Kupferblocktreppe +Copper Block Slab=Kupferblockplatte +Bronze Block Stair=Bronzeblocktreppe +Inner Bronze Block Stair=Innere Bronzeblocktreppe +Outer Bronze Block Stair=Äußere Bronzeblocktreppe +Bronze Block Slab=Bronzeblockplatte +Gold Block Stair=Goldblocktreppe +Inner Gold Block Stair=Innere Goldblocktreppe +Outer Gold Block Stair=Äußere Goldblocktreppe +Gold Block Slab=Goldblockplatte +Ice Stair=Eistreppe +Inner Ice Stair=Innere Eistreppe +Outer Ice Stair=Äußere Eistreppe +Ice Slab=Eisplatte +Snow Block Stair=Schneeblocktreppe +Inner Snow Block Stair=Innere Schneeblocktreppe +Outer Snow Block Stair=Äußere Schneeblocktreppe +Snow Block Slab=Schneeblockplatte diff --git a/data/games/garage/mods/stairs/locale/stairs.eo.tr b/data/games/garage/mods/stairs/locale/stairs.eo.tr new file mode 100644 index 0000000..f018dc9 --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.eo.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Vitra ŝtupo +Glass Slab=Vitra plato +Inner Glass Stair=Interna vitra ŝtupo +Outer Glass Stair=Ekstera vitra ŝtupo +Obsidian Glass Stair=Obsidiana vitra ŝtupo +Obsidian Glass Slab=Obsidiana vitra plato +Inner Obsidian Glass Stair=Interna obsidiana vitra ŝtupo +Outer Obsidian Glass Stair=Ekstera obsidiana vitra ŝtupo +Wooden Stair=Ligna ŝtupo +Inner Wooden Stair=Interna ligna ŝtupo +Outer Wooden Stair=Ekstera ligna ŝtupo +Wooden Slab=Ligna plato +Jungle Wood Stair=Ĝangala ligna ŝtupo +Inner Jungle Wood Stair=Interna ĝangala ligna ŝtupo +Outer Jungle Wood Stair=Ekstera ĝangala ligna ŝtupo +Jungle Wood Slab=Ĝangala ligna plato +Pine Wood Stair=Pina ligna ŝtupo +Inner Pine Wood Stair=Interna pina ligna ŝtupo +Outer Pine Wood Stair=Ekstera pina ligna ŝtupo +Pine Wood Slab=Pina ligna plato +Acacia Wood Stair=Akacia ligna ŝtupo +Inner Acacia Wood Stair=Interna akacia ligna ŝtupo +Outer Acacia Wood Stair=Ekstera akacia ligna ŝtupo +Acacia Wood Slab=Akacia ligna plato +Aspen Wood Stair=Tremola ligna ŝtupo +Inner Aspen Wood Stair=Interna tremola ligna ŝtupo +Outer Aspen Wood Stair=Ekstera tremola ligna ŝtupo +Aspen Wood Slab=Tremola ligna plato +Stone Stair=Ŝtona ŝtupo +Inner Stone Stair=Interna ŝtona ŝtupo +Outer Stone Stair=Ekstera ŝtona ŝtupo +Stone Slab=Ŝtona plato +Cobblestone Stair=Pavimŝtona ŝtupo +Inner Cobblestone Stair=Interna pavimŝtona ŝtupo +Outer Cobblestone Stair=Ekstera pavimŝtona ŝtupo +Cobblestone Slab=Pavimŝtona plato +Mossy Cobblestone Stair=Muska pavimŝtona ŝtupo +Inner Mossy Cobblestone Stair=Interna muska pavimŝtona ŝtupo +Outer Mossy Cobblestone Stair=Ekstera muska pavimŝtona ŝtupo +Mossy Cobblestone Slab=Muska pavimŝtona plato +Stone Brick Stair=Ŝtona brika ŝtupo +Inner Stone Brick Stair=Interna ŝtona brika ŝtupo +Outer Stone Brick Stair=Ekstera ŝtona brika ŝtupo +Stone Brick Slab=Ŝtona brika plato +Stone Block Stair=Ŝtona ŝtipa ŝtupo +Inner Stone Block Stair=Interna ŝtona ŝtipa ŝtupo +Outer Stone Block Stair=Ekstera ŝtona ŝtipa ŝtupo +Stone Block Slab=Ŝtona ŝtipa plato +Desert Stone Stair=Dezerta ŝtona ŝtupo +Inner Desert Stone Stair=Interna dezerta ŝtona ŝtupo +Outer Desert Stone Stair=Ekstera dezerta ŝtona ŝtupo +Desert Stone Slab=Dezerta ŝtona plato +Desert Cobblestone Stair=Dezerta pavimŝtona ŝtupo +Inner Desert Cobblestone Stair=Interna dezerta pavimŝtona ŝtupo +Outer Desert Cobblestone Stair=Ekstera dezerta pavimŝtona ŝtupo +Desert Cobblestone Slab=Dezerta pavimŝtona plato +Desert Stone Brick Stair=Dezerta ŝtona brika ŝtupo +Inner Desert Stone Brick Stair=Interna dezerta ŝtona brika ŝtupo +Outer Desert Stone Brick Stair=Ekstera dezerta ŝtona brika ŝtupo +Desert Stone Brick Slab=Dezerta ŝtona brika plato +Desert Stone Block Stair=Dezerta ŝtona bloko ŝtupo +Inner Desert Stone Block Stair=Interna dezerta ŝtona bloko ŝtupo +Outer Desert Stone Block Stair=Ekstera dezerta ŝtona bloko ŝtupo +Desert Stone Block Slab=Dezerta ŝtona bloko plato +Sandstone Stair=Sablŝtona ŝtupo +Inner Sandstone Stair=Interna ŝablŝtona ŝtupo +Outer Sandstone Stair=Ekstera ŝablŝtona ŝtupo +Sandstone Slab=Ŝablŝtona plato +Sandstone Brick Stair=Ŝablŝtona brika ŝtupo +Inner Sandstone Brick Stair=Interna ŝablŝtona brika ŝtupo +Outer Sandstone Brick Stair=Ekstera ŝablŝtona brika ŝtupo +Sandstone Brick Slab=Ŝablŝtona brika plato +Sandstone Block Stair=Ŝablŝtona ŝtipa ŝtupo +Inner Sandstone Block Stair=Interna ŝablŝtona ŝtipa ŝtupo +Outer Sandstone Block Stair=Ekstera ŝablŝtona ŝtipa ŝtupo +Sandstone Block Slab=Ŝablŝtona ŝtipa plato +Desert Sandstone Stair=Dezerta ŝablŝtona ŝtupo +Inner Desert Sandstone Stair=Interna dezerta ŝablŝtona ŝtupo +Outer Desert Sandstone Stair=Ekstera dezerta ŝablŝtona ŝtupo +Desert Sandstone Slab=Dezerta ŝablŝtona plato +Desert Sandstone Brick Stair=Dezerta ŝablŝtona brika ŝtupo +Inner Desert Sandstone Brick Stair=Interna dezerta ŝablŝtona brika ŝtupo +Outer Desert Sandstone Brick Stair=Ekstera dezerta ŝablŝtona brika ŝtupo +Desert Sandstone Brick Slab=Dezerta ŝablŝtona brika plato +Desert Sandstone Block Stair=Dezerta ŝablŝtona ŝtipa ŝtupo +Inner Desert Sandstone Block Stair=Interna dezerta ŝablŝtona brika ŝtupo +Outer Desert Sandstone Block Stair=Ekstera dezerta ŝablŝtona brika ŝtupo +Desert Sandstone Block Slab=Dezerta ŝablŝtona ŝtipa plato +Silver Sandstone Stair=Arĝenta ŝablŝtona ŝtupo +Inner Silver Sandstone Stair=Interna arĝenta ŝablŝtona ŝtupo +Outer Silver Sandstone Stair=Ekstera arĝenta ŝablŝtona ŝtupo +Silver Sandstone Slab=Arĝenta ŝablŝtona plato +Silver Sandstone Brick Stair=Arĝenta ŝablŝtona brika ŝtupo +Inner Silver Sandstone Brick Stair=Interna arĝenta ŝablŝtona brika ŝtupo +Outer Silver Sandstone Brick Stair=Ekstera arĝenta ŝablŝtona brika ŝtupo +Silver Sandstone Brick Slab=Arĝenta ŝablŝtona brika plato +Silver Sandstone Block Stair=Arĝenta ŝablŝtona ŝtipa ŝtupo +Inner Silver Sandstone Block Stair=Interna arĝenta ŝablŝtona ŝtipa ŝtupo +Outer Silver Sandstone Block Stair=Ekstera arĝenta ŝablŝtona ŝtipa ŝtupo +Silver Sandstone Block Slab=Arĝenta ŝablŝtona ŝtipa plato +Obsidian Stair=Obsidiana ŝtupo +Inner Obsidian Stair=Interna obsidiana ŝtupo +Outer Obsidian Stair=Ekstera obsidiana ŝtupo +Obsidian Slab=Obsidiana plato +Obsidian Brick Stair=Obsidiana brika ŝtupo +Inner Obsidian Brick Stair=Interna obsidiana brika ŝtupo +Outer Obsidian Brick Stair=Ekstera obsidiana brika ŝtupo +Obsidian Brick Slab=Obsidiana brika plato +Obsidian Block Stair=Obsidiana ŝtipa ŝtupo +Inner Obsidian Block Stair=Interna obsidiana ŝtipa ŝtupo +Outer Obsidian Block Stair=Ekstera obsidiana ŝtipa ŝtupo +Obsidian Block Slab=Obsidiana ŝtipa plato +Brick Stair=Brika ŝtupo +Inner Brick Stair=Interna brika ŝtupo +Outer Brick Stair=Ekstera brika ŝtupo +Brick Slab=Brika plato +Steel Block Stair=Ŝtala ŝtipa ŝtupo +Inner Steel Block Stair=Interna ŝtala ŝtipa ŝtupo +Outer Steel Block Stair=Ekstera ŝtala ŝtipa ŝtupo +Steel Block Slab=Ŝtala ŝtipa plato +Tin Block Stair=Stana ŝtipa ŝtupo +Inner Tin Block Stair=Interna stana ŝtipa ŝtupo +Outer Tin Block Stair=Ekstera stana ŝtipa ŝtupo +Tin Block Slab=Stana ŝtipa plato +Copper Block Stair=Kupra ŝtipa ŝtupo +Inner Copper Block Stair=Interna kupra ŝtipa ŝtupo +Outer Copper Block Stair=Ekstera kupra ŝtipa ŝtupo +Copper Block Slab=Kupra ŝtipa plato +Bronze Block Stair=Bronza ŝtipa ŝtupo +Inner Bronze Block Stair=Interna bronza ŝtipa ŝtupo +Outer Bronze Block Stair=Ekstera bronza ŝtipa ŝtupo +Bronze Block Slab=Bronza ŝtipa plato +Gold Block Stair=Ora ŝtipa ŝtupo +Inner Gold Block Stair=Interna ora ŝtipa ŝtupo +Outer Gold Block Stair=Ekstera ora ŝtipa ŝtupo +Gold Block Slab=Ora ŝtipa plato +Ice Stair=Glacia ŝtupo +Inner Ice Stair=Interna glacia ŝtupo +Outer Ice Stair=Ekstera glacia ŝtupo +Ice Slab=Glacia plato +Snow Block Stair=Neĝa ŝtipa ŝtupo +Inner Snow Block Stair=Interna neĝa ŝtipa ŝtupo +Outer Snow Block Stair=Ekstera neĝa ŝtipa ŝtupo +Snow Block Slab=Neĝa ŝtipa plato diff --git a/data/games/garage/mods/stairs/locale/stairs.es.tr b/data/games/garage/mods/stairs/locale/stairs.es.tr new file mode 100644 index 0000000..374540c --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.es.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Escalera de vidrio +Glass Slab=Losa de vidrio +Inner Glass Stair=Escalera interior de vidrio +Outer Glass Stair=Escalera exterior de vidrio +Obsidian Glass Stair=Escalera de vidrio de obsidiana +Obsidian Glass Slab=Losa de vidrio de obsidiana +Inner Obsidian Glass Stair=Escalera interior de vidrio de obsidiana +Outer Obsidian Glass Stair=Escalera exterior de vidrio de obsidiana +Wooden Stair=Escalera de madera +Inner Wooden Stair=Escalera interior de madera +Outer Wooden Stair=Escalera exterior de madera +Wooden Slab=Losa de madera +Jungle Wood Stair=Escalera de madera tropical +Inner Jungle Wood Stair=Escalera interior de madera tropical +Outer Jungle Wood Stair=Escalera exterior de madera tropical +Jungle Wood Slab=Losa de madera tropical +Pine Wood Stair=Escalera de pino +Inner Pine Wood Stair=Escalera interior de pino +Outer Pine Wood Stair=Escalera exterior de pino +Pine Wood Slab=Losa de pino +Acacia Wood Stair=Escalera de acacia +Inner Acacia Wood Stair=Escalera interior de acacia +Outer Acacia Wood Stair=Escalera exterior de acacia +Acacia Wood Slab=Losa de acacia +Aspen Wood Stair=Escalera de álamo +Inner Aspen Wood Stair=Escalera interior de álamo +Outer Aspen Wood Stair=Escalera exterior de álamo +Aspen Wood Slab=Losa de álamo +Stone Stair=Escalera de piedra +Inner Stone Stair=Escalera interior de piedra +Outer Stone Stair=Escalera exterior de piedra +Stone Slab=Losa de piedra +Cobblestone Stair=Escalera de adoquines +Inner Cobblestone Stair=Escalera interior de adoquines +Outer Cobblestone Stair=Escalera exterior de adoquines +Cobblestone Slab=Losa de adoquines +Mossy Cobblestone Stair=Escalera de adoquines musgosos +Inner Mossy Cobblestone Stair=Escalera interior de adoquines musgosos +Outer Mossy Cobblestone Stair=Escalera exterior de adoquines musgosos +Mossy Cobblestone Slab=Losa de adoquines musgosos +Stone Brick Stair=Escalera de ladrillos de piedra +Inner Stone Brick Stair=Escalera interior de ladrillos de piedra +Outer Stone Brick Stair=Escalera exterior de ladrillos de piedra +Stone Brick Slab=Losa de ladrillos de piedra +Stone Block Stair=Escalera de bloques de piedra +Inner Stone Block Stair=Escalera interior de bloques de piedra +Outer Stone Block Stair=Escalera exterior de bloques de piedra +Stone Block Slab=Losa de bloques de piedra +Desert Stone Stair=Escalera de piedra desértica +Inner Desert Stone Stair=Escalera interior de piedra desértica +Outer Desert Stone Stair=Escalera exterior de piedra desértica +Desert Stone Slab=Losa de piedra desértica +Desert Cobblestone Stair=Escalera de adoquines desérticos +Inner Desert Cobblestone Stair=Escalera interior de adoquines desérticos +Outer Desert Cobblestone Stair=Escalera exterior de adoquines desérticos +Desert Cobblestone Slab=Losa de adoquines desérticos +Desert Stone Brick Stair=Escalera de ladrillos desérticos +Inner Desert Stone Brick Stair=Escalera interior de ladrillos desérticos +Outer Desert Stone Brick Stair=Escalera exterior de ladrillos desérticos +Desert Stone Brick Slab=Losa de ladrillos desérticos +Desert Stone Block Stair=Escalera de bloques de piedra desértica +Inner Desert Stone Block Stair=Escalera interior de bloques de piedra desértica +Outer Desert Stone Block Stair=Escalera exterior de bloques de piedra desértica +Desert Stone Block Slab=Losa de bloques de piedra desértica +Sandstone Stair=Escalera de arenisca +Inner Sandstone Stair=Escalera interior de arenisca +Outer Sandstone Stair=Escalera exterior de arenisca +Sandstone Slab=Losa de arenisca +Sandstone Brick Stair=Escalera de ladrillos de arenisca +Inner Sandstone Brick Stair=Escalera interior de ladrillos de arenisca +Outer Sandstone Brick Stair=Escalera exterior de ladrillos de arenisca +Sandstone Brick Slab=Losa de ladrillos de arenisca +Sandstone Block Stair=Escalera de bloques de arenisca +Inner Sandstone Block Stair=Escalera interior de bloques de arenisca +Outer Sandstone Block Stair=Escalera exterior de bloques de arenisca +Sandstone Block Slab=Losa de bloques de arenisca +Desert Sandstone Stair=Escalera de arenisca desértica +Inner Desert Sandstone Stair=Escalera interior de arenisca desértica +Outer Desert Sandstone Stair=Escalera exterior de arenisca desértica +Desert Sandstone Slab=Losa de arenisca desértica +Desert Sandstone Brick Stair=Escalera de ladrillos de arenisca desértica +Inner Desert Sandstone Brick Stair=Escalera interior de ladrillos de arenisca desértica +Outer Desert Sandstone Brick Stair=Escalera exterior de ladrillos de arenisca desértica +Desert Sandstone Brick Slab=Losa de ladrillos de arenisca desértica +Desert Sandstone Block Stair=Escalera de bloques de arenisca desértica +Inner Desert Sandstone Block Stair=Escalera interior de bloques de arenisca desértica +Outer Desert Sandstone Block Stair=Escalera exterior de bloques de arenisca desértica +Desert Sandstone Block Slab=Losa de bloques de arenisca desértica +Silver Sandstone Stair=Escalera de arenisca plateada +Inner Silver Sandstone Stair=Escalera interior de arenisca plateada +Outer Silver Sandstone Stair=Escalera exterior de arenisca plateada +Silver Sandstone Slab=Losa de arenisca plateada +Silver Sandstone Brick Stair=Escalera de ladrillos de arenisca plateada +Inner Silver Sandstone Brick Stair=Escalera interior de ladrillos de arenisca plateada +Outer Silver Sandstone Brick Stair=Escalera exterior de ladrillos de arenisca plateada +Silver Sandstone Brick Slab=Losa de ladrillos de arenisca plateada +Silver Sandstone Block Stair=Escalera de bloques de arenisca plateada +Inner Silver Sandstone Block Stair=Escalera interior de bloques de arenisca plateada +Outer Silver Sandstone Block Stair=Escalera exterior de bloques de arenisca plateada +Silver Sandstone Block Slab=Losa de bloques de arenisca plateada +Obsidian Stair=Escalera de obsidiana +Inner Obsidian Stair=Escalera interior de obsidiana +Outer Obsidian Stair=Escalera exterior de obsidiana +Obsidian Slab=Losa de obsidiana +Obsidian Brick Stair=Escalera de ladrillos de obsidiana +Inner Obsidian Brick Stair=Escalera interior de ladrillos de obsidiana +Outer Obsidian Brick Stair=Escalera exterior de ladrillos de obsidiana +Obsidian Brick Slab=Losa de ladrillos de obsidiana +Obsidian Block Stair=Escalera de bloques de obsidiana +Inner Obsidian Block Stair=Escalera interior de bloques de obsidiana +Outer Obsidian Block Stair=Escalera exterior de bloques de obsidiana +Obsidian Block Slab=Losa de bloques de obsidiana +Brick Stair=Escalera de ladrillos +Inner Brick Stair=Escalera interior de ladrillos +Outer Brick Stair=Escalera exterior de ladrillos +Brick Slab=Losa de ladrillos +Steel Block Stair=Escalera de acero +Inner Steel Block Stair=Escalera interior de acero +Outer Steel Block Stair=Escalera exterior de acero +Steel Block Slab=Losa de acero +Tin Block Stair=Escalera de estaño +Inner Tin Block Stair=Escalera interior de estaño +Outer Tin Block Stair=Escalera exterior de estaño +Tin Block Slab=Losa de estaño +Copper Block Stair=Escalera de cobre +Inner Copper Block Stair=Escalera interior de cobre +Outer Copper Block Stair=Escalera exterior de cobre +Copper Block Slab=Losa de cobre +Bronze Block Stair=Escalera de bronce +Inner Bronze Block Stair=Escalera interior de bronce +Outer Bronze Block Stair=Escalera exterior de bronce +Bronze Block Slab=Losa de bronce +Gold Block Stair=Escalera de oro +Inner Gold Block Stair=Escalera interior de oro +Outer Gold Block Stair=Escalera exterior de oro +Gold Block Slab=Losa de oro +Ice Stair=Escalera de hielo +Inner Ice Stair=Escalera interior de hielo +Outer Ice Stair=Escalera exterior de hielo +Ice Slab=Losa de hielo +Snow Block Stair=Escalera de nieve +Inner Snow Block Stair=Escalera interior de nieve +Outer Snow Block Stair=Escalera exterior de nieve +Snow Block Slab=Losa de nieve diff --git a/data/games/garage/mods/stairs/locale/stairs.fr.tr b/data/games/garage/mods/stairs/locale/stairs.fr.tr new file mode 100644 index 0000000..81b575e --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.fr.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Escalier de verre +Glass Slab=Dalle de verre +Inner Glass Stair=Escalier intérieur de verre +Outer Glass Stair=Escalier extérieur de verre +Obsidian Glass Stair=Escalier de verre d'obsidienne +Obsidian Glass Slab=Dalle de verre d'obsidienne +Inner Obsidian Glass Stair=Escalier intérieur de verre d'obsidienne +Outer Obsidian Glass Stair=Escalier extérieur de verre d'obsidienne +Wooden Stair=Escalier en bois +Inner Wooden Stair=Escalier intérieur en bois +Outer Wooden Stair=Escalier extérieur en bois +Wooden Slab=Dalle de bois +Jungle Wood Stair=Escalier en bois de la jungle +Inner Jungle Wood Stair=Escalier intérieur en bois de la jungle +Outer Jungle Wood Stair=Escalier extérieur en bois de la jungle +Jungle Wood Slab=Dalle en bois de la jungle +Pine Wood Stair=Escalier en pin +Inner Pine Wood Stair=Escalier intérieur en pin +Outer Pine Wood Stair=Escalier extérieur en pin +Pine Wood Slab=Dalle en pin +Acacia Wood Stair=Escalier en acacia +Inner Acacia Wood Stair=Escalier intérieur en acacia +Outer Acacia Wood Stair=Escalier extérieur en acacia +Acacia Wood Slab=Dalle en acacia +Aspen Wood Stair=Escalier en tremble +Inner Aspen Wood Stair=Escalier intérieur en tremble +Outer Aspen Wood Stair=Escalier extérieur en tremble +Aspen Wood Slab=Dalle en tremble +Stone Stair=Escalier de pierre +Inner Stone Stair=Escalier intérieur de pierre +Outer Stone Stair=Escalier extérieur de pierre +Stone Slab=Dalle de pierre +Cobblestone Stair=Escalier en pavé +Inner Cobblestone Stair=Escalier intérieur en pavé +Outer Cobblestone Stair=Escalier extérieur en pavé +Cobblestone Slab=Dalle en pavé +Mossy Cobblestone Stair=Escalier en pavé moussu +Inner Mossy Cobblestone Stair=Escalier intérieur en pavé moussu +Outer Mossy Cobblestone Stair=Escalier extérieur en pavé moussu +Mossy Cobblestone Slab=Dalle en pavé moussu +Stone Brick Stair=Escalier en brique de pierre +Inner Stone Brick Stair=Escalier intérieur en brique de pierre +Outer Stone Brick Stair=Escalier extérieur en brique de pierre +Stone Brick Slab=Dalle en brique de pierre +Stone Block Stair=Escalier en bloc de pierre +Inner Stone Block Stair=Escalier intérieur en bloc de pierre +Outer Stone Block Stair=Escalier extérieur en bloc de pierre +Stone Block Slab=Dalle en bloc de pierre +Desert Stone Stair=Escalier en pierre du désert +Inner Desert Stone Stair=Escalier intérieur en pierre du désert +Outer Desert Stone Stair=Escalier extérieur en pierre du désert +Desert Stone Slab=Dalle en pierre du désert +Desert Cobblestone Stair=Escalier en pavé du désert +Inner Desert Cobblestone Stair=Escalier intérieur en pavé du désert +Outer Desert Cobblestone Stair=Escalier extérieur en pavé du désert +Desert Cobblestone Slab=Dalle en pavé du désert +Desert Stone Brick Stair=Escalier en brique de pierre du désert +Inner Desert Stone Brick Stair=Escalier intérieur en brique de pierre du désert +Outer Desert Stone Brick Stair=Escalier extérieur en brique de pierre du désert +Desert Stone Brick Slab=Dalle en brique de pierre du désert +Desert Stone Block Stair=Escalier en bloc de pierre du désert +Inner Desert Stone Block Stair=Escalier intérieur en bloc de pierre du désert +Outer Desert Stone Block Stair=Escalier extérieur en bloc de pierre du désert +Desert Stone Block Slab=Dalle en bloc de pierre du désert +Sandstone Stair=Escalier en grès +Inner Sandstone Stair=Escalier intérieur en grès +Outer Sandstone Stair=Escalier extérieur en grès +Sandstone Slab=Dalle en grès +Sandstone Brick Stair=Escalier en brique de grès +Inner Sandstone Brick Stair=Escalier intérieur en brique de grès +Outer Sandstone Brick Stair=Escalier extérieur en brique de grès +Sandstone Brick Slab=Dalle en brique de grès +Sandstone Block Stair=Escalier en bloc de grès +Inner Sandstone Block Stair=Escalier intérieur en bloc de grès +Outer Sandstone Block Stair=Escalier extérieur en bloc de grès +Sandstone Block Slab=Dalle en bloc de grès +Desert Sandstone Stair=Escalier en grès du désert +Inner Desert Sandstone Stair=Escalier intérieur en grès du désert +Outer Desert Sandstone Stair=Escalier extérieur en grès du désert +Desert Sandstone Slab=Dalle en grès du désert +Desert Sandstone Brick Stair=Escalier en brique de grès du désert +Inner Desert Sandstone Brick Stair=Escalier intérieur en brique de grès du désert +Outer Desert Sandstone Brick Stair=Escalier extérieur en brique de grès du désert +Desert Sandstone Brick Slab=Dalle en brique de grès du désert +Desert Sandstone Block Stair=Escalier en bloc de grès du désert +Inner Desert Sandstone Block Stair=Escalier intérieur en bloc de grès du désert +Outer Desert Sandstone Block Stair=Escalier extérieur en bloc de grès du désert +Desert Sandstone Block Slab=Dalle en bloc de grès du désert +Silver Sandstone Stair=Escalier en grès argenté +Inner Silver Sandstone Stair=Escalier intérieur en grès argenté +Outer Silver Sandstone Stair=Escalier extérieur en grès argenté +Silver Sandstone Slab=Dalle en grès argenté +Silver Sandstone Brick Stair=Escalier en brique de grès argenté +Inner Silver Sandstone Brick Stair=Escalier intérieur en brique de grès argenté +Outer Silver Sandstone Brick Stair=Escalier extérieur en brique de grès argenté +Silver Sandstone Brick Slab=Dalle en brique de grès argenté +Silver Sandstone Block Stair=Escalier en bloc de grès argenté +Inner Silver Sandstone Block Stair=Escalier intérieur en bloc de grès argenté +Outer Silver Sandstone Block Stair=Escalier extérieur en bloc de grès argenté +Silver Sandstone Block Slab=Dalle en bloc de grès argenté +Obsidian Stair=Escalier en obsidienne +Inner Obsidian Stair=Escalier intérieur en obsidienne +Outer Obsidian Stair=Escalier extérieur en obsidienne +Obsidian Slab=Dalle en obsidienne +Obsidian Brick Stair=Escalier en brique d'obsidienne +Inner Obsidian Brick Stair=Escalier intérieur en brique d'obsidienne +Outer Obsidian Brick Stair=Escalier extérieur en brique d'obsidienne +Obsidian Brick Slab=Dalle en brique d'obsidienne +Obsidian Block Stair=Escalier en bloc d'obsidienne +Inner Obsidian Block Stair=Escalier intérieur en bloc d'obsidienne +Outer Obsidian Block Stair=Escalier extérieur en bloc d'obsidienne +Obsidian Block Slab=Dalle en bloc d'obsidienne +Brick Stair=Escalier en brique +Inner Brick Stair=Escalier intérieur en brique +Outer Brick Stair=Escalier extérieur en brique +Brick Slab=Dalle en brique +Steel Block Stair=Escalier en acier +Inner Steel Block Stair=Escalier intérieur en acier +Outer Steel Block Stair=Escalier extérieur en acier +Steel Block Slab=Dalle en acier +Tin Block Stair=Escalier en bloc d'étain +Inner Tin Block Stair=Escalier intérieur en bloc d'étain +Outer Tin Block Stair=Escalier extérieur en bloc d'étain +Tin Block Slab=Dalle en bloc d'étain +Copper Block Stair=Escalier en bloc de cuivre +Inner Copper Block Stair=Escalier intérieur en bloc de cuivre +Outer Copper Block Stair=Escalier extérieur en bloc de cuivre +Copper Block Slab=Dalle en bloc de cuivre +Bronze Block Stair=Escalier en bronze +Inner Bronze Block Stair=Escalier intérieur en bronze +Outer Bronze Block Stair=Escalier extérieur en bronze +Bronze Block Slab=Dalle en bronze +Gold Block Stair=Escalier en bloc d'or +Inner Gold Block Stair=Escalier intérieur en bloc d'or +Outer Gold Block Stair=Escalier extérieur en bloc d'or +Gold Block Slab=Dalle en bloc d'or +Ice Stair=Escalier de glace +Inner Ice Stair=Escalier intérieur de glace +Outer Ice Stair=Escalier extérieur de glace +Ice Slab=Dalle de glace +Snow Block Stair=Escalier en bloc de neige +Inner Snow Block Stair=Escalier intérieur en bloc de neige +Outer Snow Block Stair=Escalier extérieur en bloc de neige +Snow Block Slab=Dalle en bloc de neige diff --git a/data/games/garage/mods/stairs/locale/stairs.id.tr b/data/games/garage/mods/stairs/locale/stairs.id.tr new file mode 100644 index 0000000..dbdfaa0 --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.id.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Tangga Kaca +Glass Slab=Lempengan Kaca +Inner Glass Stair=Tangga Kaca Dalam +Outer Glass Stair=Tangga Kaca Luar +Obsidian Glass Stair=Tangga Kaca Obsidian +Obsidian Glass Slab=Lempengan Kaca Obsidian +Inner Obsidian Glass Stair=Tangga Kaca Obsidian Dalam +Outer Obsidian Glass Stair=Tangga Kaca Obsidian Luar +Wooden Stair=Tangga Kayu +Inner Wooden Stair=Tangga Kayu Dalam +Outer Wooden Stair=Tangga Kayu Luar +Wooden Slab=Lempengan Kayu +Jungle Wood Stair=Tangga Kayu Rimba +Inner Jungle Wood Stair=Tangga Kayu Rimba Dalam +Outer Jungle Wood Stair=Tangga Kayu Rimba Luar +Jungle Wood Slab=Lempengan Kayu Rimba +Pine Wood Stair=Tangga Kayu Pinus +Inner Pine Wood Stair=Tangga Kayu Pinus Dalam +Outer Pine Wood Stair=Tangga Kayu Pinus Luar +Pine Wood Slab=Lempengan Kayu Pinus +Acacia Wood Stair=Tangga Kayu Akasia +Inner Acacia Wood Stair=Tangga Kayu Akasia Dalam +Outer Acacia Wood Stair=Tangga Kayu Akasia Luar +Acacia Wood Slab=Lempengan Kayu Akasia +Aspen Wood Stair=Tangga Kayu Aspen +Inner Aspen Wood Stair=Tangga Kayu Aspen Dalam +Outer Aspen Wood Stair=Tangga Kayu Aspen Luar +Aspen Wood Slab=Lempengan Kayu Aspen +Stone Stair=Tangga Batu +Inner Stone Stair=Tangga Batu Dalam +Outer Stone Stair=Tangga Batu Luar +Stone Slab=Lempengan Batu +Cobblestone Stair=Tangga Bongkahan Batu +Inner Cobblestone Stair=Tangga Bongkahan Batu Dalam +Outer Cobblestone Stair=Tangga Bongkahan Batu Luar +Cobblestone Slab=Lempengan Bongkahan Batu +Mossy Cobblestone Stair=Tangga Bongkahan Batu Berlumut +Inner Mossy Cobblestone Stair=Tangga Bongkahan Batu Berlumut Dalam +Outer Mossy Cobblestone Stair=Tangga Bongkahan Batu Berlumut Luar +Mossy Cobblestone Slab=Lempengan Bongkahan Batu Berlumut +Stone Brick Stair=Tangga Tembok Batu +Inner Stone Brick Stair=Tangga Tembok Batu Dalam +Outer Stone Brick Stair=Tangga Tembok Batu Luar +Stone Brick Slab=Lempengan Tembok Batu +Stone Block Stair=Tangga Balok Batu +Inner Stone Block Stair=Tangga Balok Batu Dalam +Outer Stone Block Stair=Tangga Balok Batu Luar +Stone Block Slab=Lempengan Balok Batu +Desert Stone Stair=Tangga Batu Gurun +Inner Desert Stone Stair=Tangga Batu Gurun Dalam +Outer Desert Stone Stair=Tangga Batu Gurun Luar +Desert Stone Slab=Lempengan Batu Gurun +Desert Cobblestone Stair=Tangga Bongkahan Batu Gurun +Inner Desert Cobblestone Stair=Tangga Bongkahan Batu Gurun Dalam +Outer Desert Cobblestone Stair=Tangga Bongkahan Batu Gurun Luar +Desert Cobblestone Slab=Lempengan Bongkahan Batu Gurun +Desert Stone Brick Stair=Tangga Tembok Batu Gurun +Inner Desert Stone Brick Stair=Tangga Tembok Batu Gurun Dalam +Outer Desert Stone Brick Stair=Tangga Tembok Batu Gurun Luar +Desert Stone Brick Slab=Lempengan Tembok Batu Gurun +Desert Stone Block Stair=Tangga Balok Batu Gurun +Inner Desert Stone Block Stair=Tangga Balok Batu Gurun Dalam +Outer Desert Stone Block Stair=Tangga Balok Batu Gurun Luar +Desert Stone Block Slab=Lempengan Balok Batu Gurun +Sandstone Stair=Tangga Batu Pasir +Inner Sandstone Stair=Tangga Batu Pasir Dalam +Outer Sandstone Stair=Tangga Batu Pasir Luar +Sandstone Slab=Lempengan Batu Pasir +Sandstone Brick Stair=Tangga Tembok Batu Pasir +Inner Sandstone Brick Stair=Tangga Tembok Batu Pasir Dalam +Outer Sandstone Brick Stair=Tangga Tembok Batu Pasir Luar +Sandstone Brick Slab=Lempengan Tembok Batu Pasir +Sandstone Block Stair=Tangga Balok Batu Pasir +Inner Sandstone Block Stair=Tangga Balok Batu Pasir Dalam +Outer Sandstone Block Stair=Tangga Balok Batu Pasir Luar +Sandstone Block Slab=Lempengan Balok Batu Pasir +Desert Sandstone Stair=Tangga Batu Pasir Gurun +Inner Desert Sandstone Stair=Tangga Batu Pasir Gurun Dalam +Outer Desert Sandstone Stair=Tangga Batu Pasir Gurun Luar +Desert Sandstone Slab=Lempengan Batu Pasir Gurun +Desert Sandstone Brick Stair=Tangga Tembok Batu Pasir Gurun +Inner Desert Sandstone Brick Stair=Tangga Tembok Batu Pasir Gurun Dalam +Outer Desert Sandstone Brick Stair=Tangga Tembok Batu Pasir Gurun Luar +Desert Sandstone Brick Slab=Lempengan Tembok Batu Pasir Gurun +Desert Sandstone Block Stair=Tangga Balok Batu Pasir Gurun +Inner Desert Sandstone Block Stair=Tangga Balok Batu Pasir Gurun Dalam +Outer Desert Sandstone Block Stair=Tangga Balok Batu Pasir Gurun Luar +Desert Sandstone Block Slab=Lempengan Balok Batu Pasir Gurun +Silver Sandstone Stair=Tangga Batu Pasir Perak +Inner Silver Sandstone Stair=Tangga Batu Pasir Perak Dalam +Outer Silver Sandstone Stair=Tangga Batu Pasir Perak Luar +Silver Sandstone Slab=Lempengan Batu Pasir Perak +Silver Sandstone Brick Stair=Tangga Tembok Batu Pasir Perak +Inner Silver Sandstone Brick Stair=Tangga Tembok Batu Pasir Perak Dalam +Outer Silver Sandstone Brick Stair=Tangga Tembok Batu Pasir Perak Luar +Silver Sandstone Brick Slab=Lempengan Tembok Batu Pasir Perak +Silver Sandstone Block Stair=Tangga Balok Batu Pasir Perak +Inner Silver Sandstone Block Stair=Tangga Balok Batu Pasir Perak Dalam +Outer Silver Sandstone Block Stair=Tangga Balok Batu Pasir Perak Luar +Silver Sandstone Block Slab=Lempengan Balok Batu Pasir Perak +Obsidian Stair=Tangga Obsidian +Inner Obsidian Stair=Tangga Obsidian Dalam +Outer Obsidian Stair=Tangga Obsidian Luar +Obsidian Slab=Lempengan Obsidian +Obsidian Brick Stair=Tangga Tembok Obsidian +Inner Obsidian Brick Stair=Tangga Tembok Obsidian Dalam +Outer Obsidian Brick Stair=Tangga Tembok Obsidian Luar +Obsidian Brick Slab=Lempengan Tembok Obsidian +Obsidian Block Stair=Tangga Balok Obsidian +Inner Obsidian Block Stair=Tangga Balok Obsidian Dalam +Outer Obsidian Block Stair=Tangga Balok Obsidian Luar +Obsidian Block Slab=Lempengan Balok Obsidian +Brick Stair=Tangga Bata +Inner Brick Stair=Tangga Bata Dalam +Outer Brick Stair=Tangga Bata Luar +Brick Slab=Lempengan Bata +Steel Block Stair=Tangga Balok Baja +Inner Steel Block Stair=Tangga Balok Baja Dalam +Outer Steel Block Stair=Tangga Balok Baja Luar +Steel Block Slab=Lempengan Balok Baja +Tin Block Stair=Tangga Balok Timah +Inner Tin Block Stair=Tangga Balok Timah Dalam +Outer Tin Block Stair=Tangga Balok Timah Luar +Tin Block Slab=Lempengan Balok Timah +Copper Block Stair=Tangga Balok Tembaga +Inner Copper Block Stair=Tangga Balok Tembaga Dalam +Outer Copper Block Stair=Tangga Balok Tembaga Luar +Copper Block Slab=Lempengan Balok Tembaga +Bronze Block Stair=Tangga Balok Perunggu +Inner Bronze Block Stair=Tangga Balok Perunggu Dalam +Outer Bronze Block Stair=Tangga Balok Perunggu Luar +Bronze Block Slab=Lempengan Balok Perunggu +Gold Block Stair=Tangga Balok Emas +Inner Gold Block Stair=Tangga Balok Emas Dalam +Outer Gold Block Stair=Tangga Balok Emas Luar +Gold Block Slab=Lempengan Balok Emas +Ice Stair=Tangga Es +Inner Ice Stair=Tangga Es Dalam +Outer Ice Stair=Tangga Es Luar +Ice Slab=Lempengan Es +Snow Block Stair=Tangga Balok Salju +Inner Snow Block Stair=Tangga Balok Salju Dalam +Outer Snow Block Stair=Tangga Balok Salju Luar +Snow Block Slab=Lempengan Balok Salju diff --git a/data/games/garage/mods/stairs/locale/stairs.it.tr b/data/games/garage/mods/stairs/locale/stairs.it.tr new file mode 100644 index 0000000..16945ec --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.it.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Scala di vetro +Glass Slab=Lastra di vetro +Inner Glass Stair=Scala di vetro interna +Outer Glass Stair=Scala di vetro esterna +Obsidian Glass Stair=Scala di vetro d'ossidiana +Obsidian Glass Slab=Lastra di vetro d'ossidiana +Inner Obsidian Glass Stair=Scala di vetro d'ossidiana interna +Outer Obsidian Glass Stair=Scala di vetro d'ossidiana esterna +Wooden Stair=Scala di legno +Inner Wooden Stair=Scala di legno interna +Outer Wooden Stair=Scala di legno esterna +Wooden Slab=Lastra di legno +Jungle Wood Stair=Scala di legno della giungla +Inner Jungle Wood Stair=Scala di legno della giungla interna +Outer Jungle Wood Stair=Scala di legno della giungla esterna +Jungle Wood Slab=Lastra di legno della giungla +Pine Wood Stair=Scala di legno di pino +Inner Pine Wood Stair=Scala di legno di pino interna +Outer Pine Wood Stair=Scala di legno di pino esterna +Pine Wood Slab=Lastra di legno di pino +Acacia Wood Stair=Scala di legno d'acacia +Inner Acacia Wood Stair=Scala di legno d'acacia interna +Outer Acacia Wood Stair=Scala di legno d'acacia esterna +Acacia Wood Slab=Lastra di legno d'acacia +Aspen Wood Stair=Scala di legno di pioppo +Inner Aspen Wood Stair=Scala di legno di pioppo interna +Outer Aspen Wood Stair=Scala di legno di pioppo esterna +Aspen Wood Slab=Lastra di legno di pioppo +Stone Stair=Scala di pietra +Inner Stone Stair=Scala di pietra interna +Outer Stone Stair=Scala di pietra esterna +Stone Slab=Lastra di pietra +Cobblestone Stair=Scala di ciottoli +Inner Cobblestone Stair=Scala di ciottoli interna +Outer Cobblestone Stair=Scala di ciottoli esterna +Cobblestone Slab=Lastra di ciottoli +Mossy Cobblestone Stair=Scala di ciottoli muschiosi +Inner Mossy Cobblestone Stair=Scala di ciottoli muschiosi interna +Outer Mossy Cobblestone Stair=Scala di ciottoli muschiosi esterna +Mossy Cobblestone Slab=Lastra di ciottoli muschiosi +Stone Brick Stair=Scala di mattone di pietra +Inner Stone Brick Stair=Scala di mattone di pietra interna +Outer Stone Brick Stair=Scala di mattone di pietra esterna +Stone Brick Slab=Lastra di mattone di pietra +Stone Block Stair=Scala di blocco di pietra +Inner Stone Block Stair=Scala di blocco di pietra interna +Outer Stone Block Stair=Scala di blocco di pietra esterna +Stone Block Slab=Lastra di blocco di pietra +Desert Stone Stair=Scala di pietra del deserto +Inner Desert Stone Stair=Scala di pietra del deserto interna +Outer Desert Stone Stair=Scala di pietra del deserto esterna +Desert Stone Slab=Lastra di pietra del deserto +Desert Cobblestone Stair=Scala di ciottoli del deserto +Inner Desert Cobblestone Stair=Scala di ciottoli del deserto interna +Outer Desert Cobblestone Stair=Scala di ciottoli del deserto esterna +Desert Cobblestone Slab=Lastra di ciottoli del deserto +Desert Stone Brick Stair=Scala di mattone di pietra del deserto +Inner Desert Stone Brick Stair=Scala di mattone di pietra del deserto interna +Outer Desert Stone Brick Stair=Scala di mattone di pietra del deserto esterna +Desert Stone Brick Slab=Lastra di mattone di pietra del deserto +Desert Stone Block Stair=Scala di blocco di pietra del deserto +Inner Desert Stone Block Stair=Scala di blocco di pietra del deserto interna +Outer Desert Stone Block Stair=Scala di blocco di pietra del deserto esterna +Desert Stone Block Slab=Lastra di blocco di pietra del deserto +Sandstone Stair=Scala d'arenaria +Inner Sandstone Stair=Scala d'arenaria interna +Outer Sandstone Stair=Scala d'arenaria esterna +Sandstone Slab=Lastra d'arenaria +Sandstone Brick Stair=Scala di mattone d'arenaria +Inner Sandstone Brick Stair=Scala di mattone d'arenaria interna +Outer Sandstone Brick Stair=Scala di mattone d'arenaria esterna +Sandstone Brick Slab=Lastra di mattone d'arenaria +Sandstone Block Stair=Scala di blocco d'arenaria +Inner Sandstone Block Stair=Scala di blocco d'arenaria interna +Outer Sandstone Block Stair=Scala di blocco d'arenaria esterna +Sandstone Block Slab=Lastra di blocco d'arenaria +Desert Sandstone Stair=Scala d'arenaria del deserto +Inner Desert Sandstone Stair=Scala d'arenaria del deserto interna +Outer Desert Sandstone Stair=Scala d'arenaria del deserto esterna +Desert Sandstone Slab=Lastra d'arenaria del deserto +Desert Sandstone Brick Stair=Scala di mattone d'arenaria del deserto +Inner Desert Sandstone Brick Stair=Scala di mattone d'arenaria del deserto interna +Outer Desert Sandstone Brick Stair=Scala di mattone d'arenaria del deserto esterna +Desert Sandstone Brick Slab=Lastra di mattone d'arenaria del deserto +Desert Sandstone Block Stair=Scala di blocco d'arenaria del deserto +Inner Desert Sandstone Block Stair=Scala di blocco d'arenaria del deserto interna +Outer Desert Sandstone Block Stair=Scala di blocco d'arenaria del deserto esterna +Desert Sandstone Block Slab=Lastra di blocco d'arenaria del deserto +Silver Sandstone Stair=Scala d'arenaria argentata +Inner Silver Sandstone Stair=Scala d'arenaria argentata interna +Outer Silver Sandstone Stair=Scala d'arenaria argentata esterna +Silver Sandstone Slab=Lastra d'arenaria argentata +Silver Sandstone Brick Stair=Scala di mattone d'arenaria argentata +Inner Silver Sandstone Brick Stair=Scala di mattone d'arenaria argentata interna +Outer Silver Sandstone Brick Stair=Scala di mattone d'arenaria argentata esterna +Silver Sandstone Brick Slab=Lastra di mattone d'arenaria argentata +Silver Sandstone Block Stair=Scala di blocco d'arenaria argentata +Inner Silver Sandstone Block Stair=Scala di blocco d'arenaria argentata interna +Outer Silver Sandstone Block Stair=Scala di blocco d'arenaria argentata esterna +Silver Sandstone Block Slab=Lastra di blocco d'arenaria argentata +Obsidian Stair=Scala d'ossidiana +Inner Obsidian Stair=Scala d'ossidiana interna +Outer Obsidian Stair=Scala d'ossidiana esterna +Obsidian Slab=Lastra d'ossidiana +Obsidian Brick Stair=Scala di mattone d'ossidiana +Inner Obsidian Brick Stair=Scala di mattone d'ossidiana interna +Outer Obsidian Brick Stair=Scala di mattone d'ossidiana esterna +Obsidian Brick Slab=Lastra di mattone d'ossidiana +Obsidian Block Stair=Scala di blocco d'ossidiana +Inner Obsidian Block Stair=Scala di blocco d'ossidiana interna +Outer Obsidian Block Stair=Scala di blocco d'ossidiana esterna +Obsidian Block Slab=Lastra di blocco d'ossidiana +Brick Stair=Scala di mattone +Inner Brick Stair=Scala di mattone interna +Outer Brick Stair=Scala di mattone esterna +Brick Slab=Lastra di mattone +Steel Block Stair=Scala di blocco d'acciaio +Inner Steel Block Stair=Scala di blocco d'acciaio interna +Outer Steel Block Stair=Scala di blocco d'acciaio esterna +Steel Block Slab=Lastra di blocco d'acciaio +Tin Block Stair=Scala di blocco di stagno +Inner Tin Block Stair=Scala di blocco di stagno interna +Outer Tin Block Stair=Scala di blocco di stagno esterna +Tin Block Slab=Lastra di blocco di stagno +Copper Block Stair=Scala di blocco di rame +Inner Copper Block Stair=Scala di blocco di rame interna +Outer Copper Block Stair=Scala di blocco di rame esterna +Copper Block Slab=Lastra di blocco di rame +Bronze Block Stair=Scala di blocco di bronzo +Inner Bronze Block Stair=Scala di blocco di bronzo interna +Outer Bronze Block Stair=Scala di blocco di bronzo esterna +Bronze Block Slab=Lastra di blocco di bronzo +Gold Block Stair=Scala di blocco d'oro +Inner Gold Block Stair=Scala di blocco d'oro interna +Outer Gold Block Stair=Scala di blocco d'oro esterna +Gold Block Slab=Lastra di blocco d'oro +Ice Stair=Scala di ghiaccio +Inner Ice Stair=Scala di ghiaccio interna +Outer Ice Stair=Scala di ghiaccio esterna +Ice Slab=Lastra di ghiaccio +Snow Block Stair=Scala di blocco di neve +Inner Snow Block Stair=Scala di blocco di neve interna +Outer Snow Block Stair=Scala di blocco di neve esterna +Snow Block Slab=Lastra di blocco di neve diff --git a/data/games/garage/mods/stairs/locale/stairs.ja.tr b/data/games/garage/mods/stairs/locale/stairs.ja.tr new file mode 100644 index 0000000..02576cd --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.ja.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=ガラスの階段 +Glass Slab=ガラスの厚板 +Inner Glass Stair=ガラスの凹階段 +Outer Glass Stair=ガラスの凸階段 +Obsidian Glass Stair=黒曜石ガラスの階段 +Obsidian Glass Slab=黒曜石ガラスの厚板 +Inner Obsidian Glass Stair=黒曜石ガラスの凹階段 +Outer Obsidian Glass Stair=黒曜石ガラスの凸階段 +Wooden Stair=木製の階段 +Inner Wooden Stair=木製の凹階段 +Outer Wooden Stair=木製の凸階段 +Wooden Slab=木製の厚板 +Jungle Wood Stair=ジャングル材の階段 +Inner Jungle Wood Stair=ジャングル材の凹階段 +Outer Jungle Wood Stair=ジャングル材の凸階段 +Jungle Wood Slab=ジャングル材の厚板 +Pine Wood Stair=マツ材の階段 +Inner Pine Wood Stair=マツ材の凹階段 +Outer Pine Wood Stair=マツ材の凸階段 +Pine Wood Slab=マツ材の厚板 +Acacia Wood Stair=アカシア材の階段 +Inner Acacia Wood Stair=アカシア材の凹階段 +Outer Acacia Wood Stair=アカシア材の凸階段 +Acacia Wood Slab=アカシア材の厚板 +Aspen Wood Stair=ポプラ材の階段 +Inner Aspen Wood Stair=ポプラ材の凹階段 +Outer Aspen Wood Stair=ポプラ材の凸階段 +Aspen Wood Slab=ポプラ材の厚板 +Stone Stair=石の階段 +Inner Stone Stair=石の凹階段 +Outer Stone Stair=石の凸階段 +Stone Slab=石の厚板 +Cobblestone Stair=丸石の階段 +Inner Cobblestone Stair=丸石の凹階段 +Outer Cobblestone Stair=丸石の凸階段 +Cobblestone Slab=丸石の厚板 +Mossy Cobblestone Stair=苔むした丸石の階段 +Inner Mossy Cobblestone Stair=苔むした丸石の凹階段 +Outer Mossy Cobblestone Stair=苔むした丸石の凸階段 +Mossy Cobblestone Slab=苔むした丸石の厚板 +Stone Brick Stair=石レンガの階段 +Inner Stone Brick Stair=石レンガの凹階段 +Outer Stone Brick Stair=石レンガの凸階段 +Stone Brick Slab=石レンガの厚板 +Stone Block Stair=石ブロックの階段 +Inner Stone Block Stair=石ブロックの凹階段 +Outer Stone Block Stair=石ブロックの凸階段 +Stone Block Slab=石ブロックの厚板 +Desert Stone Stair=砂漠の石の階段 +Inner Desert Stone Stair=砂漠の石の凹階段 +Outer Desert Stone Stair=砂漠の石の凸階段 +Desert Stone Slab=砂漠の石の厚板 +Desert Cobblestone Stair=砂漠の丸石の階段 +Inner Desert Cobblestone Stair=砂漠の丸石の凹階段 +Outer Desert Cobblestone Stair=砂漠の丸石の凸階段 +Desert Cobblestone Slab=砂漠の丸石の厚板 +Desert Stone Brick Stair=砂漠の石レンガの階段 +Inner Desert Stone Brick Stair=砂漠の石レンガの凹階段 +Outer Desert Stone Brick Stair=砂漠の石レンガの凸階段 +Desert Stone Brick Slab=砂漠の石レンガの厚板 +Desert Stone Block Stair=砂漠の石ブロックの階段 +Inner Desert Stone Block Stair=砂漠の石ブロックの凹階段 +Outer Desert Stone Block Stair=砂漠の石ブロックの凸階段 +Desert Stone Block Slab=砂漠の石ブロックの厚板 +Sandstone Stair=砂岩の階段 +Inner Sandstone Stair=砂岩の凹階段 +Outer Sandstone Stair=砂岩の凸階段 +Sandstone Slab=砂岩の厚板 +Sandstone Brick Stair=砂岩レンガの階段 +Inner Sandstone Brick Stair=砂岩レンガの凹階段 +Outer Sandstone Brick Stair=砂岩レンガの凸階段 +Sandstone Brick Slab=砂岩レンガの厚板 +Sandstone Block Stair=砂岩ブロックの階段 +Inner Sandstone Block Stair=砂岩ブロックの凹階段 +Outer Sandstone Block Stair=砂岩ブロックの凸階段 +Sandstone Block Slab=砂岩ブロックの厚板 +Desert Sandstone Stair=砂漠の砂岩の階段 +Inner Desert Sandstone Stair=砂漠の砂岩の凹階段 +Outer Desert Sandstone Stair=砂漠の砂岩の凸階段 +Desert Sandstone Slab=砂漠の砂岩の厚板 +Desert Sandstone Brick Stair=砂漠の砂岩レンガの階段 +Inner Desert Sandstone Brick Stair=砂漠の砂岩レンガの凹階段 +Outer Desert Sandstone Brick Stair=砂漠の砂岩レンガの凸階段 +Desert Sandstone Brick Slab=砂漠の砂岩レンガの厚板 +Desert Sandstone Block Stair=砂漠の砂岩ブロックの階段 +Inner Desert Sandstone Block Stair=砂漠の砂岩ブロックの凹階段 +Outer Desert Sandstone Block Stair=砂漠の砂岩ブロックの凸階段 +Desert Sandstone Block Slab=砂漠の砂岩ブロックの厚板 +Silver Sandstone Stair=銀色の砂岩の階段 +Inner Silver Sandstone Stair=銀色の砂岩の凹階段 +Outer Silver Sandstone Stair=銀色の砂岩の凸階段 +Silver Sandstone Slab=銀色の砂岩の厚板 +Silver Sandstone Brick Stair=銀色の砂岩レンガの階段 +Inner Silver Sandstone Brick Stair=銀色の砂岩レンガの凹階段 +Outer Silver Sandstone Brick Stair=銀色の砂岩レンガの凸階段 +Silver Sandstone Brick Slab=銀色の砂岩レンガの厚板 +Silver Sandstone Block Stair=銀色の砂岩ブロックの階段 +Inner Silver Sandstone Block Stair=銀色の砂岩ブロックの凹階段 +Outer Silver Sandstone Block Stair=銀色の砂岩ブロックの凸階段 +Silver Sandstone Block Slab=銀色の砂岩ブロックの厚板 +Obsidian Stair=黒曜石の階段 +Inner Obsidian Stair=黒曜石の凹階段 +Outer Obsidian Stair=黒曜石の凸階段 +Obsidian Slab=黒曜石の厚板 +Obsidian Brick Stair=黒曜石レンガの階段 +Inner Obsidian Brick Stair=黒曜石レンガの凹階段 +Outer Obsidian Brick Stair=黒曜石レンガの凸階段 +Obsidian Brick Slab=黒曜石レンガの厚板 +Obsidian Block Stair=黒曜石ブロックの階段 +Inner Obsidian Block Stair=黒曜石ブロックの凹階段 +Outer Obsidian Block Stair=黒曜石ブロックの凸階段 +Obsidian Block Slab=黒曜石ブロックの厚板 +Brick Stair=レンガの階段 +Inner Brick Stair=レンガの凹階段 +Outer Brick Stair=レンガの凸階段 +Brick Slab=レンガの厚板 +Steel Block Stair=鉄ブロックの階段 +Inner Steel Block Stair=鉄ブロックの凹階段 +Outer Steel Block Stair=鉄ブロックの凸階段 +Steel Block Slab=鉄ブロックの厚板 +Tin Block Stair=スズの階段 +Inner Tin Block Stair=スズの凹階段 +Outer Tin Block Stair=スズの凸階段 +Tin Block Slab=スズの厚板 +Copper Block Stair=銅ブロックの階段 +Inner Copper Block Stair=銅ブロックの凹階段 +Outer Copper Block Stair=銅ブロックの凸階段 +Copper Block Slab=銅ブロックの厚板 +Bronze Block Stair=青銅ブロックの階段 +Inner Bronze Block Stair=青銅ブロックの凹階段 +Outer Bronze Block Stair=青銅ブロックの凸階段 +Bronze Block Slab=青銅ブロックの厚板 +Gold Block Stair=金ブロックの階段 +Inner Gold Block Stair=金ブロックの凹階段 +Outer Gold Block Stair=金ブロックの凸階段 +Gold Block Slab=金ブロックの厚板 +Ice Stair=氷の階段 +Inner Ice Stair=氷の凹階段 +Outer Ice Stair=氷の凸階段 +Ice Slab=氷の厚板 +Snow Block Stair=雪の階段 +Inner Snow Block Stair=雪の凹階段 +Outer Snow Block Stair=雪の凸階段 +Snow Block Slab=雪の厚板 diff --git a/data/games/garage/mods/stairs/locale/stairs.jbo.tr b/data/games/garage/mods/stairs/locale/stairs.jbo.tr new file mode 100644 index 0000000..91d2806 --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.jbo.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=lo blaci serti +Glass Slab=lo blaci xadba bliku +Inner Glass Stair=lo zo'i blaci serti +Outer Glass Stair=lo ze'o blaci serti +Obsidian Glass Stair=lo je'erma'ablaci blaci serti +Obsidian Glass Slab=lo je'erma'ablaci blaci ke xadba bliku +Inner Obsidian Glass Stair=lo zo'i je'erma'ablaci blaci serti +Outer Obsidian Glass Stair=lo ze'o je'erma'ablaci blaci serti +Wooden Stair=lo mudri serti +Inner Wooden Stair=lo zo'i mudri serti +Outer Wooden Stair=lo ze'o mudri serti +Wooden Slab=lo mudri ke xadba bliku +Jungle Wood Stair=lo glatimdemricfoi mudri serti +Inner Jungle Wood Stair=lo zo'i glatimdemricfoi mudri serti +Outer Jungle Wood Stair=lo ze'o glatimdemricfoi mudri serti +Jungle Wood Slab=lo glatimdemricfoi mudri ke xadba bliku +Pine Wood Stair=lo ku'urmudri serti +Inner Pine Wood Stair=lo zo'i ku'urmudri serti +Outer Pine Wood Stair=lo ze'o ku'urmudri serti +Pine Wood Slab=lo ku'urmudri ke xadba bliku +Acacia Wood Stair=lo atkaci,ia mudri serti +Inner Acacia Wood Stair=lo zo'i atkaci,ia mudri serti +Outer Acacia Wood Stair=lo ze'o atkaci,ia mudri serti +Acacia Wood Slab=lo atkaci,ia mudri ke xadba bliku +Aspen Wood Stair=lo mudrpopulu serti +Inner Aspen Wood Stair=lo zo'i mudrpopulu serti +Outer Aspen Wood Stair=lo ze'o mudrpopulu serti +Aspen Wood Slab=lo mudrpopulu ke xadba bliku +Stone Stair=lo rokci serti +Inner Stone Stair=lo zo'i rokci serti +Outer Stone Stair=lo ze'o rokci serti +Stone Slab=lo rokci ke xadba bliku +Cobblestone Stair=lo lolro'iboi serti +Inner Cobblestone Stair=lo zo'i lolro'iboi serti +Outer Cobblestone Stair=lo ze'o lolro'iboi serti +Cobblestone Slab=lo lolro'iboi xadba bliku +Mossy Cobblestone Stair=lo clika lolro'iboi serti +Inner Mossy Cobblestone Stair=lo zo'i clika lolro'iboi serti +Outer Mossy Cobblestone Stair=lo ze'o clika lolro'iboi serti +Mossy Cobblestone Slab=lo clika lolro'iboi ke xadba bliku +Stone Brick Stair=lo morna rokci serti +Inner Stone Brick Stair=lo zo'i morna rokci serti +Outer Stone Brick Stair=lo ze'o morna rokci serti +Stone Brick Slab=lo morna rokci ke xadba bliku +Stone Block Stair=lo rokci bliku serti +Inner Stone Block Stair=lo zo'i rokci bliku serti +Outer Stone Block Stair=lo ze'o rokci bliku serti +Stone Block Slab=lo rokci bliku ke xadba bliku +Desert Stone Stair=lo cantu'a rokci serti +Inner Desert Stone Stair=lo zo'i cantu'a rokci serti +Outer Desert Stone Stair=lo ze'o cantu'a rokci serti +Desert Stone Slab=lo cantu'a rokci ke xadba bliku +Desert Cobblestone Stair=lo cantu'a lolro'iboi serti +Inner Desert Cobblestone Stair=lo zo'i cantu'a lolro'iboi serti +Outer Desert Cobblestone Stair=lo ze'o cantu'a lolro'iboi serti +Desert Cobblestone Slab=lo cantu'a lolro'iboi ke xadba bliku +Desert Stone Brick Stair=lo morna ke cantu'a rokci serti +Inner Desert Stone Brick Stair=lo zo'i morna ke cantu'a rokci serti +Outer Desert Stone Brick Stair=lo ze'o morna ke cantu'a rokci serti +Desert Stone Brick Slab=lo morna ke cantu'a rokci ke xadba bliku +Desert Stone Block Stair=lo cantu'a rokci bliku serti +Inner Desert Stone Block Stair=lo zo'i cantu'a rokci bliku serti +Outer Desert Stone Block Stair=lo ze'o cantu'a rokci bliku serti +Desert Stone Block Slab=lo cantu'a rokci bliku ke xadba bliku +Sandstone Stair=lo canro'i serti +Inner Sandstone Stair=lo zo'i canro'i serti +Outer Sandstone Stair=lo ze'o canro'i serti +Sandstone Slab=lo canro'i ke xadba bliku +Sandstone Brick Stair=lo morna ke canro'i serti +Inner Sandstone Brick Stair=lo zo'i morna ke canro'i serti +Outer Sandstone Brick Stair=lo ze'o morna ke canro'i serti +Sandstone Brick Slab=lo morna canro'i ke xadba bliku +Sandstone Block Stair=lo canro'i bliku serti +Inner Sandstone Block Stair=lo zo'i canro'i bliku serti +Outer Sandstone Block Stair=lo ze'o canro'i bliku serti +Sandstone Block Slab=lo canro'i bliku ke xadba bliku +Desert Sandstone Stair=lo cantu'a canro'i serti +Inner Desert Sandstone Stair=lo zo'i cantu'a canro'i serti +Outer Desert Sandstone Stair=lo ze'o cantu'a canro'i serti +Desert Sandstone Slab=lo cantu'a canro'i ke xadba bliku +Desert Sandstone Brick Stair=lo morna ke cantu'a canro'i serti +Inner Desert Sandstone Brick Stair=lo zo'i morna ke cantu'a canro'i serti +Outer Desert Sandstone Brick Stair=lo ze'o morna ke cantu'a canro'i serti +Desert Sandstone Brick Slab=lo morna ke cantu'a canro'i ke xadba bliku +Desert Sandstone Block Stair=lo cantu'a canro'i bliku serti +Inner Desert Sandstone Block Stair=lo zo'i cantu'a canro'i bliku serti +Outer Desert Sandstone Block Stair=lo ze'o cantu'a canro'i bliku serti +Desert Sandstone Block Slab=lo cantu'a canro'i ke xadba bliku +Silver Sandstone Stair=lo rijyska canro'i serti +Inner Silver Sandstone Stair=lo zo'i rijyska canro'i serti +Outer Silver Sandstone Stair=lo ze'o rijyska canro'i serti +Silver Sandstone Slab=lo rijyska canro'i ke xadba bliku +Silver Sandstone Brick Stair=lo morna ke rijyska canro'i serti +Inner Silver Sandstone Brick Stair=lo zo'i morna ke rijyska canro'i serti +Outer Silver Sandstone Brick Stair=lo ze'o morna ke rijyska canro'i serti +Silver Sandstone Brick Slab=lo morna ke rijyska canro'i ke xadba bliku +Silver Sandstone Block Stair=lo rijyska canro'i bliku serti +Inner Silver Sandstone Block Stair=lo zo'i rijyska canro'i bliku serti +Outer Silver Sandstone Block Stair=lo ze'o rijyska canro'i bliku serti +Silver Sandstone Block Slab=lo rijyska canro'i bliku ke xadba bliku +Obsidian Stair=lo je'erma'ablaci serti +Inner Obsidian Stair=lo zo'i je'erma'ablaci serti +Outer Obsidian Stair=lo ze'o je'erma'ablaci serti +Obsidian Slab=lo je'erma'ablaci ke xadba bliku +Obsidian Brick Stair=lo morna ke je'erma'ablaci serti +Inner Obsidian Brick Stair=lo zo'i morna ke je'erma'ablaci serti +Outer Obsidian Brick Stair=lo ze'o morna ke je'erma'ablaci serti +Obsidian Brick Slab=lo morna je'erma'ablaci ke xadba bliku +Obsidian Block Stair=lo je'erma'ablaci bliku serti +Inner Obsidian Block Stair=lo zo'i je'erma'ablaci bliku serti +Outer Obsidian Block Stair=lo ze'o je'erma'ablaci bliku serti +Obsidian Block Slab=lo je'erma'ablaci bliku ke xadba bliku +Brick Stair=lo kitybli serti +Inner Brick Stair=lo zo'i kitybli serti +Outer Brick Stair=lo ze'o kitybli serti +Brick Slab=lo kitybli xadba bliku +Steel Block Stair=lo gasta bliku serti +Inner Steel Block Stair=lo zo'i gasta bliku serti +Outer Steel Block Stair=lo ze'o gasta bliku serti +Steel Block Slab=lo gasta bliku ke xadba bliku +Tin Block Stair=lo tinci bliku serti +Inner Tin Block Stair=lo zo'i tinci bliku serti +Outer Tin Block Stair=lo ze'o tinci bliku serti +Tin Block Slab=lo tinci bliku ke xadba bliku +Copper Block Stair=lo tunka bliku serti +Inner Copper Block Stair=lo zo'i tunka bliku serti +Outer Copper Block Stair=lo ze'o tunka bliku serti +Copper Block Slab=lo tunka xadba bliku +Bronze Block Stair=lo ransu bliku serti +Inner Bronze Block Stair=lo zo'i ransu bliku serti +Outer Bronze Block Stair=lo ze'o ransu bliku serti +Bronze Block Slab=lo ransu xadba bliku +Gold Block Stair=lo solji bliku serti +Inner Gold Block Stair=lo zo'i solji bliku serti +Outer Gold Block Stair=lo ze'o solji bliku serti +Gold Block Slab=lo solji bliku ke xadba bliku +Ice Stair=lo bisli serti +Inner Ice Stair=lo zo'i bisli serti +Outer Ice Stair=lo ze'o bisli serti +Ice Slab=lo bisli ke xadba bliku +Snow Block Stair=lo snime bliku serti +Inner Snow Block Stair=lo zo'i snime bliku serti +Outer Snow Block Stair=lo ze'o snime bliku serti +Snow Block Slab=lo snime bliku ke xadba bliku diff --git a/data/games/garage/mods/stairs/locale/stairs.lv.tr b/data/games/garage/mods/stairs/locale/stairs.lv.tr new file mode 100644 index 0000000..646040b --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.lv.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Stikla pakāpiens +Glass Slab=Stikla plātne +Inner Glass Stair=Iekšējs stikla pakāpiens +Outer Glass Stair=Ārējs stikla pakāpiens +Obsidian Glass Stair=Obsidiāna stikla pakāpiens +Obsidian Glass Slab=Obsidiāna stikla plātne +Inner Obsidian Glass Stair=Iekšējs obsidiāna stikla pakāpiens +Outer Obsidian Glass Stair=Ārējs obsidiāna stikla pakāpiens +Wooden Stair=Koka pakāpiens +Inner Wooden Stair=Iekšējs koka pakāpiens +Outer Wooden Stair=Ārējs koka pakāpiens +Wooden Slab=Koka plātne +Jungle Wood Stair=Džungļu koka pakāpiens +Inner Jungle Wood Stair=Iekšējs džungļu koka pakāpiens +Outer Jungle Wood Stair=Ārējs džungļu koka pakāpiens +Jungle Wood Slab=Džungļu koka plātne +Pine Wood Stair=Skujkoka koka pakāpiens +Inner Pine Wood Stair=Iekšējs skujkoka koka pakāpiens +Outer Pine Wood Stair= Arējs skujkoka koka pakāpiens +Pine Wood Slab=Skujkoka koka plātne +Acacia Wood Stair=Akācijas koka pakāpiens +Inner Acacia Wood Stair=Iekšējs akācijas koka pakāpiens +Outer Acacia Wood Stair=Ārējs akācijas koka pakāpiens +Acacia Wood Slab=Akācijas koka plātne +Aspen Wood Stair=Apses koka pakāpiens +Inner Aspen Wood Stair=Iekšējs apses koka pakāpiens +Outer Aspen Wood Stair=Ārējs apses koka pakāpiens +Aspen Wood Slab=Apses koka plātne +Stone Stair=Akmens pakāpiens +Inner Stone Stair=Iekšējs akmens pakāpiens +Outer Stone Stair=Ārējs akmens pakāpiens +Stone Slab=Akmens plātne +Cobblestone Stair=Mūrakmens pakāpiens +Inner Cobblestone Stair=Iekšējs mūrakmens pakāpiens +Outer Cobblestone Stair=Ārējs mūrakmens pakāpiens +Cobblestone Slab=Mūrakmens plātne +Mossy Cobblestone Stair=Apsūnējuša mūrakmens pakāpiens +Inner Mossy Cobblestone Stair=Apsūnējuša mūrakmens iekšējs pakāpiens +Outer Mossy Cobblestone Stair=Apsūnējuša mūrakmens ārējs pakāpiens +Mossy Cobblestone Slab=Apsūnējuša mūrakmens plātne +Stone Brick Stair=Akmens ķieģeļu pakāpiens +Inner Stone Brick Stair=Iekšējs akmens ķieģeļu pakāpiens +Outer Stone Brick Stair=Ārējs akmens ķieģeļu pakāpiens +Stone Brick Slab=Akmens ķieģeļu plātne +Stone Block Stair=Akmens bloka pakāpiens +Inner Stone Block Stair=Iekšējs akmens bloka pakāpiens +Outer Stone Block Stair=Ārējs akmens bloka pakāpiens +Stone Block Slab=Akmens bloka plātne +Desert Stone Stair=Tuksneša akmens pakāpiens +Inner Desert Stone Stair=Iekšējs tuksneša akmens pakāpiens +Outer Desert Stone Stair=Ārējs tuksneša akmens pakāpiens +Desert Stone Slab=Tuksneša akmens plātne +Desert Cobblestone Stair=Tuksneša mūrakmens pakāpiens +Inner Desert Cobblestone Stair=Iekšējs tuksneša mūrakmens pakāpiens +Outer Desert Cobblestone Stair=Ārējs tuksneša mūrakmens pakāpiens +Desert Cobblestone Slab=Tuksneša mūrakmens plātne +Desert Stone Brick Stair=Tuksneša akmens ķieģeļu pakāpiens +Inner Desert Stone Brick Stair=Iekšējs tuksneša akmens ķieģeļu pakāpiens +Outer Desert Stone Brick Stair=Ārējs tuksneša ķieģeļu pakāpiens +Desert Stone Brick Slab=Tuksneša ķieģeļu plātne +Desert Stone Block Stair=Tuksneša akmens bloka pakāpiens +Inner Desert Stone Block Stair=Iekšējs tuksneša akmens bloka pakāpiens +Outer Desert Stone Block Stair=Ārējs tuksneša akmens bloka pakāpiens +Desert Stone Block Slab=Tuksneša akmens bloka plātne +Sandstone Stair=Smilšakmens pakāpiens +Inner Sandstone Stair=Iekšējs smilšakmens pakāpiens +Outer Sandstone Stair=Ārējs smilšakmens pakāpiens +Sandstone Slab=Smilšakmens plātne +Sandstone Brick Stair=Smilšakmens ķieģeļu pakāpiens +Inner Sandstone Brick Stair=Iekšējs smilšakmens ķieģeļu pakāpiens +Outer Sandstone Brick Stair=Ārējs smilšakmens ķieģeļu pakāpiens +Sandstone Brick Slab=Smilšakmens ķieģeļu plātne +Sandstone Block Stair=Smilšakmens bloka pakāpiens +Inner Sandstone Block Stair=Iekšējs smilšakmens bloka pakāpiens +Outer Sandstone Block Stair=Ārējs smilšakmens bloka pakāpiens +Sandstone Block Slab=Smilšakmens bloka plātne +Desert Sandstone Stair=Tuksneša smilšakmens pakāpiens +Inner Desert Sandstone Stair=Iekšējs tuksneša smilšakmens pakāpiens +Outer Desert Sandstone Stair=Ārējs tuksneša smilšakmens pakāpiens +Desert Sandstone Slab=Tuksneša smilšakmens plātne +Desert Sandstone Brick Stair=Tuksneša smilšakmens ķieģeļu pakāpiens +Inner Desert Sandstone Brick Stair=Iekšējs tuksneša smilšakmens ķieģeļu pakāpiens +Outer Desert Sandstone Brick Stair=Ārējs tuksneša smilšakmens ķieģeļu pakāpiens +Desert Sandstone Brick Slab=Tuksneša smilšakmens ķieģeļu plātne +Desert Sandstone Block Stair=Tuksneša smilšakmens bloka pakāpiens +Inner Desert Sandstone Block Stair=Iekšējs tuksneša smilšakmens bloka pakāpiens +Outer Desert Sandstone Block Stair=Ārējs tuksneša smilšakmens bloka pakāpiens +Desert Sandstone Block Slab=Tuksneša smilšakmens bloka plātne +Silver Sandstone Stair=Baltā smilšakmens pakāpiens +Inner Silver Sandstone Stair=Iekšējs baltā smilšakmens pakāpiens +Outer Silver Sandstone Stair=Ārējs baltā smilšakmens pakāpiens +Silver Sandstone Slab=Baltā smilšakmens plātne +Silver Sandstone Brick Stair=Baltā smilšakmens ķieģeļu pakāpiens +Inner Silver Sandstone Brick Stair=Iekšējs baltā smilšakmens ķieģeļu pakāpiens +Outer Silver Sandstone Brick Stair=Ārējs baltā smilšakmens ķieģeļu pakāpiens +Silver Sandstone Brick Slab=Baltā smilšakmens ķieģeļu plātne +Silver Sandstone Block Stair=Baltā smilšakmens bloka pakāpiens +Inner Silver Sandstone Block Stair=Iekšējs baltā smilšakmens bloka pakāpiens +Outer Silver Sandstone Block Stair=Ārējs baltā smilšakmens bloka pakāpiens +Silver Sandstone Block Slab=Baltā smilšakmens bloka plātne +Obsidian Stair=Obsidiāna pakāpiens +Inner Obsidian Stair=Iekšējs obsidiāna pakāpiens +Outer Obsidian Stair=Ārējs obsidiāna pakāpiens +Obsidian Slab=Obsidiāna plātne +Obsidian Brick Stair=Obsidiāna ķieģeļu pakāpiens +Inner Obsidian Brick Stair=Iekšējs obsidiāna ķieģeļu pakāpiens +Outer Obsidian Brick Stair=Ārējs obsidiāna ķieģeļu pakāpiens +Obsidian Brick Slab=Obsidiāna ķieģeļu plātne +Obsidian Block Stair=Obsidiāna bloka pakāpiens +Inner Obsidian Block Stair=Iekšējs obsidiāna bloka pakāpiens +Outer Obsidian Block Stair=Ārejs obsidiāna bloka pakāpiens +Obsidian Block Slab=Obsidiāna bloka plātne +Brick Stair=Ķieģeļu pakāpiens +Inner Brick Stair=Iekšējs ķieģeļu pakāpiens +Outer Brick Stair=Ārējs ķieģeļu pakāpiens +Brick Slab=Ķieģeļu plātne +Steel Block Stair=Tērauda pakāpiens +Inner Steel Block Stair=Iekšējs tērauda pakāpiens +Outer Steel Block Stair=Ārējs tērauda pakāpiens +Steel Block Slab=Tērauda plātne +Tin Block Stair=Alvas pakāpiens +Inner Tin Block Stair=Iekšējs alvas pakāpiens +Outer Tin Block Stair=Ārējs alvas pakāpiens +Tin Block Slab=Alvas plātne +Copper Block Stair=Vara pakāpiens +Inner Copper Block Stair=Iekšējs vara pakāpiens +Outer Copper Block Stair=Ārējs vara pakāpiens +Copper Block Slab=Vara plātne +Bronze Block Stair=Bronzas pakāpiens +Inner Bronze Block Stair=Iekšējs bronza pakāpiens +Outer Bronze Block Stair=Ārējs bronzas pakāpiens +Bronze Block Slab=Bronzas plātne +Gold Block Stair=Zelta pakāpiens +Inner Gold Block Stair=Iekšējs zelta pakāpiens +Outer Gold Block Stair=Ārējs zelta pakāpiens +Gold Block Slab=Zelta plātne +Ice Stair=Ledus pakāpiens +Inner Ice Stair=Iekšējs ledus pakāpiens +Outer Ice Stair=Ārējs ledus pakāpiens +Ice Slab=Ledus plātne +Snow Block Stair=Sniega pakāpiens +Inner Snow Block Stair=Iekšējs sniega pakāpiens +Outer Snow Block Stair=Ārējs sniega pakāpiens +Snow Block Slab=Sniega plātne diff --git a/data/games/garage/mods/stairs/locale/stairs.ms.tr b/data/games/garage/mods/stairs/locale/stairs.ms.tr new file mode 100644 index 0000000..a39c7f6 --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.ms.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Tangga Kaca +Glass Slab=Papak Kaca +Inner Glass Stair=Tangga Kaca Dalaman +Outer Glass Stair=Tangga Kaca Luaran +Obsidian Glass Stair=Tangga Obsidia +Obsidian Glass Slab=Papak Obsidia +Inner Obsidian Glass Stair=Tangga Obsidia Dalaman +Outer Obsidian Glass Stair=Tangga Obsidia Luaran +Wooden Stair=Tangga Kayu +Inner Wooden Stair=Tangga Kayu Dalaman +Outer Wooden Stair=Tangga Kayu Luaran +Wooden Slab=Papak Kayu +Jungle Wood Stair=Tangga Kayu Hutan +Inner Jungle Wood Stair=Tangga Kayu Hutan Dalaman +Outer Jungle Wood Stair=Tangga Kayu Hutan Luaran +Jungle Wood Slab=Papak Kayu Hutan +Pine Wood Stair=Tangga Kayu Pain +Inner Pine Wood Stair=Tangga Kayu Pain Dalaman +Outer Pine Wood Stair=Tangga Kayu Pain Luaran +Pine Wood Slab=Papak Kayu Pain +Acacia Wood Stair=Tangga Kayu Akasia +Inner Acacia Wood Stair=Tangga Kayu Akasia Dalaman +Outer Acacia Wood Stair=Tangga Kayu Akasia Luaran +Acacia Wood Slab=Papak Kayu Akasia +Aspen Wood Stair=Tangga Kayu Aspen +Inner Aspen Wood Stair=Tangga Kayu Aspen Dalaman +Outer Aspen Wood Stair=Tangga Kayu Aspen Luaran +Aspen Wood Slab=Papak Kayu Aspen +Stone Stair=Tangga Batu +Inner Stone Stair=Tangga Batu Dalaman +Outer Stone Stair=Tangga Batu Luaran +Stone Slab=Papak Batu +Cobblestone Stair=Tangga Batu Buntar +Inner Cobblestone Stair=Tangga Batu Buntar Dalaman +Outer Cobblestone Stair=Tangga Batu Buntar Luaran +Cobblestone Slab=Papak Batu Buntar +Mossy Cobblestone Stair=Tangga Batu Buntar Berlumut +Inner Mossy Cobblestone Stair=Tangga Batu Buntar Berlumut Dalaman +Outer Mossy Cobblestone Stair=Tangga Batu Buntar Berlumut Luaran +Mossy Cobblestone Slab=Papak Batu Buntar Berlumut +Stone Brick Stair=Tangga Bata Batu +Inner Stone Brick Stair=Tangga Bata Batu Dalaman +Outer Stone Brick Stair=Tangga Bata Batu Luaran +Stone Brick Slab=Papak Bata Batu +Stone Block Stair=Tangga Bongkah Batu +Inner Stone Block Stair=Tangga Bongkah Batu Dalaman +Outer Stone Block Stair=Tangga Bongkah Batu Luaran +Stone Block Slab=Papak Bongkah Batu +Desert Stone Stair=Tangga Batu Gurun +Inner Desert Stone Stair=Tangga Batu Gurun Dalaman +Outer Desert Stone Stair=Tangga Batu Gurun Luaran +Desert Stone Slab=Papak Batu Gurun +Desert Cobblestone Stair=Tangga Batu Buntar Gurun +Inner Desert Cobblestone Stair=Tangga Batu Buntar Gurun Dalaman +Outer Desert Cobblestone Stair=Tangga Batu Buntar Gurun Luaran +Desert Cobblestone Slab=Papak Batu Buntar Gurun +Desert Stone Brick Stair=Tangga Bata Batu Gurun +Inner Desert Stone Brick Stair=Tangga Bata Batu Gurun Dalaman +Outer Desert Stone Brick Stair=Tangga Bata Batu Gurun Luaran +Desert Stone Brick Slab=Papak Bata Batu Gurun +Desert Stone Block Stair=Tangga Bongkah Batu Gurun +Inner Desert Stone Block Stair=Tangga Bongkah Batu Gurun Dalaman +Outer Desert Stone Block Stair=Tangga Bongkah Batu Gurun Luaran +Desert Stone Block Slab=Papak Bongkah Batu Gurun +Sandstone Stair=Tangga Batu Pasir +Inner Sandstone Stair=Tangga Batu Pasir Dalaman +Outer Sandstone Stair=Tangga Batu Pasir Luaran +Sandstone Slab=Papak Batu Pasir +Sandstone Brick Stair=Tangga Bata Batu Pasir +Inner Sandstone Brick Stair=Tangga Bata Batu Pasir Dalaman +Outer Sandstone Brick Stair=Tangga Bata Batu Pasir Luaran +Sandstone Brick Slab=Papak Bata Batu Pasir +Sandstone Block Stair=Tangga Bongkah Batu Pasir +Inner Sandstone Block Stair=Tangga Bongkah Batu Pasir Dalaman +Outer Sandstone Block Stair=Tangga Bongkah Batu Pasir Luaran +Sandstone Block Slab=Papak Bongkah Batu Pasir +Desert Sandstone Stair=Tangga Batu Pasir Gurun +Inner Desert Sandstone Stair=Tangga Batu Pasir Gurun Dalaman +Outer Desert Sandstone Stair=Tangga Batu Pasir Gurun Luaran +Desert Sandstone Slab=Papak Batu Pasir Gurun +Desert Sandstone Brick Stair=Tangga Bata Batu Pasir Gurun +Inner Desert Sandstone Brick Stair=Tangga Bata Batu Pasir Gurun Dalaman +Outer Desert Sandstone Brick Stair=Tangga Bata Batu Pasir Gurun Luaran +Desert Sandstone Brick Slab=Papak Bata Batu Pasir Gurun +Desert Sandstone Block Stair=Tangga Bongkah Batu Pasir Gurun +Inner Desert Sandstone Block Stair=Tangga Bongkah Batu Pasir Gurun Dalaman +Outer Desert Sandstone Block Stair=Tangga Bongkah Batu Pasir Gurun Luaran +Desert Sandstone Block Slab=Papak Bongkah Batu Pasir Gurun +Silver Sandstone Stair=Tangga Batu Pasir Perak +Inner Silver Sandstone Stair=Tangga Batu Pasir Perak Dalaman +Outer Silver Sandstone Stair=Tangga Batu Pasir Perak Luaran +Silver Sandstone Slab=Papak Batu Pasir Perak +Silver Sandstone Brick Stair=Tangga Bata Batu Pasir Perak +Inner Silver Sandstone Brick Stair=Tangga Bata Batu Pasir Perak Dalaman +Outer Silver Sandstone Brick Stair=Tangga Bata Batu Pasir Perak Luaran +Silver Sandstone Brick Slab=Papak Bata Batu Pasir Perak +Silver Sandstone Block Stair=Tangga Bongkah Batu Pasir Perak +Inner Silver Sandstone Block Stair=Tangga Bongkah Batu Pasir Perak Dalaman +Outer Silver Sandstone Block Stair=Tangga Bongkah Batu Pasir Perak Luaran +Silver Sandstone Block Slab=Papak Bongkah Batu Pasir Perak +Obsidian Stair=Tangga Obsidia +Inner Obsidian Stair=Tangga Obsidia Dalaman +Outer Obsidian Stair=Tangga Obsidia Luaran +Obsidian Slab=Papak Obsidia +Obsidian Brick Stair=Tangga Bata Obsidia +Inner Obsidian Brick Stair=Tangga Bata Obsidia Dalaman +Outer Obsidian Brick Stair=Tangga Bata Obsidia Luaran +Obsidian Brick Slab=Papak Bata Obsidia +Obsidian Block Stair=Tangga Bongkah Obsidia +Inner Obsidian Block Stair=Tangga Bongkah Obsidia Dalaman +Outer Obsidian Block Stair=Tangga Bongkah Obsidia Luaran +Obsidian Block Slab=Papak Bongkah Obsidia +Brick Stair=Tangga Bata +Inner Brick Stair=Tangga Bata Dalaman +Outer Brick Stair=Tangga Bata Luaran +Brick Slab=Papak Bata +Steel Block Stair=Tangga Bongkah Keluli +Inner Steel Block Stair=Tangga Bongkah Keluli Dalaman +Outer Steel Block Stair=Tangga Bongkah Keluli Luaran +Steel Block Slab=Papak Bongkah Keluli +Tin Block Stair=Tangga Bongkah Timah +Inner Tin Block Stair=Tangga Bongkah Timah Dalaman +Outer Tin Block Stair=Tangga Bongkah Timah Luaran +Tin Block Slab=Papak Bongkah Timah +Copper Block Stair=Tangga Bongkah Tembaga +Inner Copper Block Stair=Tangga Bongkah Tembaga Dalaman +Outer Copper Block Stair=Tangga Bongkah Tembaga Luaran +Copper Block Slab=Papak Bongkah Tembaga +Bronze Block Stair=Tangga Bongkah Gangsa +Inner Bronze Block Stair=Tangga Bongkah Gangsa Dalaman +Outer Bronze Block Stair=Tangga Bongkah Gangsa Luaran +Bronze Block Slab=Papak Bongkah Gangsa +Gold Block Stair=Tangga Bongkah Emas +Inner Gold Block Stair=Tangga Bongkah Emas Dalaman +Outer Gold Block Stair=Tangga Bongkah Emas Luaran +Gold Block Slab=Papak Bongkah Emas +Ice Stair=Tangga Ais +Inner Ice Stair=Tangga Ais Dalaman +Outer Ice Stair=Tangga Ais Luaran +Ice Slab=Papak Ais +Snow Block Stair=Tangga Bongkah Salji +Inner Snow Block Stair=Tangga Bongkah Salji Dalaman +Outer Snow Block Stair=Tangga Bongkah Salji Luaran +Snow Block Slab=Papak Bongkah Salji diff --git a/data/games/garage/mods/stairs/locale/stairs.pl.tr b/data/games/garage/mods/stairs/locale/stairs.pl.tr new file mode 100644 index 0000000..14eed7b --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.pl.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Schody ze szkła +Glass Slab=Półblok ze szkła +Inner Glass Stair=Wewnętrzne schody ze szkła +Outer Glass Stair=Zewnętrzne schody ze szkła +Obsidian Glass Stair=Schody z obsydianowego szkła +Obsidian Glass Slab=Półblok z obsydianowego szkła +Inner Obsidian Glass Stair=Wewnętrzne schody z obsydianowego szkła +Outer Obsidian Glass Stair=Zewnętrzne schody z obsydianowego szkła +Wooden Stair=Schody z drewna +Inner Wooden Stair=Wewnętrzne schody z drewna +Outer Wooden Stair=Zewnętrzne schody z drewna +Wooden Slab=Półblok z drewna +Jungle Wood Stair=Schody z dżunglowego drewna +Inner Jungle Wood Stair=Wewnętrzne schody z dżunglowego drewna +Outer Jungle Wood Stair=Zewnętrzne schody z dżunglowego drewna +Jungle Wood Slab=Półblok z dżunglowego drewna +Pine Wood Stair=Schody z sosnowego drzewa +Inner Pine Wood Stair=Wewnętrzne schody z sosnowego drewna +Outer Pine Wood Stair=Zewnętrzne schody z sosnowego drewna +Pine Wood Slab=Półblok z sosnowego drewna +Acacia Wood Stair=Schody z akacjowego drewna +Inner Acacia Wood Stair=Wewnętrzne schody z akacjowego drewna +Outer Acacia Wood Stair=Zewnętrzne schody z akacjowego drewna +Acacia Wood Slab=Półblok z akacjowego drewna +Aspen Wood Stair=Schody z brzozowego drewna +Inner Aspen Wood Stair=Wewnętrzne schody z brzozowego drewna +Outer Aspen Wood Stair=Zewnętrzne schody z brzozowego drewna +Aspen Wood Slab=Półblok z brzozowego drewna +Stone Stair=Schody z kamienia +Inner Stone Stair=Wewnętrzne schody z kamienia +Outer Stone Stair=Zewnętrzne schody z kamienia +Stone Slab=Półblok z kamienia +Cobblestone Stair=Schody z bruku +Inner Cobblestone Stair=Wewnętrzne schody z bruku +Outer Cobblestone Stair=Zewnętrzne schody z bruku +Cobblestone Slab=Półblok z bruku +Mossy Cobblestone Stair=Schody z bruku z mchem +Inner Mossy Cobblestone Stair=Wewnętrzne schody z bruku z mchem +Outer Mossy Cobblestone Stair=Zewnętrzne schody z bruku z mchem +Mossy Cobblestone Slab=Półblok z bruku z mchem +Stone Brick Stair=Schody z kamiennych cegieł +Inner Stone Brick Stair=Wewnętrzne schody z kamiennych cegieł +Outer Stone Brick Stair=Zewnętrzne schody z kamiennych cegieł +Stone Brick Slab=Półblok z kamiennych cegieł +Stone Block Stair=Schody z kamiennego bloku +Inner Stone Block Stair=Wewnętrzne schody z kamiennego bloku +Outer Stone Block Stair=Zewnętrzne schody z kamiennego bloku +Stone Block Slab=Półblok z kamiennego bloku +Desert Stone Stair=Schody z pustynnego kamienia +Inner Desert Stone Stair=Wewnętrzne schody z pustynnego kamienia +Outer Desert Stone Stair=Zewnętrzne schody z pustynnego kamienia +Desert Stone Slab=Półblok z pustynnego kamienia +Desert Cobblestone Stair=Schody z pustynnego bruku +Inner Desert Cobblestone Stair=Wewnętrzne schody z pustynnego bruku +Outer Desert Cobblestone Stair=Zewnętrzne schody z pustynnego bruku +Desert Cobblestone Slab=Półblok z pustynnego bruku +Desert Stone Brick Stair=Schody z pustynnych kamiennych cegieł +Inner Desert Stone Brick Stair=Wewnętrzne schody z pustynnych kamiennych cegieł +Outer Desert Stone Brick Stair=Zewnętrzne schody z pustynnych kamiennych cegieł +Desert Stone Brick Slab=Półblok z pustynnych kamiennych cegieł +Desert Stone Block Stair=Schody z pustynnego kamiennego bloku +Inner Desert Stone Block Stair=Wewnętrzne schody z pustynnego kamiennego bloku +Outer Desert Stone Block Stair=Zewnętrzne schody z pustynnego kamiennego bloku +Desert Stone Block Slab=Półblok z pustynnego kamiennego bloku +Sandstone Stair=Schody z piaskowca +Inner Sandstone Stair=Wewnętrzne schody z piaskowca +Outer Sandstone Stair=Zewnętrzne schody z piaskowca +Sandstone Slab=Półblok z piaskowca +Sandstone Brick Stair=Schody z piaskowcowych cegieł +Inner Sandstone Brick Stair=Wewnętrzne schody z piaskowcowych cegieł +Outer Sandstone Brick Stair=Zewnętrzne schody z piaskowcowych cegieł +Sandstone Brick Slab=Półblok z piaskowcowych cegieł +Sandstone Block Stair=Schody z piaskowcowego bloku +Inner Sandstone Block Stair=Wewnętrzne schody z piaskowcowego bloku +Outer Sandstone Block Stair=Zewnętrzne schody z piaskowcowego bloku +Sandstone Block Slab=Półblok z piaskowcowego bloku +Desert Sandstone Stair=Schody z pustynnego piaskowca +Inner Desert Sandstone Stair=Wewnętrzne schody z pustynnego piaskowca +Outer Desert Sandstone Stair=Zewnętrzne schody z pustynnego piaskowca +Desert Sandstone Slab=Półblok z pustynnego piaskowca +Desert Sandstone Brick Stair=Schody z pustynnych piaskowcowych cegieł +Inner Desert Sandstone Brick Stair=Wewnętrzne schody z pustynnych piaskowcowych cegieł +Outer Desert Sandstone Brick Stair=Zewnętrzne schody z pustynnych piaskowcowych cegieł +Desert Sandstone Brick Slab=Półblok z pustynnych piaskowcowych cegieł +Desert Sandstone Block Stair=Schody z pustynnego piaskowcowego bloku +Inner Desert Sandstone Block Stair=Wewnętrzne schody z pustynnego piaskowcowego bloku +Outer Desert Sandstone Block Stair=Zewnętrzne schody z pustynnego piaskowcowego bloku +Desert Sandstone Block Slab=Półblok z pustynnego piaskowcowego bloku +Silver Sandstone Stair=Schody z srebrnego piaskowca +Inner Silver Sandstone Stair=Wewnętrzne schody z srebrnego piaskowca +Outer Silver Sandstone Stair=Zewnętrzne schody z srebrnego piaskowca +Silver Sandstone Slab=Półblok z srebrnego piaskowca +Silver Sandstone Brick Stair=Schody z srebrnych piaskowcowych cegieł +Inner Silver Sandstone Brick Stair=Wewnętrzne schody z srebrnych piaskowcowych cegieł +Outer Silver Sandstone Brick Stair=Zewnętrzne schody z srebrnych piaskowcowych cegieł +Silver Sandstone Brick Slab=Półblok z srebrnych piaskowcowych cegieł +Silver Sandstone Block Stair=Schody z srebrnego piaskowcowego bloku +Inner Silver Sandstone Block Stair=Wewnętrzne schody z srebrnego piaskowcowego bloku +Outer Silver Sandstone Block Stair=Zewnętrzne schody z srebrnego piaskowcowego bloku +Silver Sandstone Block Slab=Półblok z srebrnego piaskowcowego bloku +Obsidian Stair=Schody z obsydianu +Inner Obsidian Stair=Wewnętrzne schody z obsydianu +Outer Obsidian Stair=Zewnętrzne schody z obsydianu +Obsidian Slab=Półblok z obsydianu +Obsidian Brick Stair=Schody z obsydianowych cegieł +Inner Obsidian Brick Stair=Wewnętrzne schody z obsydianowych cegieł +Outer Obsidian Brick Stair=Zewnętrzne schody z obsydianowych cegieł +Obsidian Brick Slab=Półblok z obsydianowych cegieł +Obsidian Block Stair=Schody z obsydianowego bloku +Inner Obsidian Block Stair=Wewnętrzne schody z obsydianowego bloku +Outer Obsidian Block Stair=Zewnętrzne schody z obsydianowego bloku +Obsidian Block Slab=Półblok z obsydianowego bloku +Brick Stair=Schody z cegieł +Inner Brick Stair=Wewnętrzne schody z cegieł +Outer Brick Stair=Zewnętrzne schody z cegieł +Brick Slab=Półblok z cegieł +Steel Block Stair=Schody z bloku stali +Inner Steel Block Stair=Wewnętrzne schody z bloku stali +Outer Steel Block Stair=Zewnętrzne schody z bloku stali +Steel Block Slab=Półblok z bloku stali +Tin Block Stair=Schody z bloku cyny +Inner Tin Block Stair=Wewnętrzne schody z bloku cyny +Outer Tin Block Stair=Zewnętrzne schody z bloku cyny +Tin Block Slab=Półblok z bloku cyny +Copper Block Stair=Schody z bloku miedzi +Inner Copper Block Stair=Wewnętrzne schody z bloku miedzi +Outer Copper Block Stair=Zewnętrzne schody z bloku miedzi +Copper Block Slab=Półblok z bloku miedzi +Bronze Block Stair=Schody z bloku brązu +Inner Bronze Block Stair=Wewnętrnze schody z bloku brązu +Outer Bronze Block Stair=Zewnętrzne schody z bloku brązu +Bronze Block Slab=Półblok z bloku brązu +Gold Block Stair=Schody z bloku złota +Inner Gold Block Stair=Wewnętrzne schody z block złota +Outer Gold Block Stair=Zewnętrzne schody z bloku złota +Gold Block Slab=Półblok z bloku złota +Ice Stair=Schody z lodu +Inner Ice Stair=Wewnętrzne schody z lodu +Outer Ice Stair=Zewnętrzne schody z lodu +Ice Slab=Półblok z lodu +Snow Block Stair=Schody ze śniegu +Inner Snow Block Stair=Wewnętrzne schody ze śniegu +Outer Snow Block Stair=Zewnętrzne schody ze śniegu +Snow Block Slab=Półblok ze śniegu diff --git a/data/games/garage/mods/stairs/locale/stairs.pt_BR.tr b/data/games/garage/mods/stairs/locale/stairs.pt_BR.tr new file mode 100644 index 0000000..41777a8 --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.pt_BR.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Escada de vidro +Glass Slab=Placa de vidro +Inner Glass Stair=Escada interior de vidro +Outer Glass Stair=Escada exterior de vidro +Obsidian Glass Stair=Escada de vidro de obsidiana +Obsidian Glass Slab=Placa de vidro de obsidiana +Inner Obsidian Glass Stair=Escada interior de vidro de obsidiana +Outer Obsidian Glass Stair=Escada exterior de vidro de obsidiana +Wooden Stair=Escada de madeira +Inner Wooden Stair=Escada interior de madeira +Outer Wooden Stair=Escada exterior de madeira +Wooden Slab=Laje de madeira +Jungle Wood Stair=Escada de madeira da selva +Inner Jungle Wood Stair=Escada interior de madeira da selva +Outer Jungle Wood Stair=Escada exterior de madeira da selva +Jungle Wood Slab=Laje de madeira da selva +Pine Wood Stair=Escada de madeira de pinho +Inner Pine Wood Stair=Escada interior de madeira de pinho +Outer Pine Wood Stair=Escada exterior de madeira de pinho +Pine Wood Slab=Laje de madeira de pinho +Acacia Wood Stair=Escada de madeira de acácia +Inner Acacia Wood Stair=Escada interior de madeira de acácia +Outer Acacia Wood Stair=Escada exterior de madeira de acácia +Acacia Wood Slab=Placa de madeira de acácia +Aspen Wood Stair=Escada de Álamo +Inner Aspen Wood Stair=Escada interior de Álamo +Outer Aspen Wood Stair=Escada exterior de Álamo +Aspen Wood Slab=Laje de Álamo +Stone Stair=Escada de Pedra +Inner Stone Stair=Escada interior de Pedra +Outer Stone Stair=Escada exterior de Pedra +Stone Slab=Laje de pedra +Cobblestone Stair=Escada de paralelepípedo +Inner Cobblestone Stair=Escada interior de paralelepípedo +Outer Cobblestone Stair=Escada exterior de paralelepípedo +Cobblestone Slab=Laje de paralelepípedo +Mossy Cobblestone Stair=Escada de paralelepípedo com musgo +Inner Mossy Cobblestone Stair=Escada interior de paralelepípedo com musgo +Outer Mossy Cobblestone Stair=Escada exterior de paralelepípedo com musgo +Mossy Cobblestone Slab=Laje de paralelepípedo com musgo +Stone Brick Stair=Escada de tijolo de pedra +Inner Stone Brick Stair=Escada interior de tijolo de pedra +Outer Stone Brick Stair=Escada exterior de tijolo de pedra +Stone Brick Slab=Laje de tijolo de pedra +Stone Block Stair=Escada Bloco de Pedra +Inner Stone Block Stair=Escada Interna de Bloco de Pedra +Outer Stone Block Stair=Escada Externa de Bloco de Pedra +Stone Block Slab=Laje de bloco de pedra +Desert Stone Stair=Escada de Pedra do Deserto +Inner Desert Stone Stair=Escada Interior de Pedra do Deserto +Outer Desert Stone Stair=Escada Exterior de Pedra do Deserto +Desert Stone Slab=Laje de pedra do deserto +Desert Cobblestone Stair=Escada de paralelepípedo do deserto +Inner Desert Cobblestone Stair=Escada interior de paralelepípedo do deserto +Outer Desert Cobblestone Stair=Escada exterior de paralelepípedo do deserto +Desert Cobblestone Slab=Laje de paralelepípedo do deserto +Desert Stone Brick Stair=Escada de tijolo de pedra do deserto +Inner Desert Stone Brick Stair=Escada interior de tijolos de pedra do deserto +Outer Desert Stone Brick Stair=Escada exterior de tijolos de pedra do deserto +Desert Stone Brick Slab=Laje de tijolo de pedra do deserto +Desert Stone Block Stair=Escada de Bloco de Pedra do Deserto +Inner Desert Stone Block Stair=Escada interior de bloco de pedra do deserto +Outer Desert Stone Block Stair=Escada exterior de Bloco de Pedra do Deserto +Desert Stone Block Slab=Laje do bloco de pedra do deserto +Sandstone Stair=Escada de arenito +Inner Sandstone Stair=Escada interior de arenito +Outer Sandstone Stair=Escada Exterior de Arenito +Sandstone Slab=Laje de arenito +Sandstone Brick Stair=Escada de tijolo de arenito +Inner Sandstone Brick Stair=Escada interior de tijolos de arenito +Outer Sandstone Brick Stair=Escada Exterior de Tijolo de Arenito +Sandstone Brick Slab=Laje de tijolo de arenito +Sandstone Block Stair=Escada do Bloco de Arenito +Inner Sandstone Block Stair=Escada interior de bloco de arenito +Outer Sandstone Block Stair=Escada exterior de bloco de arenito +Sandstone Block Slab=Laje de bloco de arenito +Desert Sandstone Stair=Escada de arenito do deserto +Inner Desert Sandstone Stair=Escada interior de arenito do deserto +Outer Desert Sandstone Stair=Escada exterior de arenito do deserto +Desert Sandstone Slab=Laje de arenito do deserto +Desert Sandstone Brick Stair=Escada de tijolos de arenito do deserto +Inner Desert Sandstone Brick Stair=Escada interior de tijolos de arenito do deserto +Outer Desert Sandstone Brick Stair=Escada exterior de tijolos de arenito do deserto +Desert Sandstone Brick Slab=Laje de tijolo de arenito do deserto +Desert Sandstone Block Stair=Escada do bloco de arenito do deserto +Inner Desert Sandstone Block Stair=Escada interior do bloco de arenito do deserto +Outer Desert Sandstone Block Stair=Escada exterior de bloco de arenito do deserto +Desert Sandstone Block Slab=Laje de bloco de arenito do deserto +Silver Sandstone Stair=Escada de arenito prateado +Inner Silver Sandstone Stair=Escada interior de Arenito Prateado +Outer Silver Sandstone Stair=Escada exterior de Arenito Prateado +Silver Sandstone Slab=Laje de arenito prateado +Silver Sandstone Brick Stair=Escada de tijolos de arenito prateado +Inner Silver Sandstone Brick Stair=Escada interior de tijolos de arenito prateado +Outer Silver Sandstone Brick Stair=Escada exterior de tijolos de arenito prateado +Silver Sandstone Brick Slab=Laje de tijolo de arenito prateado +Silver Sandstone Block Stair=Escada de blocos de arenito prateado +Inner Silver Sandstone Block Stair=Escada interior de bloco de arenito prateado +Outer Silver Sandstone Block Stair=Escada exterior de bloco de arenito prateado +Silver Sandstone Block Slab=Laje de bloco de arenito prateado +Obsidian Stair=Escada de Obsidiana +Inner Obsidian Stair=Escada interior de Obsidiana +Outer Obsidian Stair=Escada exterior de Obsidiana +Obsidian Slab=Laje de Obsidiana +Obsidian Brick Stair=Escada de Tijolos de Obsidiana +Inner Obsidian Brick Stair=Escada interna de Tijolos de Obsidiana +Outer Obsidian Brick Stair=Escada externa de Tijolos de Obsidiana +Obsidian Brick Slab=Laje de tijolos de obsidiana +Obsidian Block Stair=Escada de Bloco de Obsidiana +Inner Obsidian Block Stair=Escada interior de Bloco de obsidiana +Outer Obsidian Block Stair=Escada exterior de Bloco de obsidiana +Obsidian Block Slab=Laje de bloco de obsidiana +Brick Stair=Escada de Tijolos +Inner Brick Stair=Escada interior de Tijolos +Outer Brick Stair=Escada exterior de Tijolos +Brick Slab=Laje de tijolos +Steel Block Stair=Escada de bloco de aço +Inner Steel Block Stair=Escada interior de bloco de aço +Outer Steel Block Stair=Escada exterior de bloco de aço +Steel Block Slab=Laje de bloco de aço +Tin Block Stair=Escada de bloco de estanho +Inner Tin Block Stair=Escada interior de bloco de estanho +Outer Tin Block Stair=Escada exterior de bloco de lata +Tin Block Slab=Laje de bloco de estanho +Copper Block Stair=Escada de bloco de cobre +Inner Copper Block Stair=Escada interior de Bloco de Cobre +Outer Copper Block Stair=Escada exterior do Bloco de Cobre +Copper Block Slab=Laje de bloco de cobre +Bronze Block Stair=Escada Bloco de Bronze +Inner Bronze Block Stair=Escada interior de bloco de bronze +Outer Bronze Block Stair=Escada exterior de Bloco de Bronze +Bronze Block Slab=Laje de bloco de bronze +Gold Block Stair=Escada Bloco de Ouro +Inner Gold Block Stair=Escada interior de Bloco de Ouro +Outer Gold Block Stair=Escada exterior de Bloco de Ouro +Gold Block Slab=Laje de Bloco de Ouro +Ice Stair=Escada de gelo +Inner Ice Stair=Escada de gelo interior +Outer Ice Stair=Escada de gelo exterior +Ice Slab=Laje de gelo +Snow Block Stair=Escada Bloco de Neve +Inner Snow Block Stair=Escada de bloco de neve interior +Outer Snow Block Stair=Escada de bloco de neve exterior +Snow Block Slab=Laje de bloco de neve diff --git a/data/games/garage/mods/stairs/locale/stairs.ru.tr b/data/games/garage/mods/stairs/locale/stairs.ru.tr new file mode 100644 index 0000000..1296d4a --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.ru.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Стеклянные ступени +Glass Slab=Стеклянная плита +Inner Glass Stair=Внутренние стеклянные ступени +Outer Glass Stair=Внешние стеклянные ступени +Obsidian Glass Stair=Ступени из обсидианового стекла +Obsidian Glass Slab=Плита из обсидианового стекла +Inner Obsidian Glass Stair=Внутренние ступени из обсидианового стекла +Outer Obsidian Glass Stair=Внешние ступени из обсидианового стекла +Wooden Stair=Деревянные ступени +Inner Wooden Stair=Внутренние деревянные ступени +Outer Wooden Stair=Внешние деревянные ступени +Wooden Slab=Деревянная плита +Jungle Wood Stair=Ступени из тропического дерева +Inner Jungle Wood Stair=Внутренние ступени из тропического дерева +Outer Jungle Wood Stair=Внешние ступени из тропического дерева +Jungle Wood Slab=Плита из тропического дерева +Pine Wood Stair=Сосновые ступени +Inner Pine Wood Stair=Внутренние сосновые ступени +Outer Pine Wood Stair=Внешние сосновые ступени +Pine Wood Slab=Сосновая плита +Acacia Wood Stair=Акациевые ступени +Inner Acacia Wood Stair=Внутренние акациевые ступени +Outer Acacia Wood Stair=Внешние акациевые ступени +Acacia Wood Slab=Акациевая плита +Aspen Wood Stair=Осиновые ступени +Inner Aspen Wood Stair=Внутренние осиновые ступени +Outer Aspen Wood Stair=Внешние осиновые ступени +Aspen Wood Slab=Осиновая плита +Stone Stair=Каменные ступени +Inner Stone Stair=Внутренние каменные ступени +Outer Stone Stair=Внешние каменные ступени +Stone Slab=Каменная плита +Cobblestone Stair=Булыжниковые ступени +Inner Cobblestone Stair=Внутренние булыжниковые ступени +Outer Cobblestone Stair=Внешние булыжниковые ступени +Cobblestone Slab=Булыжниковая плита +Mossy Cobblestone Stair=Ступени из замшелого булыжника +Inner Mossy Cobblestone Stair=Внутренние ступени из замшелого булыжника +Outer Mossy Cobblestone Stair=Внешние ступени из замшелого булыжника +Mossy Cobblestone Slab=Плита из замшелого булыжника +Stone Brick Stair=Cтупени из каменных кирпичей +Inner Stone Brick Stair=Внутренние ступени из каменных кирпичей +Outer Stone Brick Stair=Внешние ступени из каменных кирпичей +Stone Brick Slab=Плита из каменных кирпичей +Stone Block Stair=Ступени из камня +Inner Stone Block Stair=Внутренние ступени из камня +Outer Stone Block Stair=Внешние ступени из камня +Stone Block Slab=Плита из камня +Desert Stone Stair=Ступени из пустынного камня +Inner Desert Stone Stair=Внутренние ступени из пустынного камня +Outer Desert Stone Stair=Внешние ступени из пустынного камня +Desert Stone Slab=Плита из пустынного камня +Desert Cobblestone Stair=Ступени из пустынного булыжника +Inner Desert Cobblestone Stair=Внутренние ступени из пустынного булыжника +Outer Desert Cobblestone Stair=Внешние ступени из пустынного булыжника +Desert Cobblestone Slab=Плита из пустынного булыжника +Desert Stone Brick Stair=Ступени из пустынных каменных кирпичей +Inner Desert Stone Brick Stair=Внутренние ступени из пустынных каменных кирпичей +Outer Desert Stone Brick Stair=Внешние ступени из пустынных каменных кирпичей +Desert Stone Brick Slab=Плита из пустынных каменных кирпичей +Desert Stone Block Stair=Ступени из пустынного каменного блока +Inner Desert Stone Block Stair=Внутренние ступени из пустынного каменного блока +Outer Desert Stone Block Stair=Внешние ступени из пустынного каменного блока +Desert Stone Block Slab=Плита из пустынного каменного блока +Sandstone Stair=Песчаниковые ступени +Inner Sandstone Stair=Внутренние песчаниковые ступени +Outer Sandstone Stair=Внешние песчаниковые ступени +Sandstone Slab=Песчаниковая плита +Sandstone Brick Stair=Ступени из песчаниковых кирпичей +Inner Sandstone Brick Stair=Внутренние ступени из песчаниковых кирпичей +Outer Sandstone Brick Stair=Внешние ступени из песчаниковых кирпичей +Sandstone Brick Slab=Плита из песчаниковых кирпичей +Sandstone Block Stair=Ступени из песчаникового блока +Inner Sandstone Block Stair=Внутренние ступени из песчаникового блока +Outer Sandstone Block Stair=Внешние ступени из песчаникового блока +Sandstone Block Slab=Плита из песчаникового блока +Desert Sandstone Stair=Ступени из пустынного песчаника +Inner Desert Sandstone Stair=Внутренние ступени из пустынного песчаника +Outer Desert Sandstone Stair=Внешние ступени из пустынного песчаника +Desert Sandstone Slab=Плита из пустынного песчаника +Desert Sandstone Brick Stair=Ступени из пустынных песчаниковых кирпичей +Inner Desert Sandstone Brick Stair=Внутренние ступени из пустынных песчаниковых кирпичей +Outer Desert Sandstone Brick Stair=Внешние ступени из пустынных песчаниковых кирпичей +Desert Sandstone Brick Slab=Плита из пустынных песчаниковых кирпичей +Desert Sandstone Block Stair=Ступени из пустынного песчаникового блока +Inner Desert Sandstone Block Stair=Внутренние ступени из пустынного песчаникового блока +Outer Desert Sandstone Block Stair=Внешние ступени из пустынного песчаникового блока +Desert Sandstone Block Slab=Плита из пустынного песчаникового блока +Silver Sandstone Stair=Ступени из серебристого песчаника +Inner Silver Sandstone Stair=Внутренние ступени из серебристого песчаника +Outer Silver Sandstone Stair=Внешние ступени из серебристого песчаника +Silver Sandstone Slab=Плита из серебристого песчаника +Silver Sandstone Brick Stair=Ступени из серебристых песчаниковых кирпичей +Inner Silver Sandstone Brick Stair=Внутренние ступени из серебристых песчаниковых кирпичей +Outer Silver Sandstone Brick Stair=Внешние ступени из серебристых песчаниковых кирпичей +Silver Sandstone Brick Slab=Плита из серебристых песчаниковых кирпичей +Silver Sandstone Block Stair=Ступени из серебристого песчаникового блока +Inner Silver Sandstone Block Stair=Внутренние ступени из серебристого песчаникового блока +Outer Silver Sandstone Block Stair=Внешние ступени из серебристого песчаникового блока +Silver Sandstone Block Slab=Плита из серебристого песчаникового блока +Obsidian Stair=Обсидиановые ступени +Inner Obsidian Stair=Внутренние обсидиановые ступени +Outer Obsidian Stair=Внешние обсидиановые ступени +Obsidian Slab=Обсидиановая плита +Obsidian Brick Stair=Ступени из обсидиановых кирпичей +Inner Obsidian Brick Stair=Внутренние ступени из обсидиановых кирпичей +Outer Obsidian Brick Stair=Внешние ступени из обсидиановых кирпичей +Obsidian Brick Slab=Плита из обсидиановых кирпичей +Obsidian Block Stair=Ступени из обсидианового блока +Inner Obsidian Block Stair=Внутренние ступени из обсидианового блока +Outer Obsidian Block Stair=Внешние ступени из обсидианового блока +Obsidian Block Slab=Плита из обсидианового блока +Brick Stair=Кирпичные ступени +Inner Brick Stair=Внутренние кирпичные ступени +Outer Brick Stair=Внешние кирпичные ступени +Brick Slab=Кирпичная плита +Steel Block Stair=Стальные ступени +Inner Steel Block Stair=Внутренние стальные ступени +Outer Steel Block Stair=Внешние стальные ступени +Steel Block Slab=Стальная плита +Tin Block Stair=Оловянные ступени +Inner Tin Block Stair=Внутренние оловянные ступени +Outer Tin Block Stair=Внешние оловянные ступени +Tin Block Slab=Оловянная плита +Copper Block Stair=Медные ступени +Inner Copper Block Stair=Внутренние медные ступени +Outer Copper Block Stair=Внешние медные ступени +Copper Block Slab=Медная плита +Bronze Block Stair=Бронзовые ступени +Inner Bronze Block Stair=Внутренние бронзовые ступени +Outer Bronze Block Stair=Внешние бронзовые ступени +Bronze Block Slab=Бронзовая плита +Gold Block Stair=Золотые ступени +Inner Gold Block Stair=Внутренние золотые ступени +Outer Gold Block Stair=Внешние золотые ступени +Gold Block Slab=Золотая плита +Ice Stair=Ледяные ступени +Inner Ice Stair=Внутренние ледяные ступени +Outer Ice Stair=Внешние ледяные ступени +Ice Slab=Ледяная плита +Snow Block Stair=Снежные ступени +Inner Snow Block Stair=Внутренние снежные ступени +Outer Snow Block Stair=Внешние снежные ступени +Snow Block Slab=Снежная плита diff --git a/data/games/garage/mods/stairs/locale/stairs.sk.tr b/data/games/garage/mods/stairs/locale/stairs.sk.tr new file mode 100644 index 0000000..b006fdb --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.sk.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Sklenené schod +Glass Slab=Sklenený stupienok +Inner Glass Stair=Vnútorný sklenené schod +Outer Glass Stair=Vonkajší sklenené schod +Obsidian Glass Stair=Obsidiánové sklenené schod +Obsidian Glass Slab=Obsidiánový sklenený stupienok +Inner Obsidian Glass Stair=Vnútorný obsidiánové sklenené schod +Outer Obsidian Glass Stair=Vonkajší obsidiánové sklenené schod +Wooden Stair=Drevené schod +Inner Wooden Stair=Vnútorný drevené schod +Outer Wooden Stair=Vonkajší drevené schod +Wooden Slab=Drevený stupienok +Jungle Wood Stair=Drevené schod z džungľového dreva +Inner Jungle Wood Stair=Vnútorný drevené schod z džungľového dreva +Outer Jungle Wood Stair=Vonkajší drevené schod z džungľového dreva +Jungle Wood Slab=Stupienok z džungľového dreva +Pine Wood Stair=Drevené schod z borovicového dreva +Inner Pine Wood Stair=Vnútorný drevené schod z borovicového dreva +Outer Pine Wood Stair=Vonkajší drevené schod z borovicového dreva +Pine Wood Slab=Stupienok z borovicového dreva +Acacia Wood Stair=Drevené schod z akáciového dreva +Inner Acacia Wood Stair=Vnútorný drevené schod z akáciového dreva +Outer Acacia Wood Stair=Vonkajší drevené schod z akáciového dreva +Acacia Wood Slab=Stupienok z akáciového dreva +Aspen Wood Stair=Drevené schod z osiky +Inner Aspen Wood Stair=Vnútorný drevené schod z osiky +Outer Aspen Wood Stair=Vonkajší drevené schod z osiky +Aspen Wood Slab=Stupienok z osiky +Stone Stair=Kamenné schod +Inner Stone Stair=Vnútorný kamenné schod +Outer Stone Stair=Vonkajší kamenné schod +Stone Slab=Kamenný stupienok +Cobblestone Stair=Schod z dlažbového kameňa +Inner Cobblestone Stair=Vnútorný schod z dlažbového kameňa +Outer Cobblestone Stair=Vonkajší schod z dlažbového kameňa +Cobblestone Slab=Stupienok z dlažbového kameňa +Mossy Cobblestone Stair=Schod dlažbového kameňa obrastené machom +Inner Mossy Cobblestone Stair=Vnútorný schod dlažbového kameňa obrastené machom +Outer Mossy Cobblestone Stair=Vonkajší schod dlažbového kameňa obrastené machom +Mossy Cobblestone Slab=Stupienok z dlažbového kameňa obrastený machom +Stone Brick Stair=Schod z kamenných tehál +Inner Stone Brick Stair=Vnútorný schod z kamenných tehál +Outer Stone Brick Stair=Vonkajší schod z kamenných tehál +Stone Brick Slab=Stupienok z kamenných tehál +Stone Block Stair=Schod z kameňa +Inner Stone Block Stair=Vnútorný schod z kameňa +Outer Stone Block Stair=Vonkajší schod z kameňa +Stone Block Slab=Stupienok z kameňa +Desert Stone Stair=Schod z púštneho kameňa +Inner Desert Stone Stair=Vnútorný schod z púštneho kameňa +Outer Desert Stone Stair=Vonkajší schod z púštneho kameňa +Desert Stone Slab=Stupienok z púštneho kameňa +Desert Cobblestone Stair=Schod z púštneho dlažbového kameňa +Inner Desert Cobblestone Stair=Vnútorný schod z púštneho dlažbového kameňa +Outer Desert Cobblestone Stair=Vonkajší schod z púštneho dlažbového kameňa +Desert Cobblestone Slab=Stupienok z púštneho dlažbového kameňa +Desert Stone Brick Stair=Schod z tehiel z púštneho kameňa +Inner Desert Stone Brick Stair=Vnútorný schod z tehiel z púštneho kameňa +Outer Desert Stone Brick Stair=Vonkajší schod z tehiel z púštneho kameňa +Desert Stone Brick Slab=Stupienok z tehiel z púštneho kameňa +Desert Stone Block Stair=Schod z blokov púštneho kameňa +Inner Desert Stone Block Stair=Vnútorný schod z blokov púštneho kameňa +Outer Desert Stone Block Stair=Vonkajší schod z blokov púštneho kameňa +Desert Stone Block Slab=Stupienok z blokov púštneho kameňa +Sandstone Stair=Schod z pieskovca +Inner Sandstone Stair=Vnútorný schod z pieskovca +Outer Sandstone Stair=Vonkajší schod z pieskovca +Sandstone Slab=Stupienok z pieskovca +Sandstone Brick Stair=Schod z tehál pieskovca +Inner Sandstone Brick Stair=Vnútorný schod z tehál pieskovca +Outer Sandstone Brick Stair=Vonkajší schod z tehál pieskovca +Sandstone Brick Slab=Stupienok z tehál pieskovca +Sandstone Block Stair=Schod z blokov pieskovca +Inner Sandstone Block Stair=Vnútorný schod z blokov pieskovca +Outer Sandstone Block Stair=Vonkajší schod z blokov pieskovca +Sandstone Block Slab=Stupienok z blokov pieskovca +Desert Sandstone Stair=Schod z púštneho pieskovca +Inner Desert Sandstone Stair=Vnútorný schod z púštneho pieskovca +Outer Desert Sandstone Stair=Vonkajší schod z púštneho pieskovca +Desert Sandstone Slab=Stupienok z púštneho pieskovca +Desert Sandstone Brick Stair=Schod z tehál z púštneho pieskovca +Inner Desert Sandstone Brick Stair=Vnútorný schod z tehál z púštneho pieskovca +Outer Desert Sandstone Brick Stair=Vonkajší schod z tehál z púštneho pieskovca +Desert Sandstone Brick Slab=Stupienok z tehál z púštneho pieskovca +Desert Sandstone Block Stair=Schod z blokov púštneho pieskovca +Inner Desert Sandstone Block Stair=Vnútorný schod z blokov púštneho pieskovca +Outer Desert Sandstone Block Stair=Vonkajší schod z blokov púštneho pieskovca +Desert Sandstone Block Slab=Stupienok z blokov púštneho pieskovca +Silver Sandstone Stair=Schod zo strieborného pieskovca +Inner Silver Sandstone Stair=Vnútorný schod zo strieborného pieskovca +Outer Silver Sandstone Stair=Vonkajší schod zo strieborného pieskovca +Silver Sandstone Slab=Stupienok zo strieborného pieskovca +Silver Sandstone Brick Stair=Schod z tehál zo strieborného pieskovca +Inner Silver Sandstone Brick Stair=Vnútorný schod z tehál zo strieborného pieskovca +Outer Silver Sandstone Brick Stair=Vonkajší schod z tehál zo strieborného pieskovca +Silver Sandstone Brick Slab=Stupienok z tehál zo strieborného pieskovca +Silver Sandstone Block Stair=Schod z blokov strieborného pieskovca +Inner Silver Sandstone Block Stair=Vnútorný schod z blokov strieborného pieskovca +Outer Silver Sandstone Block Stair=Vonkajší schod z blokov strieborného pieskovca +Silver Sandstone Block Slab=Stupienok z blokov strieborného pieskovca +Obsidian Stair=Schod z obsidiánu +Inner Obsidian Stair=Vnútorný schod z obsidiánu +Outer Obsidian Stair=Vonkajší schod z obsidiánu +Obsidian Slab=Stupienok z obsidiánu +Obsidian Brick Stair=Schod z tehál obsidiánu +Inner Obsidian Brick Stair=Vnútorný schod z tehál obsidiánu +Outer Obsidian Brick Stair=Vonkajší schod z tehál obsidiánu +Obsidian Brick Slab=Stupienok z tehál obsidiánu +Obsidian Block Stair=Schod z bloku obsidiánu +Inner Obsidian Block Stair=Vnútorný schod z bloku obsidiánu +Outer Obsidian Block Stair=Vonkajší schod z bloku obsidiánu +Obsidian Block Slab=Stupienok z bloku obsidiánu +Brick Stair=Schod z tehál +Inner Brick Stair=Vnútorný schod z tehál +Outer Brick Stair=Vonkajší schod z tehál +Brick Slab=Stupienok z tehál +Steel Block Stair=Oceľový schod +Inner Steel Block Stair=Vnútorný oceľový schod +Outer Steel Block Stair=Vonkajší oceľový schod +Steel Block Slab=Oceľový stupienok +Tin Block Stair=Cínový schod +Inner Tin Block Stair=Vnútorný cínový schod +Outer Tin Block Stair=Vonkajší cínový schod +Tin Block Slab=Cínový stupienok +Copper Block Stair=Medený schod +Inner Copper Block Stair=Vnútorný medený schod +Outer Copper Block Stair=Vonkajší medený schod +Copper Block Slab=Medený stupienok +Bronze Block Stair=Bronzový schod +Inner Bronze Block Stair=Vnútorný bronzový schod +Outer Bronze Block Stair=Vonkajší bronzový schod +Bronze Block Slab=Bronzový stupienok +Gold Block Stair=Zlatý schod +Inner Gold Block Stair=Vnútorný zlatý schod +Outer Gold Block Stair=Vonkajší zlatý schod +Gold Block Slab=Zlatý stupienok +Ice Stair=Ľadový schod +Inner Ice Stair=Vnútorný ľadový schod +Outer Ice Stair=Vonkajší ľadový schod +Ice Slab=Ľadový stupienok +Snow Block Stair=Snehový schod +Inner Snow Block Stair=Vnútorný snehový schod +Outer Snow Block Stair=Vonkajší snehový schod +Snow Block Slab=Snehový stupienok diff --git a/data/games/garage/mods/stairs/locale/stairs.sv.tr b/data/games/garage/mods/stairs/locale/stairs.sv.tr new file mode 100644 index 0000000..8044af8 --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.sv.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Glastrappa +Glass Slab=Glasplatta +Inner Glass Stair=Inre glasstrappa +Outer Glass Stair=Yttre glasstrappa +Obsidian Glass Stair=Obsidianglasstrappa +Obsidian Glass Slab=Obsidianglasplatta +Inner Obsidian Glass Stair=Inre obsidianglastrappa +Outer Obsidian Glass Stair=Yttre obsidianglastrappa +Wooden Stair=Trätrappa +Inner Wooden Stair=Inre trätrappa +Outer Wooden Stair=Yttre trätrappa +Wooden Slab=Träplatta +Jungle Wood Stair=Djungelträtrappa +Inner Jungle Wood Stair=Inre djungelträtrappa +Outer Jungle Wood Stair=Ytter djungelträtrappa +Jungle Wood Slab=Djungelträplatta +Pine Wood Stair=Tallträplatta +Inner Pine Wood Stair=Inre tallträplatta +Outer Pine Wood Stair=Ytter tallträplatta +Pine Wood Slab=Tallskiva +Acacia Wood Stair=Acaciatrappa +Inner Acacia Wood Stair=Inre acaciatrappa +Outer Acacia Wood Stair=Yttre acaciatrappa +Acacia Wood Slab=Acaciaplatta +Aspen Wood Stair=Aspträtrappa +Inner Aspen Wood Stair=Inre aspträtrappa +Outer Aspen Wood Stair=Yttre aspträtrappa +Aspen Wood Slab=Aspträplatta +Stone Stair=Stentrappa +Inner Stone Stair=Inre stentrappa +Outer Stone Stair=Yttre stentrappa +Stone Slab=Stenplatta +Cobblestone Stair=Kullerstenstrappa +Inner Cobblestone Stair=Inre kullerstenstrappa +Outer Cobblestone Stair=Yttre kullerstenstrappa +Cobblestone Slab=Kullerstenplatta +Mossy Cobblestone Stair=Mossig kullerstenstrappa +Inner Mossy Cobblestone Stair=Inre mossig kullerstenstrappa +Outer Mossy Cobblestone Stair=Yttre mossig kullerstenstrappa +Mossy Cobblestone Slab=Mossig kullerstenplatta +Stone Brick Stair=Stentegeltrappa +Inner Stone Brick Stair=Inre stentegeltrappa +Outer Stone Brick Stair=Yttre stentegeltrappa +Stone Brick Slab=Stentegelplatta +Stone Block Stair=Stenblockstrappa +Inner Stone Block Stair=Inre stenblockstrappa +Outer Stone Block Stair=Yttre stenblockstrappa +Stone Block Slab=Stenblocksplatta +Desert Stone Stair=Ökenstentrappa +Inner Desert Stone Stair=Inre ökenstentrappa +Outer Desert Stone Stair=Yttre ökenstentrappa +Desert Stone Slab=Ökenstenplatta +Desert Cobblestone Stair=Ökenkullerstenstrappa +Inner Desert Cobblestone Stair=Inre ökenkullerstenstrappa +Outer Desert Cobblestone Stair=Yttre ökenkullerstenstrappa +Desert Cobblestone Slab=Ökenkullerstensplatta +Desert Stone Brick Stair=Ökentegelstenstrappa +Inner Desert Stone Brick Stair=Inre Ökentegelstenstrappa +Outer Desert Stone Brick Stair=Yttre Ökentegelstenstrappa +Desert Stone Brick Slab=Ökentegelstensplatta +Desert Stone Block Stair=Ökenstenblockstrappa +Inner Desert Stone Block Stair=Inre ökenstenblockstrappa +Outer Desert Stone Block Stair=Yttre ökenstenblockstrappa +Desert Stone Block Slab=Ökenstenblocksplatta +Sandstone Stair=Sandstenstrappa +Inner Sandstone Stair=Inre Sandstenstrappa +Outer Sandstone Stair=Yttre Sandstenstrappa +Sandstone Slab=Sandstenplatta +Sandstone Brick Stair=Sandstentegeltrappa +Inner Sandstone Brick Stair=Inre Sandstentegeltrappa +Outer Sandstone Brick Stair=Yttre Sandstentegeltrappa +Sandstone Brick Slab=Sandstentegelplatta +Sandstone Block Stair=Sandstenblockstrappa +Inner Sandstone Block Stair=Inre Sandstenblockstrappa +Outer Sandstone Block Stair=Yttre Sandstenblockstrappa +Sandstone Block Slab=Sandstenblocksplatta +Desert Sandstone Stair=Ökensandstenstrappa +Inner Desert Sandstone Stair=Inre ökensandstenstrappa +Outer Desert Sandstone Stair=Yttre ökensandstenstrappa +Desert Sandstone Slab=Ökensandstensplatta +Desert Sandstone Brick Stair=Ökensandstentegeltrappa +Inner Desert Sandstone Brick Stair=Inre ökensandstentegeltrappa +Outer Desert Sandstone Brick Stair=Yttre ökensandstentegeltrappa +Desert Sandstone Brick Slab=Ökensandstentegelplatta +Desert Sandstone Block Stair=Ökensandstentegeltrappa +Inner Desert Sandstone Block Stair=Inre ökensandstentegeltrappa +Outer Desert Sandstone Block Stair=Yttre ökensandstentegeltrappa +Desert Sandstone Block Slab=Ökensandstentegelplatta +Silver Sandstone Stair=Silversandstenstrappa +Inner Silver Sandstone Stair=Inre silversandstenstrappa +Outer Silver Sandstone Stair=Yttre silversandstenstrappa +Silver Sandstone Slab=Silversandstenstrappa +Silver Sandstone Brick Stair=Silversandstenstegeltrappa +Inner Silver Sandstone Brick Stair=Inre silversandstenstegeltrappa +Outer Silver Sandstone Brick Stair=Yttre silversandstenstegeltrappa +Silver Sandstone Brick Slab=Silversandstenstegelplatta +Silver Sandstone Block Stair=Silversandstenblockstrappa +Inner Silver Sandstone Block Stair=Inre silversandstenblockstrappa +Outer Silver Sandstone Block Stair=Yttre silversandstenblockstrappa +Silver Sandstone Block Slab=Silversandstenblocksplatta +Obsidian Stair=Obsidiantrappa +Inner Obsidian Stair=Inre obsidiantrappa +Outer Obsidian Stair=Yttre obsidiantrappa +Obsidian Slab=Obsidianplatta +Obsidian Brick Stair=Obsidiantegeltrappa +Inner Obsidian Brick Stair=Inre obsidiantegeltrappa +Outer Obsidian Brick Stair=Yttre obsidiantegeltrappa +Obsidian Brick Slab=Obsidiantegelplatta +Obsidian Block Stair=Obsidianblocktrappa +Inner Obsidian Block Stair=Inre Obsidianblocktrappa +Outer Obsidian Block Stair=Yttre Obsidianblocktrappa +Obsidian Block Slab=Obsidianblockplatta +Brick Stair=Tegeltrappa +Inner Brick Stair=Inre tegeltrappa +Outer Brick Stair=Yttre tegeltrappa +Brick Slab=Tegelplatta +Steel Block Stair=Ståltrappa +Inner Steel Block Stair=Inre ståltrappa +Outer Steel Block Stair=Yttre ståltrappa +Steel Block Slab=Stålplatta +Tin Block Stair=Tenntrappa +Inner Tin Block Stair=Inre tenntrappa +Outer Tin Block Stair=Yttre tenntrappa +Tin Block Slab=Tennplatta +Copper Block Stair=Koppartrappa +Inner Copper Block Stair=Inre koppartrappa +Outer Copper Block Stair=Yttre koppartrappa +Copper Block Slab=Kopparplatta +Bronze Block Stair=Bronstrappa +Inner Bronze Block Stair=Inre bronstrappa +Outer Bronze Block Stair=Yttre bronstrappa +Bronze Block Slab=Bronsplatta +Gold Block Stair=Guldtrappa +Inner Gold Block Stair=Inre guldtrappa +Outer Gold Block Stair=Yttre guldtrappa +Gold Block Slab=Guldplatta +Ice Stair=Istrappa +Inner Ice Stair=Inre istrappa +Outer Ice Stair=Yttre istrappa +Ice Slab=Isplatta +Snow Block Stair=Snöblockstrappa +Inner Snow Block Stair=Inre snöblockstrappa +Outer Snow Block Stair=Yttre snöblockstrappa +Snow Block Slab=Snöblocksplatta diff --git a/data/games/garage/mods/stairs/locale/stairs.uk.tr b/data/games/garage/mods/stairs/locale/stairs.uk.tr new file mode 100644 index 0000000..bf729a0 --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.uk.tr @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair=Скляна сходинка +Glass Slab=Скляна плита +Inner Glass Stair=Кутова скляна сходинка (внутрішній кут) +Outer Glass Stair=Кутова скляна сходинка (зовнішній кут) +Obsidian Glass Stair=Сходинка з обсидіанового скла +Obsidian Glass Slab=Плита з обсидіанового скла +Inner Obsidian Glass Stair=Кутова сходинка з обсидіанового скла (внутрішній кут) +Outer Obsidian Glass Stair=Кутова сходинка з обсидіанового скла (зовнішній кут) +Wooden Stair=Дерев'яна сходинка +Inner Wooden Stair=Кутова дерев'яна сходинка (внутрішній кут) +Outer Wooden Stair=Кутова дерев'яна сходинка (зовнішній кут) +Wooden Slab=Дерев'яна плита +Jungle Wood Stair=Сходинка з тропічного дерева +Inner Jungle Wood Stair=Кутова сходинка з тропічного дерева (внутрішній кут) +Outer Jungle Wood Stair=Кутова сходинка з тропічного дерева (зовнішній кут) +Jungle Wood Slab=Плита з тропічного дерева +Pine Wood Stair=Соснова сходинка +Inner Pine Wood Stair=Кутова соснова сходинка (внутрішній кут) +Outer Pine Wood Stair=Кутова соснова сходинка (зовнішній кут) +Pine Wood Slab=Соснова плита +Acacia Wood Stair=Акацієва сходинка +Inner Acacia Wood Stair=Кутова акацієва сходинка (внутрішній кут) +Outer Acacia Wood Stair=Кутова акацієва сходинка (зовнішній кут) +Acacia Wood Slab=Акацієва плита +Aspen Wood Stair=Осикова сходинка +Inner Aspen Wood Stair=Кутова осикова сходинка (внутрішній кут) +Outer Aspen Wood Stair=Кутова осикова сходинка (зовнішній кут) +Aspen Wood Slab=Осикова плита +Stone Stair=Кам'яна сходинка +Inner Stone Stair=Кутова кам'яна сходинка (внутрішній кут) +Outer Stone Stair=Кутова кам'яна сходинка (зовнішній кут) +Stone Slab=Кам'яна плита +Cobblestone Stair=Круглякова сходинка +Inner Cobblestone Stair=Кутова круглякова сходинка (внутрішній кут) +Outer Cobblestone Stair=Кутова круглякова сходинка (зовнішній кут) +Cobblestone Slab=Круглякова плита +Mossy Cobblestone Stair=Сходинка з моховитого кругляку +Inner Mossy Cobblestone Stair=Кутова сходинка з моховитого кругляку (внутрішній кут) +Outer Mossy Cobblestone Stair=Кутова сходинка з моховитого кругляку (зовнішній кут) +Mossy Cobblestone Slab=Плита з моховитого кругляку +Stone Brick Stair=Сходинка з кам'яної цегли +Inner Stone Brick Stair=Кутова сходинка з кам'яної цегли (внутрішній кут) +Outer Stone Brick Stair=Кутова сходинка з кам'яної цегли (зовнішній кут) +Stone Brick Slab=Плита з кам'яної цегли +Stone Block Stair=Сходинка з блоку каменю +Inner Stone Block Stair=Кутова сходинка з блоку каменю (внутрішній кут) +Outer Stone Block Stair=Кутова сходинка з блоку каменю (зовнішній кут) +Stone Block Slab=Плита з блоку каменю +Desert Stone Stair=Сходинка з пустельного каменю +Inner Desert Stone Stair=Кутова сходинка з пустельного каменю (внутрішній кут) +Outer Desert Stone Stair=Кутова сходинка з пустельного каменю (зовнішній кут) +Desert Stone Slab=Плита з пустельного каменю +Desert Cobblestone Stair=Сходинка з пустельного кругляку +Inner Desert Cobblestone Stair=Кутова сходинка з пустельного кругляку (внутрішній кут) +Outer Desert Cobblestone Stair=Кутова сходинка з пустельного кругляку (зовнішній кут) +Desert Cobblestone Slab=Плита з пустельного кругляку +Desert Stone Brick Stair=Сходинка з цегли з пустельного каменю +Inner Desert Stone Brick Stair=Кутова сходинка з цегли з пустельного каменю (внутрішній кут) +Outer Desert Stone Brick Stair=Кутова сходинка з цегли з пустельного каменю (зовнішній кут) +Desert Stone Brick Slab=Плита з цегли з пустельного каменю +Desert Stone Block Stair=Сходинка з блоку пустельного каменю +Inner Desert Stone Block Stair=Кутова сходинка з блоку пустельного каменю (внутрішній кут) +Outer Desert Stone Block Stair=Кутова сходинка з блоку пустельного каменю (зовнішній кут) +Desert Stone Block Slab=Плита з блоку пустельного каменю +Sandstone Stair=Пісковикова сходинка +Inner Sandstone Stair=Кутова пісковикова сходинка (внутрішній кут) +Outer Sandstone Stair=Кутова пісковикова сходинка (зовнішній кут) +Sandstone Slab=Пісковикова плита +Sandstone Brick Stair=Сходинка з пісковикової цегли +Inner Sandstone Brick Stair=Кутова сходинка з пісковикової цегли (внутрішній кут) +Outer Sandstone Brick Stair=Кутова сходинка з пісковикової цегли (зовнішній кут) +Sandstone Brick Slab=Плита з пісковикової цегли +Sandstone Block Stair=Сходинка з блоку пісковику +Inner Sandstone Block Stair=Кутова сходинка з блоку пісковику (внутрішній кут) +Outer Sandstone Block Stair=Кутова сходинка з блоку пісковику (зовнішній кут) +Sandstone Block Slab=Плита з блоку пісковику +Desert Sandstone Stair=Сходинка з пустельного пісковику +Inner Desert Sandstone Stair=Кутова сходинка з пустельного пісковику (внутрішній кут) +Outer Desert Sandstone Stair=Кутова сходинка з пустельного пісковику (зовнішній кут) +Desert Sandstone Slab=Плита з пустельного пісковику +Desert Sandstone Brick Stair=Сходинка з цегли з пустельного пісковику +Inner Desert Sandstone Brick Stair=Кутова сходинка з цегли з пустельного пісковику (внутрішній кут) +Outer Desert Sandstone Brick Stair=Кутова сходинка з цегли з пустельного пісковику (зовнішній кут) +Desert Sandstone Brick Slab=Плита з цегли з пустельного пісковику +Desert Sandstone Block Stair=Сходинка з блоку пустельного пісковику +Inner Desert Sandstone Block Stair=Кутова сходинка з блоку пустельного пісковику (внутрішній кут) +Outer Desert Sandstone Block Stair=Кутова сходинка з блоку пустельного пісковику (зовнішній кут) +Desert Sandstone Block Slab=Плита з блоку пустельного пісковику +Silver Sandstone Stair=Сходинка зі срібного пісковику +Inner Silver Sandstone Stair=Кутова сходинка зі срібного пісковику (внутрішній кут) +Outer Silver Sandstone Stair=Кутова сходинка зі срібного пісковику (зовнішній кут) +Silver Sandstone Slab=Плита зі срібного пісковику +Silver Sandstone Brick Stair=Сходинка з цегли зі срібного пісковику +Inner Silver Sandstone Brick Stair=Кутова сходинка з цегли зі срібного пісковику (внутрішній кут) +Outer Silver Sandstone Brick Stair=Кутова сходинка з цегли зі срібного пісковику (зовнішній кут) +Silver Sandstone Brick Slab=Плита з цегли зі срібного пісковику +Silver Sandstone Block Stair=Сходинка з блоку срібного пісковику +Inner Silver Sandstone Block Stair=Кутова сходинка з блоку срібного пісковику (внутрішній кут) +Outer Silver Sandstone Block Stair=Кутова сходинка з блоку срібного пісковику (зовнішній кут) +Silver Sandstone Block Slab=Плита з блоку срібного пісковику +Obsidian Stair=Обсидіанова сходинка +Inner Obsidian Stair=Кутова обсидіанова сходинка (внутрішній кут) +Outer Obsidian Stair=Кутова обсидіанова сходинка (зовнішній кут) +Obsidian Slab=Обсидіанова плита +Obsidian Brick Stair=Сходинка з обсидіанової цегли +Inner Obsidian Brick Stair=Кутова сходинка з обсидіанової цегли (внутрішній кут) +Outer Obsidian Brick Stair=Кутова сходинка з обсидіанової цегли (зовнішній кут) +Obsidian Brick Slab=Плита з обсидіанової цегли +Obsidian Block Stair=Сходинка з блоку обсидіану +Inner Obsidian Block Stair=Кутова сходинка з блоку обсидіану (внутрішній кут) +Outer Obsidian Block Stair=Кутова сходинка з блоку обсидіану (зовнішній кут) +Obsidian Block Slab=Плита з блоку обсидіану +Brick Stair=Цегляна сходинка +Inner Brick Stair=Кутова цегляна сходинка (внутрішній кут) +Outer Brick Stair=Кутова цегляна сходинка (зовнішній кут) +Brick Slab=Цегляна плита +Steel Block Stair=Сходинка з блоку сталі +Inner Steel Block Stair=Кутова сходинка з блоку сталі (внутрішній кут) +Outer Steel Block Stair=Кутова сходинка з блоку сталі (зовнішній кут) +Steel Block Slab=Плита з блоку сталі +Tin Block Stair=Сходинка з блоку олова +Inner Tin Block Stair=Кутова сходинка з блоку олова (внутрішній кут) +Outer Tin Block Stair=Кутова сходинка з блоку олова (зовнішній кут) +Tin Block Slab=Плита з блоку олова +Copper Block Stair=Сходинка з блоку міді +Inner Copper Block Stair=Кутова сходинка з блоку міді (внутрішній кут) +Outer Copper Block Stair=Кутова сходинка з блоку міді (зовнішній кут) +Copper Block Slab=Плита з блоку міді +Bronze Block Stair=Сходинка з блоку бронзи +Inner Bronze Block Stair=Кутова сходинка з блоку бронзи (внутрішній кут) +Outer Bronze Block Stair=Кутова сходинка з блоку бронзи (зовнішній кут) +Bronze Block Slab=Плита з блоку бронзи +Gold Block Stair=Сходинка з блоку золота +Inner Gold Block Stair=Кутова сходинка з блоку золота (внутрішній кут) +Outer Gold Block Stair=Кутова сходинка з блоку золота (зовнішній кут) +Gold Block Slab=Плита з блоку золота +Ice Stair=Крижана сходинка +Inner Ice Stair=Кутова крижана сходинка (внутрішній кут) +Outer Ice Stair=Кутова крижана сходинка (зовнішній кут) +Ice Slab=Крижана плита +Snow Block Stair=Сходинка з блоку снігу +Inner Snow Block Stair=Кутова сходинка з блоку снігу (внутрішній кут) +Outer Snow Block Stair=Кутова сходинка з блоку снігу (зовнішній кут) +Snow Block Slab=Плита з блоку снігу diff --git a/data/games/garage/mods/stairs/locale/stairs.zh_CN.tr b/data/games/garage/mods/stairs/locale/stairs.zh_CN.tr new file mode 100644 index 0000000..e37ebcb --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.zh_CN.tr @@ -0,0 +1,153 @@ +# textdomain: stairs +Glass Stair=玻璃楼梯 +Glass Slab=玻璃台阶 +Inner Glass Stair=玻璃楼梯(内) +Outer Glass Stair=玻璃楼梯(外) +Obsidian Glass Stair=黑曜石玻璃楼梯 +Obsidian Glass Slab=黑曜石玻璃台阶 +Inner Obsidian Glass Stair=黑曜石玻璃楼梯(内) +Outer Obsidian Glass Stair=黑曜石玻璃楼梯(外) +Wooden Stair=木楼梯 +Inner Wooden Stair=木楼梯(内) +Outer Wooden Stair=木楼梯(外) +Wooden Slab=木台阶 +Jungle Wood Stair=丛林木楼梯 +Inner Jungle Wood Stair=丛林木楼梯(内) +Outer Jungle Wood Stair=丛林木楼梯(外) +Jungle Wood Slab=丛林木台阶 +Pine Wood Stair=松木楼梯 +Inner Pine Wood Stair=松木楼梯(内) +Outer Pine Wood Stair=松木楼梯(外) +Pine Wood Slab=松木台阶 +Acacia Wood Stair=金合欢木楼梯 +Inner Acacia Wood Stair=金合欢木楼梯(内) +Outer Acacia Wood Stair=金合欢木楼梯(外) +Acacia Wood Slab=金合欢木台阶 +Aspen Wood Stair=白杨木楼梯 +Inner Aspen Wood Stair=白杨木楼梯(内) +Outer Aspen Wood Stair=白杨木楼梯(外) +Aspen Wood Slab=白杨木台阶 +Stone Stair=石楼梯 +Inner Stone Stair=石楼梯(内) +Outer Stone Stair=石楼梯(外) +Stone Slab=石台阶 +Cobblestone Stair=鹅卵石楼梯 +Inner Cobblestone Stair=鹅卵石楼梯(内) +Outer Cobblestone Stair=鹅卵石楼梯(外) +Cobblestone Slab=鹅卵石台阶 +Mossy Cobblestone Stair=苔藓覆盖的鹅卵石楼梯 +Inner Mossy Cobblestone Stair=苔藓覆盖的鹅卵石楼梯(内) +Outer Mossy Cobblestone Stair=苔藓覆盖的鹅卵石楼梯(外) +Mossy Cobblestone Slab=苔藓覆盖的鹅卵石台阶 +Stone Brick Stair=石砖楼梯 +Inner Stone Brick Stair=石砖楼梯(内) +Outer Stone Brick Stair=石砖楼梯(外) +Stone Brick Slab=石砖台阶 +Stone Block Stair=石块楼梯 +Inner Stone Block Stair=石块楼梯(内) +Outer Stone Block Stair=石块楼梯(外) +Stone Block Slab=石块台阶 +Desert Stone Stair=沙漠石楼梯 +Inner Desert Stone Stair=沙漠石楼梯(内) +Outer Desert Stone Stair=沙漠石楼梯(外) +Desert Stone Slab=沙漠石台阶 +Desert Cobblestone Stair=沙漠鹅卵石楼梯 +Inner Desert Cobblestone Stair=沙漠鹅卵石楼梯(内) +Outer Desert Cobblestone Stair=沙漠鹅卵石楼梯(外) +Desert Cobblestone Slab=沙漠鹅卵石台阶 +Desert Stone Brick Stair=沙漠石砖楼梯 +Inner Desert Stone Brick Stair=沙漠石砖楼梯(内) +Outer Desert Stone Brick Stair=沙漠石砖楼梯(外) +Desert Stone Brick Slab=沙漠石砖台阶 +Desert Stone Block Stair=沙漠石块楼梯 +Inner Desert Stone Block Stair=沙漠石块楼梯(内) +Outer Desert Stone Block Stair=沙漠石块楼梯(外) +Desert Stone Block Slab=沙漠石块台阶 +Sandstone Stair=沙石楼梯 +Inner Sandstone Stair=沙石楼梯(内) +Outer Sandstone Stair=沙石楼梯(外) +Sandstone Slab=沙石台阶 +Sandstone Brick Stair=沙石砖楼梯 +Inner Sandstone Brick Stair=沙石砖楼梯(内) +Outer Sandstone Brick Stair=沙石砖楼梯(外) +Sandstone Brick Slab=沙石砖台阶 +Sandstone Block Stair=沙石块楼梯 +Inner Sandstone Block Stair=沙石块楼梯(内) +Outer Sandstone Block Stair=沙石块楼梯(外) +Sandstone Block Slab=沙石块台阶 +Desert Sandstone Stair=沙漠沙石楼梯 +Inner Desert Sandstone Stair=沙漠沙石楼梯(内) +Outer Desert Sandstone Stair=沙漠沙石楼梯(外) +Desert Sandstone Slab=沙漠沙石台阶 +Desert Sandstone Brick Stair=沙漠沙石砖楼梯 +Inner Desert Sandstone Brick Stair=沙漠沙石砖楼梯(内) +Outer Desert Sandstone Brick Stair=沙漠沙石砖楼梯(外) +Desert Sandstone Brick Slab=沙漠沙石砖台阶 +Desert Sandstone Block Stair=沙漠沙石块楼梯 +Inner Desert Sandstone Block Stair=沙漠沙石块楼梯(内) +Outer Desert Sandstone Block Stair=沙漠沙石块楼梯(外) +Desert Sandstone Block Slab=沙漠沙石块台阶 +Silver Sandstone Stair=银沙石楼梯 +Inner Silver Sandstone Stair=银沙石楼梯(内) +Outer Silver Sandstone Stair=银沙石楼梯(外) +Silver Sandstone Slab=银沙石台阶 +Silver Sandstone Brick Stair=银沙石砖楼梯 +Inner Silver Sandstone Brick Stair=银沙石砖楼梯(内) +Outer Silver Sandstone Brick Stair=银沙石砖楼梯(外) +Silver Sandstone Brick Slab=银沙石砖台阶 +Silver Sandstone Block Stair=银沙石块楼梯 +Inner Silver Sandstone Block Stair=银沙石块楼梯(内) +Outer Silver Sandstone Block Stair=银沙石块楼梯(外) +Silver Sandstone Block Slab=银沙石块台阶 +Obsidian Stair=黑曜石楼梯 +Inner Obsidian Stair=黑曜石楼梯(内) +Outer Obsidian Stair=黑曜石楼梯(外) +Obsidian Slab=黑曜石台阶 +Obsidian Brick Stair=黑曜石砖楼梯 +Inner Obsidian Brick Stair=黑曜石砖楼梯(内) +Outer Obsidian Brick Stair=黑曜石砖楼梯(外) +Obsidian Brick Slab=黑曜石砖台阶 +Obsidian Block Stair=黑曜石块楼梯 +Inner Obsidian Block Stair=黑曜石块楼梯(内) +Outer Obsidian Block Stair=黑曜石块楼梯(外) +Obsidian Block Slab=黑曜石块台阶 +Brick Stair=砖楼梯 +Inner Brick Stair=砖楼梯(内) +Outer Brick Stair=砖楼梯(外) +Brick Slab=砖台阶 +Steel Block Stair=铁块楼梯 +Inner Steel Block Stair=铁块楼梯(内) +Outer Steel Block Stair=铁块楼梯(外) +Steel Block Slab=铁块台阶 +Tin Block Stair=锡块楼梯 +Inner Tin Block Stair=锡块楼梯(内) +Outer Tin Block Stair=锡块楼梯(外) +Tin Block Slab=锡块台阶 +Copper Block Stair=铜块楼梯 +Inner Copper Block Stair=铜块楼梯(内) +Outer Copper Block Stair=铜块楼梯(外) +Copper Block Slab=铜块台阶 +Bronze Block Stair=青铜块楼梯 +Inner Bronze Block Stair=青铜块楼梯(内) +Outer Bronze Block Stair=青铜块楼梯(外) +Bronze Block Slab=青铜块台阶 +Gold Block Stair=金块楼梯 +Inner Gold Block Stair=金块楼梯(内) +Outer Gold Block Stair=金块楼梯(外) +Gold Block Slab=金块台阶 +Ice Stair=冰楼梯 +Inner Ice Stair=冰块楼梯(内) +Outer Ice Stair=冰块楼梯(外) +Ice Slab=冰台阶 +Snow Block Stair=雪块楼梯 +Inner Snow Block Stair=雪块楼梯(内) +Outer Snow Block Stair=雪块楼梯(外) +Snow Block Slab=雪块台阶 + + +##### not used anymore ##### + +Blue Stained Stair=蓝木楼梯 +Inner Blue Stained Stair=蓝木楼梯(内) +Outer Blue Stained Stair=蓝木楼梯(外) +Blue Stained Slab=蓝木台阶 diff --git a/data/games/garage/mods/stairs/locale/stairs.zh_TW.tr b/data/games/garage/mods/stairs/locale/stairs.zh_TW.tr new file mode 100644 index 0000000..eaed61f --- /dev/null +++ b/data/games/garage/mods/stairs/locale/stairs.zh_TW.tr @@ -0,0 +1,153 @@ +# textdomain: stairs +Glass Stair=玻璃樓梯 +Glass Slab=玻璃臺階 +Inner Glass Stair=玻璃樓梯(內) +Outer Glass Stair=玻璃樓梯(外) +Obsidian Glass Stair=黑曜石玻璃樓梯 +Obsidian Glass Slab=黑曜石玻璃臺階 +Inner Obsidian Glass Stair=黑曜石玻璃樓梯(內) +Outer Obsidian Glass Stair=黑曜石玻璃樓梯(外) +Wooden Stair=木製樓梯 +Inner Wooden Stair=木樓梯(內) +Outer Wooden Stair=木樓梯(外) +Wooden Slab=木製臺階 +Jungle Wood Stair=叢林木樓梯 +Inner Jungle Wood Stair=叢林木樓梯(內) +Outer Jungle Wood Stair=叢林木樓梯(外) +Jungle Wood Slab=叢林木臺階 +Pine Wood Stair=松木樓梯 +Inner Pine Wood Stair=松木樓梯(內) +Outer Pine Wood Stair=松木樓梯(外) +Pine Wood Slab=松木臺階 +Acacia Wood Stair=金合歡木樓梯 +Inner Acacia Wood Stair=金合歡木樓梯(內) +Outer Acacia Wood Stair=金合歡木樓梯(外) +Acacia Wood Slab=金合歡木臺階 +Aspen Wood Stair=白楊木樓梯 +Inner Aspen Wood Stair=白楊木樓梯(內) +Outer Aspen Wood Stair=白楊木樓梯(外) +Aspen Wood Slab=白楊木臺階 +Stone Stair=石樓梯 +Inner Stone Stair=石樓梯(內) +Outer Stone Stair=石樓梯(外) +Stone Slab=石臺階 +Cobblestone Stair=圓石樓梯 +Inner Cobblestone Stair=圓石樓梯(內) +Outer Cobblestone Stair=圓石樓梯(外) +Cobblestone Slab=圓石臺階 +Mossy Cobblestone Stair=苔石樓梯 +Inner Mossy Cobblestone Stair=苔石樓梯(內) +Outer Mossy Cobblestone Stair=苔石樓梯(外) +Mossy Cobblestone Slab=苔石臺階 +Stone Brick Stair=石磚樓梯 +Inner Stone Brick Stair=石磚樓梯(內) +Outer Stone Brick Stair=石磚樓梯(外) +Stone Brick Slab=石磚臺階 +Stone Block Stair=石塊樓梯 +Inner Stone Block Stair=石塊樓梯(內) +Outer Stone Block Stair=石塊樓梯(外) +Stone Block Slab=石塊臺階 +Desert Stone Stair=沙漠石樓梯 +Inner Desert Stone Stair=沙漠石樓梯(內) +Outer Desert Stone Stair=沙漠石樓梯(外) +Desert Stone Slab=沙漠石臺階 +Desert Cobblestone Stair=沙漠圓石樓梯 +Inner Desert Cobblestone Stair=沙漠圓石樓梯(內) +Outer Desert Cobblestone Stair=沙漠圓石樓梯(外) +Desert Cobblestone Slab=沙漠圓石臺階 +Desert Stone Brick Stair=沙漠石磚樓梯 +Inner Desert Stone Brick Stair=沙漠石磚樓梯(內) +Outer Desert Stone Brick Stair=沙漠石磚樓梯(外) +Desert Stone Brick Slab=沙漠石磚臺階 +Desert Stone Block Stair=沙漠石塊樓梯 +Inner Desert Stone Block Stair=沙漠石塊樓梯(內) +Outer Desert Stone Block Stair=沙漠石塊樓梯(外) +Desert Stone Block Slab=沙漠石塊臺階 +Sandstone Stair=沙石樓梯 +Inner Sandstone Stair=沙石樓梯(內) +Outer Sandstone Stair=沙石樓梯(外) +Sandstone Slab=沙石臺階 +Sandstone Brick Stair=沙石磚樓梯 +Inner Sandstone Brick Stair=沙石磚樓梯(內) +Outer Sandstone Brick Stair=沙石磚樓梯(外) +Sandstone Brick Slab=沙石磚臺階 +Sandstone Block Stair=沙石塊樓梯 +Inner Sandstone Block Stair=沙石塊樓梯(內) +Outer Sandstone Block Stair=沙石塊樓梯(外) +Sandstone Block Slab=沙石塊臺階 +Desert Sandstone Stair=沙漠沙石樓梯 +Inner Desert Sandstone Stair=沙漠沙石樓梯(內) +Outer Desert Sandstone Stair=沙漠沙石樓梯(外) +Desert Sandstone Slab=沙漠沙石臺階 +Desert Sandstone Brick Stair=沙漠沙石磚樓梯 +Inner Desert Sandstone Brick Stair=沙漠沙石磚樓梯(內) +Outer Desert Sandstone Brick Stair=沙漠沙石磚樓梯(外) +Desert Sandstone Brick Slab=沙漠沙石磚臺階 +Desert Sandstone Block Stair=沙漠沙石塊樓梯 +Inner Desert Sandstone Block Stair=沙漠沙石塊樓梯(內) +Outer Desert Sandstone Block Stair=沙漠沙石塊樓梯(外) +Desert Sandstone Block Slab=沙漠沙石塊臺階 +Silver Sandstone Stair=銀沙石樓梯 +Inner Silver Sandstone Stair=銀沙石樓梯(內) +Outer Silver Sandstone Stair=銀沙石樓梯(外) +Silver Sandstone Slab=銀沙石臺階 +Silver Sandstone Brick Stair=銀沙石磚樓梯 +Inner Silver Sandstone Brick Stair=銀沙石磚樓梯(內) +Outer Silver Sandstone Brick Stair=銀沙石磚樓梯(外) +Silver Sandstone Brick Slab=銀沙石磚臺階 +Silver Sandstone Block Stair=銀沙石塊樓梯 +Inner Silver Sandstone Block Stair=銀沙石塊樓梯(內) +Outer Silver Sandstone Block Stair=銀沙石塊樓梯(外) +Silver Sandstone Block Slab=銀沙石塊臺階 +Obsidian Stair=黑曜石樓梯 +Inner Obsidian Stair=黑曜石樓梯(內) +Outer Obsidian Stair=黑曜石樓梯(外) +Obsidian Slab=黑曜石臺階 +Obsidian Brick Stair=黑曜石磚樓梯 +Inner Obsidian Brick Stair=黑曜石磚樓梯(內) +Outer Obsidian Brick Stair=黑曜石磚樓梯(外) +Obsidian Brick Slab=黑曜石磚臺階 +Obsidian Block Stair=黑曜石塊樓梯 +Inner Obsidian Block Stair=黑曜石塊樓梯(內) +Outer Obsidian Block Stair=黑曜石塊樓梯(外) +Obsidian Block Slab=黑曜石塊臺階 +Brick Stair=磚樓梯 +Inner Brick Stair=磚樓梯(內) +Outer Brick Stair=磚樓梯(外) +Brick Slab=磚制臺階 +Steel Block Stair=鐵塊樓梯 +Inner Steel Block Stair=鐵塊樓梯(內) +Outer Steel Block Stair=鐵塊樓梯(外) +Steel Block Slab=鐵塊臺階 +Tin Block Stair=錫塊樓梯 +Inner Tin Block Stair=錫塊樓梯(內) +Outer Tin Block Stair=錫塊樓梯(外) +Tin Block Slab=錫塊臺階 +Copper Block Stair=銅塊樓梯 +Inner Copper Block Stair=銅塊樓梯(內) +Outer Copper Block Stair=銅塊樓梯(外) +Copper Block Slab=銅塊臺階 +Bronze Block Stair=青銅塊樓梯 +Inner Bronze Block Stair=青銅塊樓梯(內) +Outer Bronze Block Stair=青銅塊樓梯(外) +Bronze Block Slab=青銅塊臺階 +Gold Block Stair=金塊樓梯 +Inner Gold Block Stair=金塊樓梯(內) +Outer Gold Block Stair=金塊樓梯(外) +Gold Block Slab=金塊臺階 +Ice Stair=冰階梯 +Inner Ice Stair=冰塊樓梯(內) +Outer Ice Stair=冰塊樓梯(外) +Ice Slab=冰臺階 +Snow Block Stair=雪塊樓梯 +Inner Snow Block Stair=雪塊樓梯(內) +Outer Snow Block Stair=雪塊樓梯(外) +Snow Block Slab=雪塊臺階 + + +##### not used anymore ##### + +Blue Stained Stair=藍木樓梯 +Inner Blue Stained Stair=藍木樓梯(內) +Outer Blue Stained Stair=藍木樓梯(外) +Blue Stained Slab=藍木臺階 diff --git a/data/games/garage/mods/stairs/locale/template.txt b/data/games/garage/mods/stairs/locale/template.txt new file mode 100644 index 0000000..ca2c865 --- /dev/null +++ b/data/games/garage/mods/stairs/locale/template.txt @@ -0,0 +1,145 @@ +# textdomain: stairs +Glass Stair= +Glass Slab= +Inner Glass Stair= +Outer Glass Stair= +Obsidian Glass Stair= +Obsidian Glass Slab= +Inner Obsidian Glass Stair= +Outer Obsidian Glass Stair= +Wooden Stair= +Inner Wooden Stair= +Outer Wooden Stair= +Wooden Slab= +Jungle Wood Stair= +Inner Jungle Wood Stair= +Outer Jungle Wood Stair= +Jungle Wood Slab= +Pine Wood Stair= +Inner Pine Wood Stair= +Outer Pine Wood Stair= +Pine Wood Slab= +Acacia Wood Stair= +Inner Acacia Wood Stair= +Outer Acacia Wood Stair= +Acacia Wood Slab= +Aspen Wood Stair= +Inner Aspen Wood Stair= +Outer Aspen Wood Stair= +Aspen Wood Slab= +Stone Stair= +Inner Stone Stair= +Outer Stone Stair= +Stone Slab= +Cobblestone Stair= +Inner Cobblestone Stair= +Outer Cobblestone Stair= +Cobblestone Slab= +Mossy Cobblestone Stair= +Inner Mossy Cobblestone Stair= +Outer Mossy Cobblestone Stair= +Mossy Cobblestone Slab= +Stone Brick Stair= +Inner Stone Brick Stair= +Outer Stone Brick Stair= +Stone Brick Slab= +Stone Block Stair= +Inner Stone Block Stair= +Outer Stone Block Stair= +Stone Block Slab= +Desert Stone Stair= +Inner Desert Stone Stair= +Outer Desert Stone Stair= +Desert Stone Slab= +Desert Cobblestone Stair= +Inner Desert Cobblestone Stair= +Outer Desert Cobblestone Stair= +Desert Cobblestone Slab= +Desert Stone Brick Stair= +Inner Desert Stone Brick Stair= +Outer Desert Stone Brick Stair= +Desert Stone Brick Slab= +Desert Stone Block Stair= +Inner Desert Stone Block Stair= +Outer Desert Stone Block Stair= +Desert Stone Block Slab= +Sandstone Stair= +Inner Sandstone Stair= +Outer Sandstone Stair= +Sandstone Slab= +Sandstone Brick Stair= +Inner Sandstone Brick Stair= +Outer Sandstone Brick Stair= +Sandstone Brick Slab= +Sandstone Block Stair= +Inner Sandstone Block Stair= +Outer Sandstone Block Stair= +Sandstone Block Slab= +Desert Sandstone Stair= +Inner Desert Sandstone Stair= +Outer Desert Sandstone Stair= +Desert Sandstone Slab= +Desert Sandstone Brick Stair= +Inner Desert Sandstone Brick Stair= +Outer Desert Sandstone Brick Stair= +Desert Sandstone Brick Slab= +Desert Sandstone Block Stair= +Inner Desert Sandstone Block Stair= +Outer Desert Sandstone Block Stair= +Desert Sandstone Block Slab= +Silver Sandstone Stair= +Inner Silver Sandstone Stair= +Outer Silver Sandstone Stair= +Silver Sandstone Slab= +Silver Sandstone Brick Stair= +Inner Silver Sandstone Brick Stair= +Outer Silver Sandstone Brick Stair= +Silver Sandstone Brick Slab= +Silver Sandstone Block Stair= +Inner Silver Sandstone Block Stair= +Outer Silver Sandstone Block Stair= +Silver Sandstone Block Slab= +Obsidian Stair= +Inner Obsidian Stair= +Outer Obsidian Stair= +Obsidian Slab= +Obsidian Brick Stair= +Inner Obsidian Brick Stair= +Outer Obsidian Brick Stair= +Obsidian Brick Slab= +Obsidian Block Stair= +Inner Obsidian Block Stair= +Outer Obsidian Block Stair= +Obsidian Block Slab= +Brick Stair= +Inner Brick Stair= +Outer Brick Stair= +Brick Slab= +Steel Block Stair= +Inner Steel Block Stair= +Outer Steel Block Stair= +Steel Block Slab= +Tin Block Stair= +Inner Tin Block Stair= +Outer Tin Block Stair= +Tin Block Slab= +Copper Block Stair= +Inner Copper Block Stair= +Outer Copper Block Stair= +Copper Block Slab= +Bronze Block Stair= +Inner Bronze Block Stair= +Outer Bronze Block Stair= +Bronze Block Slab= +Gold Block Stair= +Inner Gold Block Stair= +Outer Gold Block Stair= +Gold Block Slab= +Ice Stair= +Inner Ice Stair= +Outer Ice Stair= +Ice Slab= +Snow Block Stair= +Inner Snow Block Stair= +Outer Snow Block Stair= +Snow Block Slab= diff --git a/data/games/garage/mods/stairs/mod.conf b/data/games/garage/mods/stairs/mod.conf index 724bff8..7548fa7 100644 --- a/data/games/garage/mods/stairs/mod.conf +++ b/data/games/garage/mods/stairs/mod.conf @@ -1,3 +1,3 @@ name = stairs -description = Adds stairs and slabs -depends = basenodes +description = Minetest Game mod: stairs +depends = default diff --git a/data/games/garage/mods/stairs/textures/stairs_glass_outer_stairside.png b/data/games/garage/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/data/games/garage/mods/stairs/textures/stairs_glass_split.png b/data/games/garage/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>?_@YoHDWPgg&ebxsLQ0LSAX9smFU literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/stairs/textures/stairs_obsidian_glass_stairside.png b/data/games/garage/mods/stairs/textures/stairs_obsidian_glass_stairside.png new file mode 100644 index 0000000000000000000000000000000000000000..40b1754522a1cffc21bd24c8a6d55e51a4d62c3e GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t_%$60s;c^YKGP7c6C5O z#*!evUSXm-H;@Q#K(^opENwkdiDLntV2h`_qQKreZkP3#AD~DpHR%m*I>YK zwjGT(@8;C;|3_=v}$Oz_?mj^GY`-UXGp4=yt@ Y%$;W#T>IM27-%blr>mdKI;Vst0G7r(4*&oF diff --git a/data/games/garage/mods/testabms/textures/testabms_wait_node.png b/data/games/garage/mods/testabms/textures/testabms_wait_node.png deleted file mode 100644 index a9bd9a36f78fdc973c949fb4b9ded1d444215edd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfj|2BG;e?M9j;d3T7>A%)9PS@tiKNgrtl`-%3-M7kz|#}Bta^XmL%oFUpD#X->OMTD=4o-qQx2oT_|ManSMX`=ZSV<~ e)wuhgoj>ufCtviv(>g$#89ZJ6T-G@yGywp@vqLce diff --git a/data/games/garage/mods/testentities/armor.lua b/data/games/garage/mods/testentities/armor.lua deleted file mode 100644 index 95351ab..0000000 --- a/data/games/garage/mods/testentities/armor.lua +++ /dev/null @@ -1,61 +0,0 @@ --- Armorball: Test entity for testing armor groups --- Rightclick to change armor group - -local phasearmor = { - [0]={icy=100}, - [1]={fiery=100}, - [2]={icy=100, fiery=100}, - [3]={fleshy=-100}, - [4]={fleshy=1}, - [5]={fleshy=10}, - [6]={fleshy=50}, - [7]={fleshy=100}, - [8]={fleshy=200}, - [9]={fleshy=1000}, - [10]={fleshy=32767}, - [11]={immortal=1}, - [12]={punch_operable=1}, -} -local max_phase = 12 - -core.register_entity("testentities:armorball", { - initial_properties = { - hp_max = 20, - physical = false, - collisionbox = {-0.4,-0.4,-0.4, 0.4,0.4,0.4}, - visual = "sprite", - visual_size = {x=1, y=1}, - textures = {"testentities_armorball.png"}, - spritediv = {x=1, y=max_phase+1}, - initial_sprite_basepos = {x=0, y=0}, - }, - - _phase = 7, - - on_activate = function(self, staticdata) - core.log("action", "[testentities] armorball.on_activate") - self.object:set_armor_groups(phasearmor[self._phase]) - self.object:set_sprite({x=0, y=self._phase}) - end, - - on_rightclick = function(self, clicker) - -- Change armor group and sprite - self._phase = self._phase + 1 - if self._phase >= max_phase + 1 then - self._phase = 0 - end - self.object:set_sprite({x=0, y=self._phase}) - self.object:set_armor_groups(phasearmor[self._phase]) - end, - - on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, dir, damage) - if not puncher then - return - end - local name = puncher:get_player_name() - if not name then - return - end - core.chat_send_player(name, "time_from_last_punch="..string.format("%.3f", time_from_last_punch).."; damage="..tostring(damage)) - end, -}) diff --git a/data/games/garage/mods/testentities/init.lua b/data/games/garage/mods/testentities/init.lua deleted file mode 100644 index 4ad8557..0000000 --- a/data/games/garage/mods/testentities/init.lua +++ /dev/null @@ -1,5 +0,0 @@ -dofile(core.get_modpath("testentities").."/visuals.lua") -dofile(core.get_modpath("testentities").."/observers.lua") -dofile(core.get_modpath("testentities").."/selectionbox.lua") -dofile(core.get_modpath("testentities").."/armor.lua") -dofile(core.get_modpath("testentities").."/pointable.lua") diff --git a/data/games/garage/mods/testentities/mod.conf b/data/games/garage/mods/testentities/mod.conf deleted file mode 100644 index 7a8cb5a..0000000 --- a/data/games/garage/mods/testentities/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = testentities -description = Example entities for testing diff --git a/data/games/garage/mods/testentities/models/LICENSE.txt b/data/games/garage/mods/testentities/models/LICENSE.txt deleted file mode 100644 index 4317d68..0000000 --- a/data/games/garage/mods/testentities/models/LICENSE.txt +++ /dev/null @@ -1,7 +0,0 @@ -Original model by MirceaKitsune (CC BY-SA 3.0). -Various alterations and fixes by kilbith, sofar, xunto, Rogier-5, TeTpaAka, Desour, -stujones11, An0n3m0us (CC BY-SA 3.0): - testentities_sam.b3d - -Jordach (CC BY-SA 3.0): - testentities_sam.png diff --git a/data/games/garage/mods/testentities/observers.lua b/data/games/garage/mods/testentities/observers.lua deleted file mode 100644 index c7e95df..0000000 --- a/data/games/garage/mods/testentities/observers.lua +++ /dev/null @@ -1,37 +0,0 @@ -local function player_names_excluding(exclude_player_name) - local player_names = {} - for _, player in ipairs(core.get_connected_players()) do - player_names[player:get_player_name()] = true - end - player_names[exclude_player_name] = nil - return player_names -end - -core.register_entity("testentities:observable", { - initial_properties = { - visual = "sprite", - textures = { "testentities_sprite.png" }, - static_save = false, - infotext = "Punch to set observers to anyone but you" - }, - on_activate = function(self) - self.object:set_armor_groups({punch_operable = 1}) - assert(self.object:get_observers() == nil) - -- Using a value of `false` in the table should error. - assert(not pcall(self.object, self.object.set_observers, self.object, {test = false})) - end, - on_punch = function(self, puncher) - local puncher_name = puncher:get_player_name() - local observers = player_names_excluding(puncher_name) - self.object:set_observers(observers) - local got_observers = self.object:get_observers() - for name in pairs(observers) do - assert(got_observers[name]) - end - for name in pairs(got_observers) do - assert(observers[name]) - end - self.object:set_properties({infotext = "Excluding " .. puncher_name}) - return true - end -}) diff --git a/data/games/garage/mods/testentities/pointable.lua b/data/games/garage/mods/testentities/pointable.lua deleted file mode 100644 index e23dcc5..0000000 --- a/data/games/garage/mods/testentities/pointable.lua +++ /dev/null @@ -1,23 +0,0 @@ --- Pointability test Entities - --- Register wrapper for compactness -local function register_pointable_testentity(name, pointable) - local texture = "testnodes_"..name..".png" - core.register_entity("testentities:"..name, { - initial_properties = { - visual = "cube", - visual_size = {x = 0.6, y = 0.6, z = 0.6}, - textures = { - texture, texture, texture, texture, texture, texture - }, - pointable = pointable, - }, - on_activate = function(self) - self.object:set_armor_groups({[name.."_test"] = 1}) - end - }) -end - -register_pointable_testentity("pointable", true) -register_pointable_testentity("not_pointable", false) -register_pointable_testentity("blocking_pointable", "blocking") diff --git a/data/games/garage/mods/testentities/selectionbox.lua b/data/games/garage/mods/testentities/selectionbox.lua deleted file mode 100644 index 8885a2a..0000000 --- a/data/games/garage/mods/testentities/selectionbox.lua +++ /dev/null @@ -1,96 +0,0 @@ -local function color(hex) - return ("blank.png^[noalpha^[colorize:#%06X:255"):format(hex) -end - -local function random_color() - return color(math.random(0, 0xFFFFFF)) -end - -local function random_rotation() - return 2 * math.pi * vector.new(math.random(), math.random(), math.random()) -end - -local active_selectionbox_entities = 0 -- count active entities - -core.register_entity("testentities:selectionbox", { - initial_properties = { - visual = "cube", - infotext = "Punch to randomize rotation, rightclick to toggle rotation" - }, - on_activate = function(self) - active_selectionbox_entities = active_selectionbox_entities + 1 - - local w, h, l = math.random(), math.random(), math.random() - self.object:set_properties({ - textures = {random_color(), random_color(), random_color(), random_color(), random_color(), random_color()}, - selectionbox = {rotate = true, -w/2, -h/2, -l/2, w/2, h/2, l/2}, - visual_size = vector.new(w, h, l), - automatic_rotate = 2 * math.pi * (math.random() - 0.5) - }) - assert(self.object:get_properties().selectionbox.rotate) - self.object:set_armor_groups({punch_operable = 1}) - self.object:set_rotation(random_rotation()) - end, - on_deactivate = function() - active_selectionbox_entities = active_selectionbox_entities - 1 - end, - on_punch = function(self) - self.object:set_rotation(random_rotation()) - end, - on_rightclick = function(self) - self.object:set_properties({ - automatic_rotate = self.object:get_properties().automatic_rotate == 0 and 2 * math.pi * (math.random() - 0.5) or 0 - }) - end -}) - -local hud_ids = {} -core.register_globalstep(function() - if active_selectionbox_entities == 0 then - return - end - - for _, player in pairs(core.get_connected_players()) do - local offset = player:get_eye_offset() - offset.y = offset.y + player:get_properties().eye_height - local pos1 = vector.add(player:get_pos(), offset) - local raycast = core.raycast(pos1, vector.add(pos1, vector.multiply(player:get_look_dir(), 10)), true, false) - local pointed_thing = raycast() - if pointed_thing.ref == player then - pointed_thing = raycast() - end - local remove_hud_element = true - local pname = player:get_player_name() - local hud_id = hud_ids[pname] - if pointed_thing and pointed_thing.type == "object" then - local ent = pointed_thing.ref:get_luaentity() - if ent and ent.name == "testentities:selectionbox" then - hud_ids[pname] = hud_id or player:hud_add({ - type = "text", -- See HUD element types - position = {x=0.5, y=0.5}, - text = "X", - number = 0xFF0000, - alignment = {x=0, y=0}, - }) - local shade = math.random(0, 0xFF) - core.add_particle({ - -- Random shade of red for the intersection point - texture = color(0x10000 * shade), - pos = pointed_thing.intersection_point, - size = 0.1 - }) - core.add_particle({ - -- Same shade of green for the corresponding intersection normal - texture = color(0x100 * shade), - pos = vector.add(pointed_thing.intersection_point, pointed_thing.intersection_normal * 0.1), - size = 0.1 - }) - remove_hud_element = false - end - end - if remove_hud_element and hud_id then - player:hud_remove(hud_id) - hud_ids[pname] = nil - end - end -end) diff --git a/data/games/garage/mods/testentities/textures/testentities_armorball.png b/data/games/garage/mods/testentities/textures/testentities_armorball.png deleted file mode 100644 index 566dbcf022b4b024295f90c0661962bae50301bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1351 zcmXw&4KUPs7{?#~-+x!Vt4ZsvKu&v%}g&&)H=JkQTQtljD=dMW^* z&U9z^DJof!z3Y%dX^%9<0hBmCUTjw#SI*q3x1uSR%iE@=J`VU?mP#kPzZno|hdg~M zsnzN)1+96gE7G70ZJT5iSTtWv=X6(2u(!zg9wd8Xdps8 z0qzjtx(eQa;5GrSeT9A_z;%ToKp6o_36M_!YisK~0tj)qh{Jgt_{t~?hcqI_$03!7 zr7Apv6F8*ckc`7|9Dc;%7!FA|B;t^uPz3Qf#3P795R2d_f+GlG5JV$5j35d@B!UP8 zJOqajgd;eJAPj+lfk7yO5Cp*pxCnkw1O|Z!f-u;JU>^n?3<5A9TXz`$S^1{*ePaKXSC13Csy7&u};CX>5J(^ZO{Dkb@`{DD3;zym;~ zOolVtUGgSh?yu>q^+=}nu)e5CRZw=5d8oXAQ!lu2v)Z)Tq?}R|vX5YCOqI(+nr20f z&9gNxw*_u}=}YVxFOhUP3}@xUTH?7ew)z)Oiz|eTG))y(`Y*n^W#e8}WlH#(V|(KI z7FCVyP;1JjmfxDtHN3Sc)o{&g)UAn-d%MEI*EPPi)^ca+r$q1bQx>LA`L&aC)k@=Z z=c=d^4MOyhTh?yAxa`+!EEo=Mm3T5}bDF-{nD>W+{KZAXUM`7&D*pcRN=t>A-kVNd zZC@j=gsxH-JC=7%oSHe)t2{(1CoRi#Rzm3$Vr3VXfJcsTPL+-mC#5Yy=bZ4o&Tz9r zt#q^Zc^w^U>$cK}6SO?lNa#4Ndh}X?emfNv7At=?4;RqgM-vp2KPaBg^s>3swrBEn zpl;V73v9XbvcsQ;`>Jv?VhXE`bghT(r&Iakuqn)#&>Wm%9k4iZdr8PH5ZOh$58oNt zJmW7+PlPMTjqm&qVy5ObFfhlTGZP zx~+b)juiW6&pI=G>WJ+`is?n;)F4VyqBpKyG8# zKl6tV5bA`iD=|YsR@xy&+FMMPZrtJRuiH#%AB@H*okfeW$ul#eRV>sh_ES{Is~{~3 zukcjR45g!KX!qLO1r*&Z+I#;vX}^xG4da94-uyG)5ARg#-cPqYXp=44Q)@~sA}QO9 z^1q{%l$^BRG0U<`lQT6Q@7SxIQ~A-$aer{*_c}V=*RxEY2)#u710J4Pf4=DVm^@u+ zUb;mji1IXSZb<72B(QF;$7qV@ux(gPT zYx;J!jb<08PbXPf+m)=B4UIg%8%AJn=FF!^)uhM7?Mpoi5n{qzwxPYMMaB}hy~V&d zlfIXjv^Ep^PV#o}@+?Xd%w;PryO*CKHsy+%ZTt;8In^)S?rmCe6Px?{tCM+yYQ2eO zI=vvUG9?o*JQylrAOT`fIe$&(o%!_LQHcat}ptt3m$5sD}CH2>$Q u|8dDi3Qp6-=n}mLm?q(*@UxTSV_#G<7T7cLt|!@wzXhf%i&5(mD)<*_j3D#? diff --git a/data/games/garage/mods/testentities/textures/testentities_cube1.png b/data/games/garage/mods/testentities/textures/testentities_cube1.png deleted file mode 100644 index c667e425f451aae2c5d859d1f32428bb4c361f5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|o}Mm_Ar*|tKh7VR;Ks$U^4#n^ zcNM3MAN*_zY)vj4hi-E4o)D_=DB(5P#&|R2keNWI#$|@>vo^4$Ty@E8Sgm%G&B!#s dc8UiJgUY{7d9@u?!9YV9JYD@<);T3K0RXmoCei=^ diff --git a/data/games/garage/mods/testentities/textures/testentities_cube2.png b/data/games/garage/mods/testentities/textures/testentities_cube2.png deleted file mode 100644 index 481823420c1030ae7be3944b1ed0115b7ddb9198..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|?w&4=Ar*|tKh7VR;Ks$Ua$U?b zCl#lRAN*_zY)vj4hi-E4o)D_=DB(5P#&|R2keNWI#-)Y=o{druZe^q~$7n7!3y||t bVPcpXyJ-2*J?6)NMlyK1`njxgN@xNAZIdR( diff --git a/data/games/garage/mods/testentities/textures/testentities_cube3.png b/data/games/garage/mods/testentities/textures/testentities_cube3.png deleted file mode 100644 index 03b5daa15f10cc7bbc998db2dc75f7c7cd40addf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|&YmugAr*|tKh7VR;Ks$UGVks? zUlpf}AN*_zY)vj4hi-E4o)D_=DB(5P#&|R2keNWI#-)Y=o{druZn5p>ozgDU$-ofc Wuzj|l*+LJXaSWcWelF{r5}E+!G9@Jd diff --git a/data/games/garage/mods/testentities/textures/testentities_cube4.png b/data/games/garage/mods/testentities/textures/testentities_cube4.png deleted file mode 100644 index 639204896232e73ba5cb54c9a4a2ed4b632009a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|uAVNAAr*|tKh7VR;Ks$Ua$bp1 zheykW5Ar+?JS?38Et>_UCa8Xx@Iophhk4V=mRtp)z$J_i!)|3ZFkbrO(8so_U8s|R ZLB8&^_UCa8Xx@Iophhk4V=mRtp)z$J_iC4@{a++f>b=9Rm^W{L+3 ZgQD%tPs(eR@_+_1c)I$ztaD0e0su&ACPM%K diff --git a/data/games/garage/mods/testentities/textures/testentities_cube6.png b/data/games/garage/mods/testentities/textures/testentities_cube6.png deleted file mode 100644 index 5f81a64d91be219377841be129da41e48db7856a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|uAVNAAr*|tKh7VR;Ks$UGVYtn zG>?`GALMx)cvw0GS~d$xO;G(X;e}L24)dm!Ex8IpflC-4N(h-;ILa1ea)9BgbEgXf ZLrCXGRoR`_<^c_4@O1TaS?83{1OQxYCh!0N diff --git a/data/games/garage/mods/testentities/textures/testentities_dungeon_master.png b/data/games/garage/mods/testentities/textures/testentities_dungeon_master.png deleted file mode 100644 index 1e31077464eaf2b7e39a24f21687e15b723fb5f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2855 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 L^>bP0l+XkKkyj%p diff --git a/data/games/garage/mods/testentities/textures/testentities_upright_sprite2.png b/data/games/garage/mods/testentities/textures/testentities_upright_sprite2.png deleted file mode 100644 index a79a760e341eb96412b298df8fc072249bfda002..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|cAhSdAr*{U`y1I93^-VSKd#&L ze@ElB1AENowm+D|^ICY_Iu?aJe0(8^J2sRH3$0an=dAEjv|%HY!T;t>;$kh_PP!Z9 SM3{jlF?hQAxvX 5 then - self.bgcolor = { - r = math.random(0, 255), - g = math.random(0, 255), - b = math.random(0, 255), - a = math.random(0, 255), - } - end - end - - assert(self.color) - self.object:set_properties({ - nametag = tostring(math.random(1000, 10000)), - nametag_color = self.color, - nametag_bgcolor = self.bgcolor, - }) - end, - - get_staticdata = function(self) - return core.serialize({ color = self.color, bgcolor = self.bgcolor }) - end, -}) diff --git a/data/games/garage/mods/testfood/init.lua b/data/games/garage/mods/testfood/init.lua deleted file mode 100644 index 0a264a3..0000000 --- a/data/games/garage/mods/testfood/init.lua +++ /dev/null @@ -1,35 +0,0 @@ -local S = core.get_translator("testfood") - -core.register_craftitem("testfood:good1", { - description = S("Good Food (+1)").."\n".. - S("Punch: Eat"), - inventory_image = "testfood_good.png", - on_use = core.item_eat(1), -}) -core.register_craftitem("testfood:good5", { - description = S("Good Food (+5)").."\n".. - S("Punch: Eat"), - inventory_image = "testfood_good2.png", - on_use = core.item_eat(5), -}) - -core.register_craftitem("testfood:bad1", { - description = S("Bad Food (-1)").."\n".. - S("Punch: Eat"), - inventory_image = "testfood_bad.png", - on_use = core.item_eat(-1), -}) -core.register_craftitem("testfood:bad5", { - description = S("Bad Food (-5)").."\n".. - S("Punch: Eat"), - inventory_image = "testfood_bad2.png", - on_use = core.item_eat(-5), -}) - -core.register_craftitem("testfood:replace1", { - description = S("Replacing Food (+1)").."\n".. - S("Punch: Eat and replace with 'Good Food (+1)'"), - inventory_image = "testfood_replace.png", - on_use = core.item_eat(1, "testfood:good1"), -}) - diff --git a/data/games/garage/mods/testfood/mod.conf b/data/games/garage/mods/testfood/mod.conf deleted file mode 100644 index 7bff21b..0000000 --- a/data/games/garage/mods/testfood/mod.conf +++ /dev/null @@ -1,2 +0,0 @@ -name = testfood -description = For testing food items diff --git a/data/games/garage/mods/testfood/textures/testfood_bad.png b/data/games/garage/mods/testfood/textures/testfood_bad.png deleted file mode 100644 index 6e92514407228ec296e19cddee0c1ed1d3384b62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`uAVNAAr*|t4b6cc*u~XuHT<{Y z`G3*SjCsrdhlUI{(?XaR|*ddEN^0$*sz9iy0HGj z^aF!HJmC}$G?T&8)z4*}Q$iB}^Die( diff --git a/data/games/garage/mods/testfood/textures/testfood_good2.png b/data/games/garage/mods/testfood/textures/testfood_good2.png deleted file mode 100644 index e43dda209b1361c4d465ced4d962d551181b87dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`5uPrNAr*|t3(S8oA5M{8P}KR* zzC-PDS_`8APk4j0a*o?^fyzT%9J?8UnGUK8u+0$KF=xeJ{;R41cFPzI%=E+^3=_o# rUb8kedVJ1UVxf3ZS2MY4Y824M&x?Hck4y^#+QH!I>gTe~DWM4fIj$@2 diff --git a/data/games/garage/mods/testfood/textures/testfood_replace.png b/data/games/garage/mods/testfood/textures/testfood_replace.png deleted file mode 100644 index 1ef6876e5bbf794803a9282601a1836def754849..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ex5FlAr*|t5;Gsz%PelRulP_e z67yMpwPL-4&;FG+o!SS~|M{*mZpZEf)hIr*f@dT^6ZjBwh h!bOagoEa6246|yNc^<#LY(LOs22WQ%mvv4FO#sNwDZu~$ diff --git a/data/games/garage/mods/testformspec/LICENSE.txt b/data/games/garage/mods/testformspec/LICENSE.txt deleted file mode 100644 index 07696cc..0000000 --- a/data/games/garage/mods/testformspec/LICENSE.txt +++ /dev/null @@ -1,14 +0,0 @@ -License of media files ----------------------- -Content imported from minetest_game. - - -BlockMen (CC BY-SA 3.0) - default_chest_front.png - default_chest_lock.png - default_chest_side.png - default_chest_top.png - -stujones11 (CC BY-SA 3.0) -An0n3m0us (CC BY-SA 3.0) - testformspec_character.b3d diff --git a/data/games/garage/mods/testformspec/callbacks.lua b/data/games/garage/mods/testformspec/callbacks.lua deleted file mode 100644 index a4df232..0000000 --- a/data/games/garage/mods/testformspec/callbacks.lua +++ /dev/null @@ -1,51 +0,0 @@ -local callback_test = 0 - -local out = function(player, formname, fields, number) - local snum = "" - if number then - snum = " "..number - end - local msg = "Formspec callback"..snum..": player="..player:get_player_name()..", formname=\""..tostring(formname).."\", fields="..dump(fields) - core.chat_send_player(player:get_player_name(), msg) - core.log("action", msg) -end - -core.register_on_player_receive_fields(function(player, formname, fields) - if callback_test == 1 then - out(player, formname, fields) - elseif callback_test == 2 then - out(player, formname, fields, 1) - end -end) -core.register_on_player_receive_fields(function(player, formname, fields) - if callback_test == 2 then - out(player, formname, fields, 2) - return true -- Disable the first callback - end -end) -core.register_on_player_receive_fields(function(player, formname, fields) - if callback_test == 2 then - out(player, formname, fields, 3) - end -end) - -core.register_chatcommand("test_formspec_callbacks", { - params = "[ 0 | 1 | 2 ]", - description = "Test: Change formspec callbacks testing mode", - func = function(name, param) - local mode = tonumber(param) - if not mode then - callback_test = (callback_test + 1 % 3) - else - callback_test = mode - end - if callback_test == 1 then - core.chat_send_player(name, "Formspec callback test mode 1 enabled: Logging only") - elseif callback_test == 2 then - core.chat_send_player(name, "Formspec callback test mode 2 enabled: Three callbacks, disable pre-registered callbacks") - else - callback_test = 0 - core.chat_send_player(name, "Formspec callback test disabled!") - end - end -}) diff --git a/data/games/garage/mods/testformspec/dummy_items.lua b/data/games/garage/mods/testformspec/dummy_items.lua deleted file mode 100644 index 50fb989..0000000 --- a/data/games/garage/mods/testformspec/dummy_items.lua +++ /dev/null @@ -1,14 +0,0 @@ --- This code adds dummy items that are supposed to be used in formspecs --- for testing item_image formspec elements. - -core.register_node("testformspec:node", { - description = "Formspec Test Node", - tiles = { "testformspec_node.png" }, - groups = { dig_immediate = 3, dummy = 1 }, -}) - -core.register_craftitem("testformspec:item", { - description = "Formspec Test Item", - inventory_image = "testformspec_item.png", - groups = { dummy = 1 }, -}) diff --git a/data/games/garage/mods/testformspec/formspec.lua b/data/games/garage/mods/testformspec/formspec.lua deleted file mode 100644 index 29014f1..0000000 --- a/data/games/garage/mods/testformspec/formspec.lua +++ /dev/null @@ -1,591 +0,0 @@ -local color = core.colorize - --- \208\176 is a cyrillic small a -local unsafe_url = core.formspec_escape("https://u:p@wikipedi\208\176.org:1233/heIIoll?a=b#c") - -local clip_fs = [[ - style_type[label,button,image_button,item_image_button, - tabheader,scrollbar,table,animated_image - ,field,textarea,checkbox,dropdown;noclip=%c] - - label[0,0;A clipping test] - button_url[0,1;3,0.8;clip_button;A clipping test;]] .. unsafe_url .. [[] - image_button[0,2;3,0.8;testformspec_button_image.png;clip_image_button;A clipping test] - item_image_button[0,3;3,0.8;testformspec:item;clip_item_image_button;A clipping test] - tabheader[0,4.7;3,0.63;clip_tabheader;Clip,Test,Text,Tabs;1;false;false] - field[0,5;3,0.8;clip_field;Title;] - textarea[0,6;3,1;clip_textarea;Title;] - checkbox[0,7.5;clip_checkbox;This is a test;true] - dropdown[0,8;3,0.8;clip_dropdown;Select An Item,One,Two,Three,Four,Five;1] - scrollbar[0,9;3,0.8;horizontal;clip_scrollbar;3] - tablecolumns[text;text] - table[0,10;3,1;clip_table;one,two,three,four;1] - animated_image[-0.5,11;4.5,1;clip_animated_image;testformspec_animation.png;4;100] -]] - -local tabheaders_fs = [[ - tabheader[0,0;10,0.63;tabs_opaque;Opaque,Without,Border;1;false;false] - tabheader[0,1;10,0.63;tabs_opaque_border;Opaque,With,Border;1;false;true] - tabheader[0,2;10,0.63;tabs_transparent;Transparent,Without,Border;1;true;false] - tabheader[0,3;10,0.63;tabs_transparent_border;Transparent,With,Border;1;true;true] - tabheader[0,4;tabs_default;Default,Tabs;1] - tabheader[0,6;10,0.5;tabs_size1;Height=0.5;1;false;false] - tabheader[2,6;10,0.75;tabs_size1;Height=0.75;1;false;false] - tabheader[4,6;10,1;tabs_size2;Height=1;1;false;false] - tabheader[6,6;10,1.25;tabs_size2;Height=1.25;1;false;false] - tabheader[8,6;10,1.5;tabs_size2;Height=1.5;1;false;false] -]] - -local inv_style_fs = [[ - style_type[list;noclip=true] - list[current_player;main;-0.75,0.75;2,2] - - real_coordinates[false] - list[current_player;main;1.5,0;3,2] - real_coordinates[true] - - real_coordinates[false] - style_type[list;size=1.1;spacing=0.1] - list[current_player;main;5,0;3,2] - real_coordinates[true] - - style_type[list;size=.001;spacing=0] - list[current_player;main;7,3.5;8,4] - - box[3,3.5;1,1;#000000] - box[5,3.5;1,1;#000000] - box[4,4.5;1,1;#000000] - box[3,5.5;1,1;#000000] - box[5,5.5;1,1;#000000] - style_type[list;spacing=.25,.125;size=.75,.875] - list[current_player;main;3,3.5;3,3] - - style_type[list;spacing=0;size=1.1] - list[current_player;main;.5,7;8,4] -]] - --- Some textures from textures/base/pack and Devtest, with many different sizes --- and aspect ratios. -local image_column = "image,0=logo.png,1=crack_anylength.png^[invert:rgb,2=checkbox_16.png," .. - "3=checkbox_32.png,4=checkbox_64.png,5=default_lava.png," .. - "6=progress_bar.png,7=progress_bar_bg.png" -local words = { - "esciunt", "repudiandae", "repellat", "voluptatem", "autem", "vitae", "et", - "minima", "quasi", "facere", "nihil", "ea", "nemo", "rem", "non", "eos", - "laudantium", "eveniet", "veritatis", -} - -local reseed = math.random(2^31-1) -math.randomseed(1337) - -local table_content = {} -for i = 1, 100 do - table.insert(table_content, words[math.random(#words)]) - table.insert(table_content, words[math.random(#words)]) - table.insert(table_content, words[math.random(#words)]) - table.insert(table_content, math.random(0, 7)) - table.insert(table_content, math.random(0, 7)) - table.insert(table_content, math.random(0, 7)) - table.insert(table_content, words[math.random(#words)]) -end - -math.randomseed(reseed) - -local table_fs = table.concat({ - "tablecolumns[text,align=left;text,align=right;text,align=center;", - image_column, ",align=left;", - image_column, ",align=right;", - image_column, ",align=center;text,align=right]", - "table[0,0;17,12;the_table;", table.concat(table_content, ","), ";1]" -}) - -local hypertext_basic = [[A hypertext element -Normal test -This is a normal text. - -style test - - . - - -Tag test -normal -mono -bold -italic -underlined -big -bigger -left -

    &J)#dZrC(U9h4#6W2eEdSHJ+zZ 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_ice_dig.1.ogg b/data/games/garage/mods/default/sounds/default_ice_dig.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..97399c8310368ef7368d5627c7802c0da7de6319 GIT binary patch literal 16248 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_ice_dig.2.ogg b/data/games/garage/mods/default/sounds/default_ice_dig.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8a5da119b3cf92f1e88a1195ef0e36d081cc41bb GIT binary patch literal 16624 zcmb`tby!(0&Ij3M?lZdwnwq zW&rDL5#}EV#8Ghb`hOjkJZ9#93T7r2(A(`W)p#I`{(qK>0tjkmwx%!S?M{yUdN{EZ402nQJ9l%eYQJRJEE1R?~1 zKG8Da#~4d7L1VKRT@z#9V_F>?L5Z)?*Lz&uR6a6X8#ys@f*bkS;ewltRm0-<*{VjtGMp1C1|`jRv^^k$ z0`Sy-9(S+#paS+HeuvnQP#gzCK9DIl(H=aY4S*OAR zWzq=5uP}XkPV#M8;M+}K|DqcpLySnM?nXaniq4kGH8w9XOQ|s}tg-5=VC}2Gy+#3H z0VtS~X_lP(|Ek97@kamm`pUGM8T1N}WtSaUmmRHyB5jvFEB3X7yFq|XUn#P7*mFxl zxVs?2K$UcO+Y>7@a3n+UuM#k72Z3I3l6BaT^#IaPWE->RQH6+1L1d=@QD7wUe=c9H z?FC?jI?XuV{4>tWNWE*Zdy`h~`^PK_bW#V~1eSmqL9;0q^>?*_*12Ko&cI#F*#9)2 zSAgF1rinV!zEXLH-_d_eol6}<;ShlzlgZi5ltU2~{tjH=qo7F40Co6!%{dha)e9!2egf?H+ngl}*;0V`(Z0jxNzdMzDNBJkbW&Us)sc2gDXnNOplc3~+r1Xt~ zZ}fPB?jjO2Ezlx8H3`@f|9@2f3xf@*=qQ|*8g~pq&+QA0nd@Jr~NO_`N2u{ z2Jof|R@uY9Jc^6}0(Fph_TLHsfqq2dN?)HN9~9Xp6nQ2T**+?Z{GUArfKG7Bj&TEm zjRS#*L7?>xK~0KEZmG3IctNgamTpJTV{?#3^tf zRQyil6Dhzz2f+t3(m@HqU;w}cr!^dux=WYy7%Wxb6RF4ug(`r}nV>{UU^XX0#d}Zy zV8&GaSQE_F8O({31X1LI=lCjW0DyP_1}HECJ1aI?(E^$?2>=|1r8cNy6&1}2V#hTY z>8b$$UEHLG1!wN0KJGQC;+%1PbEcX}jiT$tb1;iz08(raIWRVL+~8{_UTo3^T*LxD!~s0ASF9vu4sfjI)!>U_b!+*ub2rb6g{ot%l5? zh{ySw^QXYBssR97Cm@pRU9kZ(WQsdTz}KXJ#V0kwimOSKzyO2hG6g^=?XRvTf&eox zYg7{fq`HVK*nsf+0}Dj;!Obfx(5X3JJg-2FL9VUh5Wn1T!%KVOilf5X(RL{PB0Q3MnD0EVP>l%*^I<65y?W+iuqJzfkhj0Qd054V}gfm`Q z5nKS^g_L(Hf`M~y5*X`D2G#`>7Fyn^p#;W=3mDU|01_Z_h|g5Zi{Q`-ZEkYlJQZbl820l%lqc`5+dnIacc7F0ozo-RjO z14w_i0r77C5NG5zqyt4_1JNtzF_6^w#{y#LBzpq}q-+oh*fcN(k5vR%PJ{ptG9X?6 zc@H2xGJ}3VT##@;7Qk2+1^`br_!~{`fhhI~b@q;C7fUAT)3qrkfQTD~;=;$61s+3aQgr48sK6! zZoxUJaSgTTul}cN0R}wIqL>FB3%K^A24wIyh>DvZ^qG9ROz@}Fh}x$tY8I@|!XVIl zrt8EK@GgwdG1~Yy&*aSgPwRh=UANZ$0rX>(6DqJqhMAiRkps;C%T3U$&tcC~9);d| zg5ePdP<5!@wfRSavtzFX9H&A8P4#(*v1s6cqJsjK&sNhfz{C^>u)^l_5a{1^S6UX)t5|dujMcg0=;7bIKcl$Q*nRY^snNW0gt~n z2~5`zC?_+P+7Fe5bfUs6zvU;cyg5Mx-1 zf`85AZ%*=;)V0Mag75ytyG~YOA7VE7cLrd97`&{%07dY%-C{^#=mEw{{VxDm=z8&M zfTB1K-G2a3fB>+ozW`vNe_I$TAkgr&J|DzA)z2eVrT9W~kC^_ie=Pyw?_XSV+JEQM z0O!mXht|Nq_p&m}oQIS6;$XJwr=bNgx9} zr}NSPvqJd6jP>P{$lHm(s?zeeFO{2ET-04@fi;GhULwZ~q4wVK5M z4}8&wKoAFJUI-Yr#jeO{x{oy{V9CR67?js_L>5B=r)0kPf@c)CpzbhR&?_yD=t#l7 zve7_N`5%N|fb-=ZC=du}p}+y;`&TFW!GB%-znmF(NucKk5^%M)lK#=}VavI42j2*8 zWDGw@iK0$WdO~g5dW+9kvBm1?&FfTOT2pZf;#(0rmYM=LmDp#^g6JgFetEtiZhFZkvaF~=Z@R{ z9-!{w>GzFwpI_Y68t%}>7RM1M{HjLw3hORE|B^q$;+`*QYNnF%CT1PXd-ZQX3NxVR z-;$D6*7wdpcOMW_GjR&Mmiho3$3US1odJiS%I82+<28OkVbNFOZ{NKK%g8AxD*xv$ z;q&Lu*SN2M=jYG=+!g?V5K}O>1sKG=`OrB^CuavcTL&j=GmUg{8Kv(coI${LQ8X9v$Pc!59;#$P_%&h!~2`&3%5)e5OM zxmpQ6Em!?s>5zF=jIQ9@ZC>zZOOY*1Xh=hQh+6VRf28LcUjNwhy1zN5pTpW}b742T zCK-q12_MZ#*~6YsH2q(CQ!d_lcFo(xx3es~8G=nlB&AZk)J9v4Xrm$c-vKQ&>7>Q< zSf;rwpq5=@qsA8J5v?y4TrSQh+-cHITaz+oDx?qTkq6W6TNb$naXKqT!9Szz5E}80 zC0;XcC6(xd?j{a3=`N>W3NxA3wddE?Ao6R0X#NVYEx@6grui`zOvKXGOHm6sq)g2sm z`F)fgv=5dJ80vDIsv+TeqQ3&oFZ58N+?9C4>_}O%yuw_Xlo=D=g;3HyvMTWJ(90E^ z(T~3oa6o_mnT;yB#vmKrQ+ek%xxf{f!zP!$zNzxPi_@+~2-zR2rD9Z9#{{w!MVBE8 z6V{z5*l00G-W{D=P`2@4+TEQ$>n}-rnWwH1Rh52z#8gLz#_PD_F5EN~Z~N)%ySFD_ zBbK_T7K;0C$t4?8$)g;18&h0+NQ3pko99{{X`Kv0_bsUaPAxZ|DoYrVsa@;}b#!N! zEGFnS&ug!(?#${gh=IFEWv4W2=eCn~BV}6o>+*!n@Z<;QwqDz|OO=>Gom90#$xdYj z&hPeT?W**#N3Nz(F{$jy&#Bexw6Pse@%TPVljkj45^ef}cvw`2xdm*PPG-KF1p?{5 zKrgLwc6gk(eYrVyRbt)Ls0=rT?<-zTrM(f;Sv$PgCm+gizw9?zM!*zK0yY~2LOv`m zTAntZqzob;!m{qRBb0MUyB#sz1Th;sPu+u2kN;emn-9$4b9ozj_%zQ@#TkHFvNnq4v@Tpf_^mMhnekWfWN^U%vW};XhOAy@KUj#Kzs=N&hfn{lAt% z`CgzEtgCV+!*ULy6yH{}dt<=hfp_-EDb>4tSHyZyz7v0g{WG7`bc6e0B^BxvWTg&F z&+g2zsb?^9(OZf^mcV(^Z!LY%w+FZ)k9UmN;0ZT*dkhk$V26Jo4E_~}j+JZ)*%1SR za8#f~$}{h;pFYe7U@?S}Jq>85?(FCtI$To;Cl~!DwA66Z`TCa81knaNp#ps(8OSfM zb;Jaz6Mt~r&6}VfwE@nQ0}~P^jfYF?m2dnmHrSzP&4t{~l*5g~iNn5f2J0)vp@gZk z5`{ea&5Pp2*@eEx8yvxo?k)R8Lt9Q8W7;j%yY3YUmvDygLhh2h$|H@72(R#Ft7=-Z zMkn8t@Z&h>zG%eD7gqf|Vb)0A4*lKK$y-||<1!IYQHTAv+X6hi9erbr6IGBg1d}Lv zz5B4thwd83;DV@KltqrzgW{!n#|m$RUEW$~&BUku4k^!6Q(S8e@jkADKqIqAzRu?I z_2!xWjYk)0TQRcLZ{v<@OnWPo(CFG~P7D1S_^?lusQsG4Ag?6u6{E;5>)wM9wROAz z-WARlJc@d-{@2qc4HXXC<;Y>m_zVIey&yX3Qnn+;mD&eBQ97X^Wh(sY1AAH}A$*ZY zFtPTI`RSx&f`O`r>r$AvZ{qo#5bB*h4Vw9)p%+@PjV@}JwDj6d(n~B~;+i*7@QnI< z47P zkT0fn-IP_<73>LkDlGPJf34Ftq`+>?zH?U$Z;tu0-`=b4#g$l`L*MP8a8|yy%dxg0 zQ=L95$kZ)>sJNkW&ebu=ICMEBAcg-DLcRB>mw|cG~YTY+;53SFXJyr)>?<9<*L9gzLuV z`mL_t<$#qUTPI*EE@Z6wlwSdp{d}wm0_h9`hqPgq1CH&D+n%Q%_=l*KQ>>)q#pT`H zD=nDL?9pq+-&*S{c8aX?W4Oh%1~+~DBX^zcci%Q89t z^q*cDM^cq?r1Eya@@Hm_GefwI%lLl)MJ+N zN^b3$@ZjWpofGa2WoT3WE8<(bH;|AgUd4Hp84Zq8yw04hw8HP3+~dAZya^S;_fqR^ zn#xZrv8erEq8^}s-bnX{Na|i8O6go}1-m5oLxWzqP^n<8bd7VbQhr0UXbp6k#WX9$ zgZK$3G|P1T5!SahGw;f60_#OSgyYK!Cs!!iG3NN#b5YH6e$CplaA0+I+^?O?OOONm zT~V?h3}3YU&x5gEo7XdPoHdEr$pswuS`?!Xjwj!XJDc$rDz0F^yvlU{MPUG$<1i7%(d{)*J|mM$mod}*j?I$asuYJS8?03+)pI0xv|SR1DTY*eK>fMz7?j&F`2eVGIqp$ z$pDXu$qra;ADI!G^+r=Q-8?kTZ?@f}`~?r8U^S9ZH&@?vxLOe}-bZn_zJ^%D=FaSl zbqiq8oz1}G1EY6m1>*^pUjs{)-!m)2)&4{s#?y4UH@oJpn|@A0vxOZ&WEt~V~BkLYaJf><#>JP6~)s<>vw_+o&(Xx zWe?R8WYdSLf5uzvhKkmBZk57X(#@VfChR&~9+*rzpCvOAX6DZFF;`7t^O)K<_+a4{2i!oaNN?;1bC1z=LgM8vl ziCEK3nVJ&iy(`<^c3fuH-R4kdF$GwuNV)yfU%m7U;b|8g%6WMWOOv`GOM@*z2=*}V z=nuQ6{5dV<4Jr->%TbdL5ErM6I!*J(W2rTu*q&P?I6j}{|45@xCB4*;j^`*k@9n1g zmRZEzp}yV0Wcp^Fw*3p2q5f)t8Yecqk77vlR+Kh(4>3uIN1f%=v03rB@W|;_7vF~4Wkm~jeI+_K?N62IOVJs= z3HcpXZYQl>uzN;d3=-_}D=o%zkbL{liweihRHVJ6DSRb7v$ zyG$MnG+vK$2SgZxzI^1JYTb`E|DJJdvXSATX}xx`FFQxkT{UP4Z);xgm7B7<@SQA; zIePzwrIvoSXHp_Fy{szRf9S`#Ue5PR#_}f0n;+5&(OJfwLq_NX>XO`G#LE67bR!--{cIbrp7 z{w>t}z)MLgX8wzsL`j69rKDY z6|YUFFDZjTsl}iZ3%whe-j-S@hu|e+w=qk3;XX?H%Z{bZl(8wRCCT%``o@CkDBrG^ z?_l$?+70Itkl6gZl7}gKpMKyplxB&S`+lr32#gDq6lG-b_~|-nBdu5JBGpE>y5;E2 z(>SAZa>uZo@fN?*lTi=vi0@+x-R>C|aM)r7xtq;Gqm_o;s~QT5@HAp{kM(#Zn;&HE zyULN(Vd$4e-s<{CB~{8zkiIXoMZ&-EK*sKSJx&H*^$^*?<*a7*w6j%ws^0YiZ>!^d zyI-27^P&O3bx$injalv$UIn!jr0~$+Nt{rUShlF6>&@^>FpTC z7qw5(#h`6fOHjDHFVQ$L))Uf{?sT|v+m*Mz2KNV3akStcLsi!d8`&7KO63;6(;5E< z1d@j=r11Am;Tn0P#V_`(Rzj$7;BVtc9h2;c8$=c`{UJ zOn}(_F3>d^^#HMR*Cy3f&KUurP+_6BAqumX@79}0_atux%((9?aA z;X7x%rK{rVL3N9sY$7^-MwLOe|+A0Ps%`MaPj6xsf zqF0VZb;vXLCpBA|U_$aW&T+O!+6lgs2F08F74C@RpLbKpN50CUuq&77goy6jvkoq) zzegj{P<)igINRdvhaYt(+m zQkk5NKW^^D3t9N_T0&2dH)b>y$b&jxLBxf>Q7+4{llw$iEc)* zCsr0k9__hkS2?t7e}I5)(Xb$YPUkVTzy4Vx*;WC5InrGMu{^3;TyA@O8*hn{Oe{UD z#l1y;RNFDdBG_iGu5Js#Li=Y$MsBdNpDzf@H|v(=L&4v_#l{Q!=MroV+a%eS18jCE z5T56K$8G#wpA#N>lS$!@k_FsZKv^!{jc|-IC*!-?wZZU3y0484Gpa6^QDDOsZOYEXi#^{kbo7N2vZOROn zd8p^r9@1ILJr6j)K&LChHWT#K5ESRg*&oi0 zJtXS~Y6<8s1Gi0zQ3}A0=yOp2MM0 zQ5D+v9XX0O6}FAAO!pjnWBo<;4n}IiYOzcqnY3pue?EDT`-wY3;!Y<;n>A&en^dQ( z6QmFF$_>cJ^V%NSB?a_^70Cwq2|q#DcEe3u`0jXTZXsqfH>Tsh{vj+}l{0-U@)71B zSPnOf7DlG8_2gS#Z4rVihj2itcp{G@eRYa1T9J2kyXZr0{>P*l5wC}p! z9Olu~EuqcVp;AJJta>}v7PSoZm{2PHVdI~O|FjkM1oQ`St2_QyqKlqu_am5Fw2teN zr0`L|eIa}?@>2cNg@qWDw9RoP`v7VsZu-K#+U%lmVly9MA_{MtA6eZpC_fpp^Lr-9 zp+S&&Be>OAgo9oSnsDUiY`!QK=GU4{V+Sj|mzQGj#M6R4LtL<(BA`g)j>T?J92V$T z^{sc-Dm-6a+#~g*o1$?u+?34V&7Pv(FE^1-Xc%M2u$r!{_3HLKO$Bbs7~F{`NviHF zrnxz_?w#Rn^Q0;*Y%jWtik1{u4Ut>S!noMWD_XCFT6dZ+Lj~`T6$|g^lzNwO2{B@o zfpuN%hZ65@cTnAI<7d6N6p^9f%iGX|2v1io_dyr7YBnFeOP}3Y$TA5b&5loHdB=)3FQ;YRvYeP_En6k&3ajSVhX$N%nxQk?+=45q zQ*W{;cUW_apvhy+?9b83-|vB{nilQ)1^IKyzcCd-&2|bj0B2wjU>gicDCBOe;-~ZccH4T=$J&1`A=TM3pzEa1VnnMUxUpHLoXPO70Bb@t;*QY0dlEb zdB|v-b}*lkS;f`T#%3X48{|-{H+PPw&Yo$)BK-0!JP*-K@)xUslUB{Nx;m$Zh$TfL;CFUz=#Q#IeYvahi1fS3|ntf2pZ$_M4Gec+Qv7ZA(d zyT>u5Uy~T^;^A;`{>MApU~a0x>z=vr6cXA(e>^>cD1L*@xuxZN+s*5!GEtdp-*9-+ zKXCKeSR2|s=CMpmZno#zL$&dkpl(53iUqO#O3p8uC`@9a)y(|>C-Tdj?kKy1)5{L~ zmPN1jiJgOVhCeJR@P#jzS1#(~X5q5KzlJ|7|0ayJ(-}A&lso@WF)ktULn-8?>I2Ty zkG;F1@eI#?X3T!XO+`q%`CQCrQr30`_6kLo-}pFwukdB~_X7zaH3BXO7(Xm3+@L_c z2|!+{$)2a=MZkD$D4H{h_l~zacZ|AQxMtGROW?*XhBZZek})ek`MLz{Y|=G}qYRw2 zv}->ih3HT^3i?JhGJV+(n5yEzZt*M8?{!be*r?mH=Vdp@5KtKMQPd zjz0e|>nwU@mx<1wa&gn$TsrHy^38KU+L`o}mAvfIPQ;;BS#nxddWpTb zg*QowgHUHi=-$$P{0E+lPjTyVlg_qJa?CszakV{TN1O_A61F%wbv^JMsueON%O!nEyz3{*tUs^6GQB465a?w;aj|$H{U+Z`3Yb zJ>TaLmI(b5Yb4T9*<@=L0^u=<7;Jf^9ptx_K`Py4d{Ow++vACl2fb##a`5twIul#7O?6sU{?A574`MG8t_nZTh5%aCY^~myj}JkH#iseozBqS~5^}W! zQ->Q@9x^kn6r~BCHlk%IZi77?3*`oVwi-x73Lb(U%|kU9AyS5q|D^s)x6f|trCKDd zR7AyF9>b*Kyr&Bel9i(JccEorI|(*!n#r^WKUr*lYmGWL-*R~dGOW(jA!i#7=D=j~!|KAXc&mt)`0_cFw=KkbcQ7%i^@a=`{1)!e%OR$#$p2dS&PQ zja2)`n4p4_q}7Sq6vtKPTVsA1vdR)~%(A~T)ZX_uY#@z95Nb*vIS*FKPG#g9CsQl= zB}WEK97JKbQ!c)Rr#A6&c=#v-J)yVQFXoNjTmSu~QGDgMTeDmTvPKq#>bt75u)5?v zEzsObd?Dw-y^f=)l}a%+?hDtQu}#PEx~-x(uKk?FrO5)Nf}PN=3g;DdJ^67!JlWMt zAuzoi=Pq*d6A1M1HVyaf=bvxP!pMelQ;2lXZL8+y&MoJoes&xgtF(iEj<$D7ELxfp zUSRJoE{e=F)tt^9Sh{Xhq*HoJQL0>4Nk_m$PT~5lvnuMaCoKr|JT<%e1mUc?U&xn^ z?wj95(wIJ$`g!yppU)1=jx8MQlm@%PUV08Xh_br#Ptyx-?U*#w2YxS6vRqp$>G0a* zJvL8ULvc@;my=%1vB}z>J~Qxf-Th)DX59xjYYZ<^5o-JSek*RSdb3>2)5U3rpig>r zdueAfkI!ptjAu}cnZ}ifl|F0__^O_#EYW$bV@m0cc8|E3W;LCpDF^nB%pIm)`4w!m z4`g6Ov?gvTJh;A;RX~y^UmmOsQ&gDCm4A=#FVy~_u}_+GOEL1#pRV67j|PoW@&^^A zzoaB2O2;H-{EfqqAua9gr?_Z!%g1?Tao=N4 znpvt?B9!!;@<>tKl(d%ebne@&9@rLpggH3Pr_ zu5T)Cy%GYNK*8KpU}Cfj+MAt9*U}car!cm4G&cEUWnyA%U}E~o#KhFpP!EmHLZcsW zr`^MO?>0pAFt-@B^YdWB`lt&pCQr;$z$r?51=R}^WtQ#D%IKUG5nMA*_|~SlSwE3@ zHCJIRyhBNlgz79bn|*FzCM&ua#r|sdhUUgl*+JDoxsl1xrh#$CpZSuuQIP}Fq zlVhiE+m%jDgq2@Ox@sCY|KyyUhd_Uw7DbRIFYgooA2oJcIv1ccI>0-T#ISatPsShUBAkI84k4_7|RuR z;SHLkqR1_{J390Bo<{?_AGCriaBv&n{E^Tp9nQQ|wWtDXF>`p!>kZUs%lri69 zMGnoiWE<|JRGlv9pB75Al+tvf2Fy^#4Q6U=IIF6;AGxL;9v-N+6L5~jxRG=&3GXxh z>S!TtP1w%3$1E_Pm0{WJQwiZ%f<(Kf?yy&qnGx*Qb;VXk?($;)ipQlbc3}LhpmyX8 z3x9miME%NTg-dLS&Ql$2?KKfp)zTYnOUaI1&7U}@Jv2@JYhT8hGn(c#s&3pWX)6vU zyIiw)&KDw0hDsA%b7c8Iroh|$eX-XZcXvVS1I|2Yr~(2P7ybF;;)>Id3S?!&4+j)G zLfH0;`JRt1y7ORSw^!Inbg=L|^do+59O8I%gQvG9VlD_lmdloM5v~_7J02^~YEHUPBeR=)RuyVTeE#ogWfD~@2s)>XUiKJ?;AApeDt1uv zC#bntASZAytz932e2YQ%6x;%fMq#>5B2Az2+Dp?8x55sN+k=&^PBvhHl9T021KKM^ zN+Q<&cd{L~ZLlACA)>gBqC{oo^WY{d-$r$nsLi)T)DlJQWn9a<=yxsrS{92La}1b^Mz3C?9#8HJ1Dn+ zcbcaK>TYzKxFBID_bp|5%1|bV^HG^wez=^wVN<10fz!&<&aJ-5WK#j1dbdfw!5|X( zcBBfDyP@J7Z+`LYH%h5Q`=zR#c@qvrO1|{m&2=#?w^wbN+%6L*>@)9MXIl<-o+glN zao_rr??J*SHyD}Xe>~@-q}Q-!W!Hi~_%0ze{qoS7W42nVFXXDlyC=p^Qv>GJyg52} zp@(uek`Qb1GH^C0F3NBxYB_fs^j^ge3q?DA7rYyog731pL9scY{22RTbCmm5g~&;X z;VS3H)}6?=tWbqCjaVl*)v6jQpS_vQ+c^`ywKqntWBV`!xgt{7>13_Lal)~UM-%T@ zdGjT2sdz%$bL4bq=>p#U8-7M*T17r9M)f#>9xfNpkL$Z6SDc0S2ct#V(_| z#_=bo{69go#fjLo6)ZQVFS0xGq7sJfq?x_z`kYIp(ECG`-m?DI$&%?8Z){XH+bYOt zlN%TD5xXU;p5DVsb^dx%ylN#3({@jqxe=b19d==p(ILkVe#{Ek#2<(+$O#A5A0SeB z8FyEKPpyRu9Ej8=e4^vfV>^`>8B*Bn5sqSG3oxhFCH5#p-b(PmVFH{4$@|8JB0_jQ zh59rmL*-j~qK@09>ASveW4<&)!~>0NCFQFfu56kJDB}I!hkjVk`db@VDUDd``W@S=;KwF6-1G3^~Jhq#;oZ{YJKf?YsiBw98G6LmCd4# zGcj?@a>P?g?D7Yr-I4k_?vA|6puC5UDs-q%4{3IuJ&J1+Hem~`l_g`9beLBF-v#|C za=0OFRO!2Y;x|OsAxau7zq{g8z*pO93^z)XgHEI7NqJ)z(cajdWKKCCv9Nvx3r z3m(NLH!;jV%WrjyW@j_M>R%D#2;3au?edl}XQ_rai{mX`_8GU~m(|pG!t0CefMt#X zLm&P$dNFVj5;D~{Gz4$IS=(5R+X(LyOLBr6?Fx__%bH{v)5JAo^eCM6WLo_~RY<^U zijxBF9ZQEcz1lm$eu|}|C4ZkJ$i^bxx<2M+yywkY;x27=j#5I)NPE2bp66Jg=Z~Rp zi?S_MlGf^xR?dYYPX`CTxkv2O&cvagysXM=Jh9dly?RnqE7nTEukJuwmB_FD^t3ag zaBMIocQrAAVnmNf%^|d5;;LgSk%oLk)CM9L>Tpx1k~)m|)L^R|NZ^Z2gOgwFHcu;* z9Ei0v?kt?~WpwqmMlCFe{h4Ys>NiMd5AvNx9@eN@iSZU!f8i@hfc4v~wdt1U%nXVW zC3RcX2~xd@%{5Fb3{(+FTe&A(Ui;M9+s-I1h3t`7{ineA6Q$QrLAV8Fa=6i5h63m- zX6X#EoI|fDv7R$jVvEiqTllWmIyrLVtm=`K`P-kmG9qbmb9WIlIS~U=Y_soSNYeQI zbWw2Fiv;RTXtoGaR*4hFDiV{UjV-V{7waEfc?&P%74cZ-Ptbb|H>P2|7XAvG5yB8i z@TRsGB(qY>>rju~l>(07D+hj)=%e+6rY{jJfK9=}4dKu2Z5M21q#0<7_3SHD`d zP#5NQ1-tGtj)MV**1W5(aC_%Ne#;%&G*RN9`nnVS;&@+8-YJdQf-rB}+?b232s|&@ z4wAuMlV9I8^Q>?1k1gVu__@qXuyl&WD^lz9Dx0@{s)Z!p0Fjly6|YI_xv>#&1?dq| zEgFjM%Ig|)<7|#A+;RrKkn{9#nVI!yP3)kb&vWude`%z*Pjw{CpY(Qpjjb8~mDClII2~bjyFK@m> z)5RfL(}m*r22_YT-S0{>9Z0cs4~*ngWYF)laM|2e5((n#!TM3hewPQuMWuB1A>d2q zT1Z@3#+btU>R7(tU(7oSgb2h;@Uj=_S8jm>-#*fQBghx*PulQNu7w;C(3g`;RttwKt|z)3p*W&wlz(fb$Rl2?)t^Y$yvo@SSuM_?_Hb`aS z`-G?k>@dQ199CA#PoEIQ8g;Zq4;6*F$eT ztSEwhbKV-#55Z2J+?J<{8mC2nC9c9|PuhJ!pZ2;e0^Qi$r4pr+01Lf*QL(G>)JhJw z(Z}i5Dj$B%JVZN7jLY}=c2Q+;B9|4i+v`L5bLj}DhC0;-|4}zv?LrNn9jBC`2W6=R zDD^%0mv-=@KD0hlaUeaq%3JvSK-ySlkSFKK;qTB3VRcba;1?>|$*UB3GUXf5`5@~W zxZaRy{KFOUEpCntRVA;zKkV zj&;vlH&+$a+2&BBJGx-WwEGaQnptWJ2lws6J6MEIQw6x4xZexk4U-MiJL{fyH1&oV zYtaeCS}H8*IjE-&7QkKl_?b$2&{71qFcgBX13cjkxs+O3C> zO~TvR5Xq@Dq0v_YmZBOICs8fJ{X0eoCq!ed#-mbp*(O(xpY=AQ?dS6m=&SjmsWkVh zl%vV#$7|&SB|e;7q%;Gw>)ES%*%9%Oo%M!mQp-E@I_oFKt`=s?$I$UCW8%S1M|gOA z_ST?P%;KN2hoR5Xz+FpmOCPYE1OaPjszRXBOsl zKTp+UhUw(;TwU;Tu~;TN6sdD|f*7pjmhfA%(rl@yqCMn`5sNF`3gELjYno|~`1$Q) z?mIc=5jp|s&G9nZM`PsdpKx;G@95uUTYU6%@?#DTI!O|vrf@kH0 zYm02FcuvWVQo`h+@ZcX&ikZf@t8QCl-pIQ&yDk}7+RJzF3gn>&kvrIEqRlh(?)mSl i_HSZJLr7K05Vw|aQ~+8fQp%!8bk>F^>iDzIpLd8TF7Jq zCITlLJ3|Y5`~bn-Jp3;Rx`jP;{JV@m1wZqj2S1Yl^n4i!4=zX?{qIlTsS`;&fI-W` z*8GNwof*qB3&Y39@>vvE_;2wE-Qv3?#KQd}(eIxE!%HVPb29h3+?~e+5D6IJQ)H?4 z>5R~TAW8@_;DC`wnJU0A=yYz^IJ7*zRe$Ss9Qt)VjZp|+!`~H)pz$RLIt}@7lZItX zD_FLRn$d8D*`thzmx*f(za$frk1S}&X&-#iQfv*e$ zS^a516~JKE#G0LCclO%5w3lc3n^=4m`DZhul*MM>WrT^%aewTTJIDL68?MOL_t>bQ zib&7HzFl-C>930PcpofaEpkM(#*}g-c=3U-tT;O$>SS9ikPp}<^xzG(LJ@UK5kp%S zhsqkyBPyXTfqQD|N*dsC)YEh_8E|qOaPriSd!)80hGor8Z!lZ%SQM1hv?f=e*SrckTKpQEToZau*eLBEK|z@i^LN1+!CvnVxE>_ zvSSvA0I=YnG>e3+|D%{{$C&)jMaI188YBa3+4!8H@j1sm1V^JC5Am^un;_s*83a$g zo!|p|!A5%tP#!qk{f1U-+fbzV+X;BLLy!y~L;Z7xZ@?M|-X1$4O?$}!d!+$j3cN-B z`{%`Rynv0cCY#1s`j7}jJUupx4-iX}PI8CrL=#{LO#jJ}(3!B_CQ6?0D-BDX*z@JJ zdLmajHZJklgU{M&r+_bE&GGeV@tq0w?FwWGn3I<4#YEzKY&RIAok=2ZpnVGXEV>hj zu|ry5u6Ad_^t*Cu(0Ywdtak3r%eXV(nN2B`SA<5oC2E--fet8}a~Ji5pUN*6z`nt-H+ zx`w8cm3FM-Na-uRLC5g{&+&m!{VV?e8Cd@y2Lhn+JH{m1Fodr$$yZs9^u)n`Bj-7F z;~R!=Z#W(nb0~H5w5yl&7WfQgAdOboWJsKu`P9{SoCOV~_ z+9iJh<^(q51CIYf4jv+GqG40=k*EI)IceNsKSaXV6(TvbBd@x~n7vNG#;43;-=6&s z05lcz zD6OCDQL+md)ZyNhe>(tzK1Yx}JkBGJ5WIZ|p*{q!hPvc`j~GDh6IALE1cr@i*n<#+xakoZ*+C8zhSF;N-n0M z40|U#)2~3nOAON9Y3LDvn_M7Y9gSg#Y!l1f5Iz!Gzd$}BR^Lup63$m>eiGK`2t*wX z=ze4IL(3`9q9YLU7zpx#h{4af^v;M&1Tskw^fJOekdNe&5v3Rj)`1d{L*pAE%Ef6< z4(H~?P{QGWz(2!b+^#^%nMn;-!1_iYxG@-2xFrljqXy@7qC}j<0D=V!N38?rZ3yBc ziML1a&t&=`kbn>)%7p9}pZm6=qq`2!sU|-HYVr!~p_lbUzZsm(_1b zb}TACv)9lPR??5mJ64{FSB@tr@Y*ZGiCLrDWno|jSc^$JUR1X%HzuWl77ojz6J)PHc|4SN?gYAvr>b#t&`SDmudgeBc*>2oarO@IxSiC=o$?GfBRxaCkIA zk#8D5W{E|>`5KPLuqGk+F-jmA2af(EUrIR`4A&3lIsk1L%%B*U3seGoBY`}?hr#q4 z&L8t}VtSFmtbPc%0w*TMFqjXt03R9|%on4MfMWq)a8UyS4)R_<7;8uXdV#}2iW-n= zaJ;#|7!n08K*Z$W%5uL`;ePbJLG!P#h|`WkmKs=!%#e)FKgphwpX7}_nH({z9SDR> zV}zUqD@GA6&zX5y6vP>VAC`_$MO@{~R7ZmA&jK*-!e=>dL1RuRf*71$nbhD?rthx$MJ$Ex=eKo-mVSbaI-ILeMo^ zaQMD|WNiQPO&WkFA%q2|1Rwm^u5_7o%QT^J{x$_l)Lr^*4? z;k&?S@ML^99gUVF0mlTe+$&&k3|bv|4Fi~gsUDx$)iNJ~R!$Q`X@vBTABe!{&hZ@Y zkpTJ(uq;c&YJ|TT`GE?olLo)eTj^xfbj24Td2lNu1N$ci=sJ!qxB?6x75GTOhZ^4b ze|1q{E%+{t_%Rj5=YP^QBEv5n#n+EKrlMMLe|1rCfH+jX&3W+=PhX! zg~6i1R(PE*f-VTsydsdfP*~h$qfkbW&4PFv=ga{`GQcL=%<13Mu9 z%Tv)OFglTi{RIZ2lg>RRSt#$Gl-9!&g!QM|C?|T&W%C; zEeeCj z{{H5*E{>?fCl^WrY+ z1Q$&sQN-z)AcNuqtf0y_0*=c6MPu|{bY@tV8-^P+3=tYYx|3r+0s*)!T~wQBAjt51 z{dD$iLfhXT0?7%e0wLm5d&(@#pk=7gOp-gL*iJ7pw0xS$p;LB-$pM}ZPQi9bVpflp za-0^bO=xD!mqLtW+%gvgHfmXNJH^+U4@7e37d(q>84apKbeqACTx^Gl3~CCsg=BPZ zMMj9VyzdUASNTl&0_2yoP#`$aLO=rYJMoEO&V~Z zdrLu>+Ib=I4QnidFN#VwyjL|i+92Sut?w0|;{y%6?NF7Q*4 zP|Lh{K?aG)$VU)DXU~x_*4~qmxxt$8In7p4ge&hypp_sR}LdV!V|#wRMP@Cc-1@UTETAPGM92{bpI77>$>l99W6UmmWgtcpT^?T_Q+=tnO|6!9sm4kf`-cqS#@E6buFk|aASlU_YSJ)cb3)*}zDp>$TJUMk ze_MRhPqO#7SFlj(kjswkp!7LSMsM|WOPk&PDKj(m_^^HsS2fi*p`WpGorS{ukcYJu z^!Ns`;t}S@=EXioPb2KlJN5?dyXzF=5;wz_8Vh#jU#(^5-n>+UJNhFut{*+T^(A)T0a~&R=_GQ?`_I~Pg4CZH z(anP+7b3{RGMX@F=kEQ&qaY7-<*N^CYb7)JPkM^NXE(nt?g(BA8gH)|+jVM+e6Szx z?6x*5f^*LA`&EHO$PNDVC1ubN3_>_qCCpunH-$@PUJS;9$7+hMCSh~JHnS1l#rlxQV zg+6@Nbbobwy}KE)`)OcN(H=W{e)IslZ+5sja9CAkx2xbr&r0#?n*4p!!`B~d(slNV z9L<)zp5`9hW_~CTHMVx{aJboYsd-Q?*P;tSpf1>?FZ?oW80jJq&O zG9P`^+B@j?E@Rkoaj7&66ZU>Eit%0k-8kmz$yljwt(V$!`HN9~;2u&U=9Sf#WH(|p zqAaAER^>w1%gFp8#yg+1oys~Jx{Xh}d{jccoZU6xHAxX^(jrl^`ddSH>iUP8@q<;qP2|tTfm!p8D3o}7R#t9= zsC7iu%l+|Zs#;NdBfsy4+$zz_NbPkEW&V?hl`e@%aTct3P>DG=8{%NUNFpY&Nq7so z`-7jjyY$PeU!}ilaFt#^+Gexdal6iDhrVcX-WX(Q%`XrXOY|TB7MMIlT z|F;OUdilaI2SD`c3c@Q!#8AR1GgFVT0 zoE_)-R>nMBFyZYg+b|=oRtLVeo|ahVy97OD*^UU*;RvVqqOV$`n_r2$x*J>NBEwLn zDCxWFkbmN+O#fK&!jy{yV}L}-HRnET%-BS)B)zvP!&`Ij?Dc}IDCX3bVN6%DMfSH| zTgmt&#qRm`v7%J6R#DGF!6&sLbSaPfnw&YWnX~cVh$QzJ8`mmb!Wq8k(rdkMe*3&! z`diJIqUqtf!7k5`dmzI@P#wnSOaO0WMB1p)%x)UxI*)!9i4<4!9E$E&dp?a;<6R!A zMp08P@+(oNE;sJ=9O#88$hGDZpc|m;t3F|HI76jRt}{2cI3Ym^6a3AxO)sap6?=v+8x34PbmQ8r1=`fGa&{$FTuM3; z^Yu5P!-rhN8cf9Idz>~N>=tQn=qC(^Jr53>->z@bojJ4kTj$GWMj`pUxQ+1WvLX& zE(*i%6h;(!VI#E2TKVzX&t6n%kH~Y%bNLJ3)8!+Dl*vzVor4GnCMlGpotnqKz-{yk zb`z#DN_Br<(q$v&sB|vxp1?ku%qX3f>VG?bbmda;+gRz#RSQ2Fm$8eAJV`g$Ea<+? z+iiv%(*Aria?>e$=MygR;Y1fRhrn$wHfz$;5?RC=3(cnc>sQg0wN81TKA(UZ zRCX*xlCP0X^JseJs^VOc3+>Tl(Tw)M_ZHSJ!bK1Hm&W6jtc}TJde=e)+ZB%J13vvR z^kl=PnD1WnmdI#Wa2{D2-8HyR6P&^<)o5xJuGbQp>@YxoZ*>DEkuyI(uPLx7;NpJuhIDU8Vc8C80WDNU00)T5}+L;8JWw> z{3UKRQD^s2CRM}2cGZ@lV3VN`75Egu&B-*ey@>yG-Q?{XDg|yqzbq9%&lpQ0(5KLG zsdH3f>uXBK;_9{eUH{?wS~`kd30~z=>y*s!@69@r)88kn>Unjzq-&a}reN{9!%Ven zw%JUc6VB*Kk6|-zm3fmJkKM;ph35M@x&~!F*Pb7b7lPC=)N;dqQVIln9ft=wgD5fQ z%0VZb0>&=;Orvw<_uP0Y>oA^*0y0B#Wo0{O!$FfGrh4kzfA&MET9z8GAOj8=UzfX- zHhVlA7y4E5=^^=N2fcx%7=$3}!VeP`VntjT`R68sm%jt%Ml(*?F!G?sJ=RTk7Y7o9 zt6cYEoNx3dP$t$J&TdpzX=i59tq0%Kj6nv+JrcKBoc@lTCG2GyGFXtmnq^i#;&$g( z^imCH)I_ZJ6lKfHL)#^u>r6V01|tSTmoplbv~zdzMc7Foh9XMIh`iRw8*tny zH1)OH70b+v!e-UgOWCdhDmG)K9eO&xS^U{j+x3FL&N9^coK=bY2@u(_y-9gmknIFrz9o%vVoN@c;IR(d#C%Ew_yrQpfU~4?+{b zC6D?kcE9M4#yw6+_3#+pN@$NP6)u?j5mmyt*)2hT;k@VBn48iR_i=gaeM1-Qqpw&m zR#&67#G5VRPzNJCy)qB{O%LE@zg1Ig-L^f3qR!K8Qg3=Y-}*e6$V$-VDiMMq zA0wHg3&f1#Ib!+;V$#M(1s+3)nf-&V4(0XI;&K(M@p(HcY`DSRxdyWdW*ZD0q#DKd? zaf{k#HTAG>tMMsXk0;uDajDIFeWLqt+HU6N_3>oA`wi=h9XD$RYw9b*M^9xedQ_pd z5ojsDio=_Yw|%F=aD=J$qLz`&mMNDt-=@mKG?*uuoYfrcRnECesmtXK&wUyW#~n)Q z?4wyTy)DLL?`n`h5=E33(p*hf$8Gi33WByY-a1wvwQNp>~B9K zt~9(}Q|vEq^ELnJpKC3FQHImiYCb!hPF5>xdvUmhLb+W57$b68wFGVW1RTvNIsR^ZOW zI4x$@cljAAwR9T^^d ziJL`%uj*8`fbGKYU!t}f6-b!yu(^k^2E`#+6G=y zT3}OZ)5chMaV=nic-1dCKY6%WVovIlG;Lh(1Em13{qv)gSm}Ds+1}m*B{fZv$y_P> zg`FYo3MnzWxuI{`l{Kv`gkLYk6Wq;L4GPPlGon0fcOHwaIv5-~aM`}|!TD%#YzdXw zvT5Qv`!(Wy6Feo)qx9CS+tb;x6kWHXOy#M8hWX2}-i-BqH7$O@mkjl2o|+p^vPG?% z@vGJqxhOoHHQ#V3pHJ{~o7d}^IY{b^4Wl4{KDCjh(L!m3HP-SR>F7IqO z!uB*T?CafJzM{e&kUikEI4soP8|KxsWK@}CFtEdgrMKS=SWO^N$A~>od(G8){c7?4 z?-=8|ZA?jUwb-&q>369qZ-n+mZT!8TQCFuGWR<)r8nIn>7$Sl~x+odXs1h6$?Xj)H zipL#V#;bKIT#vB(gXJdR#I;-BTM>QYj0^AIn)x{r+LNerG%X$LTGh9fQNn}I^-B(xo<$fWuPbR zokEvPRIRdqyVM{dx*F^Dd)zansP5F&7c)*5n4N<^NS;3!xOBuhvr%#1LC<|C5@RhD zjO>lb?V*MReP{hP3`QqcyTi=N>?*aCE8Tasf)j+ z8}F+8AzUhDaG=R0@NDbTKKqBW_364}Zbxl&ed3?!r0WJdck}7Bk`YLwqVcFyYdC3$ zPO;5quT&@d_q;R7BiUU)8wm*ux#Ll)Q?w`VX z7WQC?R4$IUJo%tVYejRa|tH~$zl(CUM zN321fbB0>*C@fM*Ykx>6doIf;5AtlI{L(HO{%Q6{Z2O+4Z%x;{K~pVV&lz_7{lMoQ z$A*(v!$%RA|~jrW!UUMT{tE8a0y6>!bA28M*rBHEIxylx_Qtw^q<^U$lu>&2!P z+^=>XO0c45|M0v(xp98z$yd6%YvJ3)@wlQCr|u~$NCH=OieO4&F}Hk|qoZx)x>IRl zhij^Hf1ytKfIb@8J0(!rwmCXa_oz_aI^0SxDT(cL$+l45!{F#0YoXGN^ZudxW&`xS zg^zr3Q+I@axC%F%=gO^&Rob^$SiTVV^~tvW>Gnt7JP+`OLKB^Ke*fm~f{H%bfE&lz zLgJooy{+2hD(M?IqbsrW!7HZG$+y|V9EUys%$d(m8C37B4Pzzuo>^VbyisarJ!0XS zk2tUCwYmPjD0=@5(;;!s1u?U_GSkYHtQ~Ln&1$QT^P>gCmHA#za^Hc(pHFk@1_Aex zTUse1e000H<%5b-&x|LX5L$0N=6r* zAApy*I_paJKdZi@&ppN}f`*rvB*z%lMpe`nn4|}-LSe&?7rbg`bh(naUJE6A?Cswa zaB>R$v>)HtQ>4F5l@D_Ym)?I{qEJ~=bM$-FcYQU-d-HLLcw9jN8{;@~c&TwasshDW zSg;oYTTJ3?hn@X9bOq`UVwaIgsmj#KDLPBF0X8WQXFS)w4+*M9?Z!|;l1bMy$ZZ@0W6SGu>%@S?HoGl}I6yP@dyTrqaVMg!XN3xoSn z5=Ch6?a^9Q*s6DpWL+d&IaHNRLp;wovSNklGJivbf#PF_CMj8+PQvqay=Qbu&|`bW zd>pNQ6&&H7s#Wi3yFH6LCYrsT5uUB>8|!fX^kV4riyfW?+Sgg4{N49^);>F~XByxo+F&;WemxZ+%g+DK5 zsy^JAmD1O_^r2`h+WDtqED=M?uLiSpXH|D=4cv9FnrZ=3bu+g8=a0GaOZ>N{`UF-F z9V{!0Vyo|uPccY*b+8!u_RH+9h|Bh`(Z}=s^rnduM8X|paoHw0?VKE*6$%baHsjmA zdT)eQny1v(tKsq^HN3HU+1G-c8pcO`0%IgY6=q}ll9f|8lM#zC6lV|Dj%LMeaGE81 z8}TKF+y#zdGt6C!&n~l42(De;DqppkceD9ZDl~Szl(JLui+&v{+p33gIjH<~@|iJv zcgBNrMBEdtI&iAikr+Q3D5%&DX{tFf`q@pKLGI^>hx~L_sk7%Z8)E)O+n!l;>3+J& zo2i_asX zgO6B*sPN$}`tid9ZU&p>=0#QGki6P-pC3~;IUO-bryT*0{f|0S(mIw!!`#_W-VQGV wJ9Mb#p1eqWmU}`GyuX5fxH|p+ab!%*opJHpzjdXkxi2i92P0&7`!~FZ5=yD4bcl3!gMxyz0@5MfxpX5Xt&)-|EFIF_u@XzO#IhhDth99R z-Us}AzW4X}J_VxdIEVZka|GBPOVgWgmOj@kF5}5zzHHrO~69-U1$Hv*3 zOU>1a&fdmU>zY5E0v#U@uOJUEk02e(QhMlrZq_UAShxPRWtWlF!UEv|CA`XXJwYQM z-he*1YWbSZQk0~niPHLHz zwcr@~frms<8UH-+ujQZv#v+45ZcZYDcg6laYhJ1=!0NA9bf6$WOpyFXQiTfAfeI?v z=o7U)j@S1ENBLi9XsWycE_Xw14~r=e_bCs5-PADsdVk&eF#YK;!{aa$vhaWI6aR(d ztNU7XIxNr^2GQhY)^Cp~zAcGnbmUD`<6K1`G-ZRJZL zY5I6aq-HvELt$$AwFT{m$d>_Ivi5)O`SN)r4LqbkkOuji^1hdjTUs~0qXp}M3A-V{(h@4HgYrr=IQm5t_ z+c5mAvj6EmPXW7`Oq2CyzN7Px!!aeL&!bPEaf>HP_`>^xHJ2tfPEN5fQT})B)0Lri$s=y7w}>ZLBNY+YgV(s zWuhp#c=0iX%J#$=*t3@C>E{1N&KH)rC6PD=g-=g(KQVbH zTScZ7e$HAe{C4|)Ajdi?KQ$`vW>?7>-`_($h$rPZU8wi zT%Y_Ga@u*RWC1i)a;WV8l~HmOP^jCBNB?aA5UBkFfztIn@>-p9QeALTo%4;Ra@A9{Qda zhdyNF86IO;A|D=o(g*c!G9cSW7n&%eK%V$P{Urnh3IgE*e|Nr)e0YHMGy?>B_W}H# z7w>@?i5Om?8;N=mS;z-bW=1fPA`2sgL{SkS@S&cV4=La?=8`HZ6o!0IXMsRoDcZ6^ z$TSo=JxJ7VLjZyeYYnNsB4=+DFWzUcIv*-GR9z1sB#SabfEKu46F;fjL2}^$!EHog zjV@7L-KH>cLXU;91|Tpd!S(ET^Wdfg*Q`o&CroWwYvFn&*PZ8Hb$&%q-~_8G;?gG# zJ!1u00AsNjx?(lRjrKp&suFSi7Rc2eLuE^VaT~=rjb5%wH zaIOJDe?|z23@d959BAtX^ag=UivewcE&+Y(0sMe^5D46KWYOxz37Twbwyy_g9Bx~X+Xb#!D1?U^)wW()CH93*#Qe6Tq0n} zA~&KSm-J%Vx-$&-%eBjr0-7Q)CEyLu0F&_HeFPK8;L^JSj*x4vE@MLvQC57(nEOx^ z@H2Hj)~}FP>P(EentH(UXA@BGX1ffFfH@=R11=D~a!G+jO?V=phF&UJML^4DF@R44 zWvE1TK;%>~@Sp>G3 z;CTa72t)~9#cRD%gpmQY@gM>(c~^l!D;ECECaV9h9pQDp$wU1b5KDP~?} zza}Qi-~nL*&|Daxa7d!29vcLx45&)$uU>6SL7+c3aY0{hP-@AGuu|ONxRwzM)DB?z z84kVK)ygOocmU%hyBa6YR{~Os%6p)fz^aS@kRKO7*R^jcDzIL8#g(UAx!RTS|H;|` zW4X$biCb(6*&yE!&0Rp{byX-NezbJ-QvJT!}?24=G;&Rz=e7N8nH9>70=NpKpd0#B1=y{ZBT zY5+6?2(TK|l|q12X+!=M7q|gkmmu@wzX+itSHQj|ypmys04;E@jZPo>O7UO9 zJw+Bs;=imQSGfGA%DpScQWyK{CV$r?e_367oVp_Z-+I@JmBf2jgZ$e9aKNj2U;h%+ z6|epFiq#cAz){=cYaM!m%(HF4*>!&07mtf0CeWT{pG;(dvyGajC^U1Yo zf*Ed;GyTQaA`t%mt!w+_-}Vf^Jo68ye@F5EfA;^g3sAuT0dD(md`c@F1u=FiLau8J zJ_Hcgm1-9Ej2VEjo?Ys@S2DkIbH^0zD+CpvT`5Z)fC-%McR}JOMa9ydhh{OKL)6vT zfEg5+58*^IikvkM^`k3R_3UuJ<^nV5m4lVFgnUr6D_tQo`!0%_ea6CCGi@3pIHl)H zR9Fo#s5vsQgNeQeW_VsW1sEoHJf{S3PO~c$#LWhi?yHsn$*s49qXLLGOWp76VK`p?_^+8ub_I{{?2? zC4ordr(ldOmW*6*NqAQ1LlzWaEjPlJOAKq60Hez*a;eTRU$>&4TjT=Y5ZU!0Xim@|by zpl9y~Nh06((D8nyU}4L{4(hoT?g#oYGX1itK8Oq3V5G+oR|ZdpJL9L+o z)|RUxViHnMWuD8uR8&@drLOs(y@a5kpzFF%foD+AKf48hZ(Utiy9HMjE4ieP7@X}L zy}?%I7>qau<6vrLu4`myU}F8&;_X{23o~;a9aCE?0#$eXC$H!mj8FTVG*31>^A62$ zhw2`s)OiMaHXP0yq4v6@{rF31eM_obE{{x+?YC0PSc{Z(XaOr(|Edrqa7^z)`>zPK4A~O@ssQuc4WU?0KF6wh{H6REhz8yJk-et zO_?1y5g^f4l6Q2mvdCY~y;0~DL#ec1F1^0GdrB>}-Mb7mY~dPDxMb#=$mI5t8*8O_ zG4J$L|EnJRVz%W6!;5m;+{EK7=+;2-$M_pv*{}#nNlA^luwzl z0}eOTS}_Ryz~g<_qsom2|3i)Jl`w7%f8Sco{6k%dKbY<1sEZ>RGn(3LeYLt9XAL9L z$>VA9)`6v8K6w2ytNjQ;H1I;VH1l+$e^_}8&LV#pPPcGoQ(GTG*PNITeZo!}4{$)5 zkNv}~KUeU-n_6i2!?W&_AF^h0da~<`Y2DY#tkS(a{UDq4D*{tlRd_o732AQS zVyAuEjKU*NE&5}3!;sAK@AncY+Wn@w-{Wv9uQ|3GZAv|A$~ziR707~~fz%uo5?Si1 zxu$bcJutIbQ_j7|_eG!`>p2DM?U((80pK9SCH5#{dvry3eSCOye?xNrhcwMtb8V|} zHr#zU;@o&Rze0SPdObC>^E>CIsuN$MA@lD226l+hUdSJOb^X`h4D1i?f2~t^&LsSj zQ^;M07HZfe4vme>@3?$4F@-zv!0+VpfC|{A%9Rp+jQgpDDencwOEp4xKcQ3qkkRol zZfkF6w)k>^W1#MZxR5jos-nayy|B)qo-1q7-EP~+14f|t8j?33JN zciK>&5(4Ru!@ie0Tf~gZ+eP{gt3jzzgn$!I=sCeeUoM&MGzZ!&J2ejP*G}!5EjU5d z2N0P3QCgI>t1QGj@TXdl14S;4U@f@GyxR89eH9Pti<2H#LU_nm>M3roa9-gX9e9;g z*tQ$RO~WtX+_dZ}-C`%F5ZNodfbouTzr{*%`Y;8zh{Xq4x%tTk8sa4Mp;&>hfya zHpnYr!Zdkef}t$f@XFDfHeE<0xK=N;|D<%c1?W@(*T zN;ak&Lx#I{o7C>Pdy5h7d)${2mKP%^s8T;Z5};+~Bo2uP%|GADm8bJhE7G@`kLsOv z;}7tve~F@BLsZ@b3D_vyQlI)R(iL^GNg+_h@NB8ME>pmQHHXPJGH*F!o077rIE)xP zq&F<-YF(o*!)_^#1%mV`?AbdB`_H~Rc%^;ZxP&5HIk`VJv8#+DPe^=(kta($fjxMd zdM`zp&LZ-`J&Rm3V_k>m?Zr^Wsx{%Gcn9sB#}S`0sV-xszi_IauivsJNFo0|rOh6o z>?UcnWo9B5W}cc`=*CdZn}U z1V$m_!@Obo&@1cntgRp)W%!omd(59gxSu4V!9QD4LLz$~>}IyoA3lQdv@|JRF==5OUhKWqc32>#w)}OqbZdQiEMh39A--2Ty~1z5)u6`_GjQf#zB@LN z7@vL5zu3XPY0Jk9wc%hk79Wmkv=-bS{i>ElfY7zp5lOS4A&eKOl{=aJ43n6c=7!@Y zUx<`?hAh^v{TfwG zm+!yvy&01Jg%-IzPwmBm7q<89EW%+yD?|ijSF@y>rAYu#V&-Yv;g zC9x3=r3(T=AK^>n(o&2b4KqcFpKdBOJ$Os!a}zOb)K;S_ffT9~+Q-iA`s6PP>mAwR z4_G({#e0n$dFDx~|MO#hOcmQXKz$B|Okl-qcjxQjWG7esu23 zoGpfSh#go8Zp`e4KKC@eAnnKYT}n30GX<4(pL0z()k@+lJ}6 zF!BknX=C+&$Wm6dDiI5rHDY`gIOiYrM!4+tCA6F~*-&;ONM_jyyl4v&IrmVwXBYSP z@n1=&`#gRRe-pq30#V&?n$BnVL-X)bvM74LFn2zEXIolAsHLS@7`(45c$8NTaVX?m z@JzI!E<3-Na^As3lJY)G{fH`kK*L6M+&UNb!-q%J=}Db%w@chuSmxzezrMwZPJ0^OUF?MsqU;hV@W;10(te@upXb#(*}adP^Groh2_KR+M_5X>>k*F(>q4 z>GDXTj{UC392-K|srLSoDrmRz zhE}_Sv)E;EoP-A7Hc|5R%(RHKW2e|1%h2L1v!EwUzvI$%?Ccu)S+h%Hb&UMjAIoy7 z)M~z6uA6n*US7FKe<**BXb$Aezy*}J|!k2G9-Ps^YC zJ-MyoB<;<8<-=hD+S^-b{lq4fm0ar~^uqonFPZ(tncMk?o&;6thFSHY1<(E;&p}T+ za6lP7WcMhr)MXvhu_QeG^!*aVR8#}I*c2j?=+^wj*Q`qGl zpsfzIdGL*DNvDYxwgKeIE?3bqL#F4(jH7=J!c%)$_Q=xv{8xsG^-T~PVBKoijeAiy z#k?*ps6K)R$8F4wDf&>`3PYtB(vTtevgaRKb89VnQS4dit~SqxDkfg^(;y_UUbgRee(MSE z@i)k-JvMeXBd!Lo*$)RK0vGuIAMgpl&`O@c`x2OKuaeF*sWndZB~n!{pQT<9 zIk+%4Z7_a0Bc2}G{neRs?8l%=WlVRbT^6ZH*=LorWcYr7((Rsb`Gd6#gk$+(z;9Rt z)5eB7vUM9#it^jQ6`tDLil40km0a<6gOR$;M9@9pZG?d~-)dcI)Rv-L{O15Kffj+mh_l6*U+YY_*Q6Mk*-nZOzX*^_VWK}o$ zxY%5%Jk2}cMRDw7P^vj7cQO}jy(f@MvkAkZaX(+^$*D3dLZUtNv4x^Vj^5rUI*$1B zYo_ndId>OK^Yu!SP3Py?(!$kUEHzq>_!S$Lu(QwZKbgvezmsn@=&$b`*0miVN|mRL zqKDtI?ii!)fWm<-L=dP1_8j#>3}k$`Jmi_7y)%b9N*= zwv!X?D%nf6h%*f{prc_~kC##O<-*=@;qg*IRl~g=>+tw~U!gwFbJB}P#(EIx^=7ht zA1R0In;_Av554B22lu|*`=bEE@{!u&GJHVOvb{bOoYn`qycKQL3LmjZUqMoE*7*Td9$%bImlYC!N@81yY`p-S~s7VHn)5+8UG{GJFKck28XrJ@X8?`T5?N)J_aLf2%^|YpixHwXSKxyMsdRv(EX0K$# z5n=8qsk1QF^Unnf@xERngfI3*f#BEb;Q`qkaOFoeINU$`Ezk^&*P@m#BEWhZHbJ_> zd%juUu+067Fu9z4L|xE@J(wT5ux#z)KTtlvUa@N>@{#zURl#rai(5`^5T88`j~}hE zN*2}UnWoF7JprD01a6^Ub&aHqUYb-VL7?V$$)k8^jpQ^|Or+0TbfdYho2 z#Z4^-+H_B}-gd;YS%`!Q5OXFa;4fSYcKz&RfNYsL$d!5GFhqsVRVBIbld1G`Pp};Cc^dc8D_ooS_+z=w z)uXnol-1(=ArBLRAa`KP_n-X(_A6-o-9NZGhv1GKJH=*ZV(VmSWoBbxW@u(-W@Tk* zsB3LyZfI!u*3!z@zyjD!Ffcc_F*G!_C>eeHfKX0_UQF$B8Y*|znQ{AgK+V!odO;!! zNju%(r895kRpXp?Nxe9(W4&}tjE^tWksvVK*;D=%{q`0^&PMOfz2a;kCAdF6Qb9y( zSDnibF_Tq8X~HbMx71*AOYkNDTcLhF_)GDj31hgkhkvEj4mYB4(`?P#$#Z<5-?R=v zF+*icSw*I*ox`Q|a8zRcX1XF{3%?9H0M(U|MIjU07A{9w#&Mfghs&xfP`}8_*2oS) zX0?+iFnXS23c?0uOmcjadXTpkR4Ce>esIYN^JsE+GIqeNg_fwvZ`6>`_>a@BwxQ4W zNK5TP=mvfW3=ev5W&42{eb_T2-3@+8Y{%Ck`Xrtcmqax?)NWU~!;eo=x!d@`hzxFN z?++qLv%g~r?xZWgK_!zU4?YFUHts;V9y$>%y-kzCEKvFe9)`-F?=A#3oSV1I=OrKX znd_l{z{mSGmKOxh3_a14w3w9Hv_wzKCU5Ir+VeKX{B!JMAs6cTtZMJ5HO!p@7 zqFEPHbN-wGo=L65u*u<~c6Txg4B*uamqyZb_mphr{-c#_KZ|;g*u_D1p5CifRGT zz0p~+Qh_o)H3Y(rpTF&!l5es$4)508PO?Ba^4F)D{4desaQ*E^TnOH#`~+{ z8oq7WM(bP_0~ngUaaHJjyM*Zh&YZ=2{3zlBS@Ya-dG|+?r70R1)y_Arzm1o#NA! zH$mQMZ3=ZZi(3~QEO8#zZDS)57`b8AfM-rCoEq4j6i&ocqxRaPG_^vV@e3O^p>>(!6Gkr9s5-@AKnL_)Q>VELpN~J22|qw z&3Bu*xP~$0t1qjF^;SL{bavLnlU?jd%9*??0E1@w^Z6>m%v-x;7RTv_SPU zVYuR~Nn8aT3OS8b+i*3}78cTocJ~(d@vN$xb>Kc54AzlP>8 zJRhw1rI$_5&sakg#aYLPNQzurcEa!&&p4InQg7#dY0wX_n6otn=GBZ*78bKNnIq2x zai=e1_e=wOJT6(N_Oz;V<)QXI{Xff&JhxiHd05FeUOl2eY^iis)-F1bB`*plB>X;q zM3Tw)f|Vs3zh|xab_WA=dEv-jwS31VYWX~iJ!ZKd>yan0i|jWO6SsZes-rI*`#`#B zUMFjNH8x~e1?HiF{yOlbp*Bf%WMT19$E8He;xosM9f(i<^n0W}u_I4G02QkKH=HPG zdk(S$K8?x0_*r*D{m$`1qRMN@bEbm}-8TGPiNO#-M!qYrVD@a<<;D&3!gIxkm&fdm{t*iV5nucz}($W^|Q+oxQj zh%bG%gNRJ9J#i11aGx$dtvDZuK;|@+j?ZotMpj)3({t1A?vtPi0y?VMGDunRPNuPX zd~5%?wVcef^5(XT3!gu2V+zy^6-ql0M&;OZ91o@FkTwf@jJq&U*Mp*nTIXqQU;E>> zk0fn7@#l`Hi=BvI#s<-KTy*1rO8SCS)D=MEhH`5K-W1^yQVnIsSs6OD`mKrfTM|-2 z`5dzreSQ96%)~x|BZ~6z(Nm+J=Y+{PX(sS(1^M$f-5yemUnpRAMadCiRGB z+hE-I4vS`N438cCTfTmOV$IYwzb4M?;bYbQbN0CT#qgE#cgNnP&&WE8a0@AhQALQ0 zv;cn$6Mzp=Hxn|u`ptA~j!UmgCVy>v%$na^tTjVl@eDXw=^+5vuF`&y`-EuK0Kb%VxSs1p1NJUep3~1>AeZ=&M zJb+eriQ~aQ_S>^fh-oMiGTCUyRU;wfcsy(WWbOqrLf-Pyj;-D~$LZeJV2;aU@PU&~ zH_^)lRmti7H&ZTr#}?0Hw91pW_Y4&;Acj5{-ov@|^6kO5eqd+xy(&<%0w=Y3!(+uW z;=5IS+frMRN7F9Z(CB?!kEXNkH`od%-pMZpV@-6<*B#F~l5h#Fdps~SqiZ$%CAJYp z#Vd7;$!qqnmWJ(1sx@c_BpPwDPw8}we{g_8VKLV9&p??7f}cs=o-~LSj zcqLQhO)QoILi?WjpULp2PEYxRB5CXQyCUWX_?BA}r>oP|(~@LEL)j0nACYvvWy)V1o;oW@`_g|53Uw=F!K}vehk4>bN80 zSr`Qy~Wf0nm{+S_-8cJqxT{V)6^C+MNTs z<$d2;-3M4DJtaRQOf0^#hfW*zW}>J}x8t}QyQl-De~~TI?xeRifEz?^wiwngIJPznFvaojluU{&u&reG9vSgM>RO9;Cb4$b#f)oX{aPzMUxBEE6Yw&6 zN`B{of{L0fK~1F!@oHRJTxR}i9l!;tDF_5UqQ%z$r~}SFDxOxn>ZRhc0_-+ zg`+pl6cTlXhn4628?Eg)7UGoT{4U0)Toa{!K_E$!O;y&x{c;GQ2gxri3SXtQDwXj% zY5bN!9z+R$(fZ*g5|B$>$AJBcKbTzYT-JO1B)+cbGVu7WUyt?d&7U7UU|7Ao2`ex1 z5gbE16cyR9=32KZ z9)5f9_|#OWzGWNa^ZXHZVh`zhFV72^F9O)#k&=?4zQPX4D(pR_dVSvNwulu6cad$_ zU0IJ-hTzx-xBO~R4`Ck*J>;Ld=9CcK!fA}LcI1MEWJyjOUXF&aLcHdK2? zWfrK*;BK<9?|nS3t|mF?Xf-b&%}otfK(bH4Rtz6`PXz>~LpFSUf7`3*&1Ru z&C}<5%nvFD_s};Vy=@9rwGsVl6Lz5V@o22HjqHvL_S-a(8*Z?m-*gI0CiX-;Ngiaw z<1#o?4PwMAO0 zHcUg5ocDmbEYyh%=HpobSN82#FY&CK>CO3J;{5AHqrWDI4;`i7bJyC?Yxz<0`1Y3N z!R)V7H=?ys^!6L@i63E158h)EJt1|=avzt+_+e-{^SwJB|gRFfWe%b`CJeZ zz7HJuciSOI8c-K-T^(BhPJe(p9=wcYHM6v_b1*V6GPAO@axynIG_tU@v9z(aG&Hj? zHMB4>x3qj~Ze?j^ZJ7vrLOozl_N~K#=#P)THwqo$xl?M>dn|pyRVZgzo8Y*wfLh!& zH=$lV9~Wen>e1mk)VbTr*c`|bAekx??h+N{@f7xFl#{gE>Rpxm}q5N&!_x}{*ex~J5yCQqmIn0TF zMLX5g;8m+RNU3hd0AO!re}XDhC!d5PtBC!eEl%(H~WspcKt$Qj6J1B z%MT`I>K=jSP4L&go9JJ;W`FOswT}@}OVm->cs7qDT}^Vp-@`JXRN6`0VrH|pt(x;` z{5z;wlok`<_5u^+>^vXlRzbzNYLx@&v}fx9o@JKJ^Hyf|ltM!3(75O-l;KVGMLKH% z@uHN8C&C2bt|;iUx|Izqjf(x}Dc_z;St93|;$3Ks>o+pKqNab2L9sw@rTlXSA0Az1 z6G|b@yuLNMj6M#XdHYot%Yh+%6%+;~LhnAIbviA^{FXH$Zey2nI2tbKF~f|+PQ|=_ zAg7#y+g?<)VTT%L?u&(LKO6s4qBHbR`=u*)QZxr}z#^tk%ggAYUX;@g8!XGB?z37? zi`O<$z~{ih@;grhUjTlS2y1>gUGK5kXgVmqdQ!RuM(xcKA<0 zSZe|+W6*xS@Uhy6NI=_g;33*0Hue$lYbM~7h94}=@|_UV5NWIc&r=t3KkwArZCt-} zeJBd^Ue<$S0`|gH+3n4dWYI2_;&u7`DF~;DOANfs40N2jg{Raf@beKz6zDU)v#G~AkblkJc&=lhg z;B|Sh;zX@mV3kL;;X`jV5*i|3BL$1N0?(kC_2A&A@NjR2s_X`Kt4tj6dx%Vi_8Aur z!?ok1F~m{zfxD4Ixy9kdSLv%WQ}x84>PdnFaV_Td9jMsSh5hl*UMI3C7|JQ2a#?)m z&S_(yqxUZpJL}%oMWsTsDl{r7*1@M(+`fd)pd22RZ@W5altPB6@(`G=HZYR4RSjMp zwmdnR7&UNE$UiMFYc0P1h1d2iP~uF`0sjpVnW5=+(D;57?xVpjYTvCx9gIp_ef9@< zMIFM@KK7)J7DhXRihF(S{>^ON*Pzv$e1XW_Qi9U1iKs(CXNjDko z7hICdzKFY$W7+ciMK(7T@n_`}R?wFVz<(#Hii{YXQ`4|7-1yU-91qoxp|Ong6R9Z1 ztPT6~ACL3G9w7SdoivjQf60}J*l;j-wkF0q8BojedEhsehuavmkXNNK*LQww(p%px z_93Xuj@&g=YW6yq&DY8X+jS z0mN%E4{SUh7zn*~0AA{^KQ8ZowDBl&#XR)aGb{Yqz(ne}`xVM%rQ_@UI7M6@Os{k* z-@x_eXZg_ei@r@2{iLy4U)+g$tJmc}8gJL_JNc?7SCtSR9;m+MgWm*viX*Y2eevC; z4#O0goM}ILZL6z}Ic|t1&Sl5IvjTG zd_#Pk{{F7|8_`j`cuA!1A4%_)#QjIpYt8Kb+M4J#xjuf-Q*R1T=xFZG`ytP{uGbtp zXGm>?OJMO_OcF!YMcW(ywi#PJ-G)QxacjH%OqqdwXRWg0;RimxZCp5;?;&!Y=)zjk z{&#+1;Q>mhlh@m}uY&l=wx3t#z8S5VCkL*_V3vEU#0`)h@VNj`mi2EYb6pEMFd@PB z1{Y|>eDj(sif>YNY-XhUnM}bUlCJdbzLZ}ZV{pZ#mgl=W+L`WEWmZ|P>n~O-*Zug% zVg%*QT;-Qn>LT*qWEWRuTXmUypWjL8VogVGAiWzfU+>Id{~Q*_&4m%HZtU%bg?5nD zBm2<-`}2?Er%2Y-?t!fu-)`mS$g)lTnZf<>SDu(Jc4Yp^t3Q{*C*%Nh%o0Qs^B26- zD%BOLm1MWwzrZy16q>NswshN%k$~(Q&eInjPxu=fgrD#GFg*a3jD~Y9(f`5fLhsV9 zrXLLgXT>&_VC#~BP2&>gwf!!Vljk;7)mhLc@u?WuO}%+bnuLpoZoyozTUC0R$mNlb zl!sFa(kD)9M^Kj&senGMTpVc|u-OaQJ$FLuI_w+*P}n=(EBo|uP&0MKmfWlpeOkT` zh4j%lZd=xE`86x2mv$$8c#?cyUXkFh9EOE%9;nl-+?%b<7cO?`qf)<+ zA>IknF%mls%2obmExlFNUFC1fh6Zl6eP~>M7F$D58o%H*@S|vkuEALn|3&`Eec?Ge z53B6aPp zy7&&X$iS27ev(cOooI;8vN3%Y#*K9qWVO+LaxY4CQaf!EvGV$&Kx-&k#3Bi^&jPbJ zEkV2kIsk$%+mfbIGFBA67I6GCGbP_?Ye51%yXEuJHjT|h0QIoB zE2?i$3NJYLWrZH$L{`s5b6IX}x;iLT1%}P;2)qLn`UI@)M&ckHgmJ!XgrG4j@=0v7K0^k=YzzU(G1teHsLVba+IVb6FXjY8H zaXt6#A06xSV`~qotU%}zwQ|ADF$fqMUrFU1`*G&@dr?}cyWX3+#C=kS zne00RTTZ^oQYH-P9nSo%>1u(eM49)=0H>XN4;~l1aj^%6X*;IW2*Jn7oFF>3aHTwnNDY$Gh9*b(D6tRlQnV zVB{@y1<|KN%&^;;?|upv0E&AQ-+(Xrz{_QsO;&Tu>G!%9r;|l>9C=6&majG6sg)b8 zv(i5v1XErB$8O|$i*FS^65`h1=XBL%<+(qi_y-3|jpBZ`#|QPJD1OV+W*Wz#Df#0> z7Y}5w7Vt}Er;^xSA6X8BxbCfJ+O(>Bh-h^#S`d;HP z;;;!<37>3eXyApgvCHPl@7rI-{I0r><{Vd3gIYV7uNM~tBnjoDTb<_V>)+ntj$5M2K#hFF9chY7<(U zNV{rA#=B!c0iEfzcenXcmOFaxSq(W)T-rPD>{;**biX;9E|F~5jVoUgq-;>Fxea>o z&xr=W8?LUat%WON1*M=XSj_aTY=8p|mbMs-lfHqLfq}srD=V|N`iADF=9Wf!ItGUN z`X-iUZ%ZcG*4+y4riK$jr6lTS>bc9MmMo{MYSyS%UtS(J2+7?pV>H<;s4)wij9AcZ z-h#iFJ-zb>?os1W*Q40Hb2wF3G$p7TFeB-cHk6?F{OniX&t!=gT9@rnO2gx=T13FS z6axbtTL^v;aRh^=YFaIus#~)XYxrcLi~#||_Pb@7!X6DfY}AwpL!Pp|>InLum~zE6 z$FJqy3H<47Xk6RlC#weikv+Getv}MsMI519F7S9&Nxj*u{(bz=)%DP{3Vm0 z3DFi{x7|PiAu?2Jg2idQ;i2~Y{O2vx153@^JQL;+o60-Jn3`hI-R|UCVis$#B&VnK+1p43zjwm5u5VqND@WZtOOXQ8A^bB%Nb)FR?$?S4Fi2 zR)tr#zO0P4+W3)l@KGGjowV*j`Xqf#G=*iV%gFmeIjt(6?+6eyR#}6A#qKGa_ z;^XW^#s#hOlBs^1-GYOiWSTbg2jtEc(y?e+-Kq&8cxfM(vWM=PXkb4eK3@+IUh}3N zO@;-qSnm5tCdCbU8f5KXrVv41pSAdp9>;!m+BP`UnKzhP?P-~Rw2JLb#l59e-r0fr z6NVmFciJ(U9o<;>rp_4$8#kk?xSCGK@}SFEQ^?t!;VnCq`;bQ4Ic$U3WMd|gJ>z6; zMj<SS?`(5nNe^=!X0Wb!x9eB;Slnl}$orL|Ar{+L7)wu-x4%g;SC z$^Dh~zRq6by$}rbm{_=yDeft%pgOq_Zu#fAslKl=H0_uw(Uwf@=W zyF7ZYyCv~yYgAt6EYnuSYrW7@=7LCk;j$r*nV;r&}Xm>}Q<zSoJyD`KYow*K6% zEY?*d`ul6&poy*xp~qw*P_>L}pC5s-^HqAe8@yUFX_Tyo+tHk1D46#xJ-^B7E!Ip-Ka1>COzjL{VKXAm-x&fXlLt&g-0G>d** zXV0Ufvw0Y(U(2q&y&o2GRZgW#*s+ZTW`v%7?6;)Ncm{QgqJ0_P-b#u!rp~JO*ZlX^ z`duy$$N69yQWeL;d6rkz1ONb>)duAvkxjDIM>Bxd?&ax(rtL`j6gO7yj$60MLwbEU zJ_Bb?uirOfXgoLU$Tn=~@xu4bCl$sZf>^O28Mm}oh|NjH9dX})R z@D;a;eeQxg)t)QCy`(GOt$wGtVI#wVcOLB8w=>@i$g7!Lca(>70gTlm@zVw@ESdw1 z_56BElUC1o?O&w7_hNl&y_yVWqiLMLXkQ!-y&9SY8$HEhf0kwfS<{>fI$^J~Gab(| z9wSxm0ntP+W|C$0#TFC(>vuS?sHf%e|LuVQ0Hn6F5JUvt#VOV<5BtBIj zqw4yIu+kxrnr)P~?~MQe0F2p!^!20+w#(Y089>|8$nIO|N9)F;W}NNqZdCHzrUCCy z$Bx;zhYU;r)pI?tZiBvmfeDdo7V4CWkD7jM)ja8!IlE7ymCNtZu6w?Ao2TO2FPnLH z%JbR%2c+Gki%_D0ZP8y=@pjI-j>}~b58tw!Vl2k(UYmOQZL8K^J9)Bd{{F3MS!2Lz%Fba(p;_ebCXkhAjGd4Q z!-PJ1Ka<^D4K}2zG&Jf)c(AHasS5En(EI#y`Z8`30001l(X!qrg@Fvi<^aWS&j+`|w|1Z3 zy2osHW;)W|bteZm(&SKz{Xd-RbY-Rv%t?u0bw;M`fyN$bZgANL_3Y&u-xlZOpFvgh z|30**SSgcKmd*G+es2ukqa5RUFB<@q;Sx*L%BFD?GkgsUFcqfVvTN_La?^PFw11qv zr1CYp10Yuf$Fes>9P#W~w9>#oKCZ!e;!}h+^4c@^KGOuCd@BPTZXfsMZ~HCg%k43F zr`P84$DNRKlK_n6SoLCMnXnWKw9Nt9)jQqQ^Hrb!wV=(OuV!_E2PaWsC{epRU?rno zH_y)IQ14d#dcc-|QkNb#S*fxUB~mLQ(j6?fV-3>XjI{mCmgnE{d4Cq|r`cV8Co=$) z<v5&!_4={Ds* zrRN^(ra8dgbN^s(KIyFdhLtN9ZQUMj40F;wALWOgjWzvNe{|Zumlem##cXSOg;D3@ zfy-=3pTuPr&m$rXF7*+K`KzfSv0d@h%hX9xbP`SpPT0F2=rbBm@>Vc8sD zspsjVr8duYOZoCr&s2)XAX+-6uhMicE>B;roL#!V^{g91`Qxb0$PjsxU>wus=T*LV zu*g|G+R6LxCq{L?{;|mi@Zz{m$|C>(*uA{o=UV#jf+;>OMEC^|WHuZL@$9djkM;-G=BBqfKid^f+t=kl)`m z-q`Ewv4oc1NjTm5V5jOs_Z{)59Ak1I)T*C<1XiOc6Q9&Kw;QU@rUpmqRn6dxrOJ=B zOD0M`>?`_NOT_bN%K3m#MZTc6r8~4X5|7w*0f{ zBhqZHH_63_Y1QYZzA8ql0V`SG1<84Az+x$bonPkLhZJY*b@2P~ic3-sj=}DqYgjJF z-R5vONI!hKHU$8r)lMRKrp2oI1r33(k*;LGj zP`m_gQsH(I%>WoTVft0#VQ*)iJgnP$%WikA-=A!F%S0N%M$c%ZZ~KmqX;0nR#Xp3` z4jimNQ316W4cdIxn1Y<6F9qY$o;}^yAY>Z#EmhG=jZ0 zVPms|7EX%R;%WvQHl*MG6Kx+f1>a95{)WaRXLZs|(wy_hU^!dA((E|5zu7kg005lj zHXiH1OJMm_%>m}#@4A1sZ?3-EdB>;4Y~6!4d5Bxr_7-fu8IYh7Zl7W!GndWG%IFvL zjS%+8+%DghVU^_cBjgcUU)r5Z1Ed%Eb)C2Sw2zd37pwx>Fou6w;MzChBFD~J^+IF`AS=(w_8XDf&l#vj-yFQ1=l zE4vr1pz@?^O?#oS_uwD0*gvZJlBfAiqniK#PiJRS00f0w00000002m^g%1V*0046> z5+?{)VPXIOP5-i_-8P=0AivfJwSTS}Km)4}8V6Tj*-aKbH5;G=I#u|CRk-_;2S8etdKJGynhqr0w=HjchclheJ0U z_lOJB#p-FuvnYMqVQsuG9v-!D)vCA?K7Kn~SnlZM$M+lWwJ$O4&e#W)e7P1E#oo}! z|NC1~ao>CW7r3w``YJ=4sdLN~dxSl)q3ZwmI6nXY06KR2z17p)DxgQLA@T{gEbF>fo{y<_a==F ziaDN_=IExH`l>pf7|z0H4xZa*-aL6cEIwb}<>{91E=%2)Lf!AV->R+J?k*oMcL&cp z>O-pZN6Y!}vaS2g7vj@RFq95-YPmHI_;M0@TIy(Qb7haia?_+h}(HP~$^6j&(5>4ZM zdNiB`Z?3Pg+~*IbhrJqU%&sQAH7-Mplmi(si3wnApu4+!V3vWKr3If~nI|6^-t@@O zUiaeO#3^~Ofk$dUnq&H&jPYS5osqZNHt*z9crE|L>7~={q#pCgp_(yI5Jrt+b>Tx* zc3X2w66x9I4fwirWzxlakx}VNa~hOxF!eomVMEK2|8YW6LO!7T9ZD5JMd$lQANgUg zZ02`S6y1K;t&?{?bEw`&F1~`WUdw?g>DYgxD<;+MEzpU5B?kDG{_M_|YSxI+s&5P8 z6kpceJJjtjjYQnUil@^(-hBbA$O65b~wDm((OXa%s z0&PCu(RAyZm*_CP9Xn6#!T0dZa~LtK@^sry7DtOE+c8?c(9W45z?1?209}J{vvjk2 z&6eNa{&W0pkH_gepXdMKOxLE$f1muj*x%U8Eg^XGlcsL%U|)=W>&6EG00000K6d** zONZhG9H@<)hYz2foJ?nYxO4NiU1MRUC;RvBU!D{n8QIx262}iejB)?6#dUzP)Sj zMcr_hFfqL3hkRIn5O>@3xJH+O_>N1b@~{6D7zo{Y24f(gyOyo}x9QsLP--nZ9Ired zG>bB+t+61Bh<=d#4;;Q$D*_TNEqR4&&98Cn2z=YNgROW$?-c9ZY)dA z)`G$1|DVA>=1w@ox5xR)zxwU75hSYPX98}#bKJoiS9`n1&t|i3z7+2v`>LhhExD85 z`qHxl-rUG5u>-2gz%h`*-wBY|NGy#U%z zq+sDsVcS8QlWcpFB{$vsCT9nYj|}HpR+OCJT5e{j;5t*qfW$4fib1FhWJE>3s1ZlY z72YSXlKfABf3*)9a4ixzWCp|%co^{k%-Qj_ps2swq5(X?Z30peB+{iM-K7-0zn;kN zvnt%<`Nj28QAt)AO!iu;4u)e6_G1oiYVm#=HEwD(ej4L`S|~qV(og^7KW<1ACSPrx z1`9~16Np`4{_>do%e=rBY~N1>*8l^IN@(ySA2Ua0N@ssCEiy@}GS08E=q_XJE+e>N z0kA+8OiDLN%>IAn4{EW7|Mx6z+`$5fgSu?Dp=h^x@)Gu>-If*iO2ZuhXj5?*YpX4{ z6r8&qE(~TVyBD3&GQEc~ME@EAV|D-#hfuWIP;`RYfUynP@~FZ^#^ADJpeisL`9CMG zD}MnuLYwj-*3=V^D_r+VEuNrQ(hNLFg1<9?3;`L7G>HR=2fYG>iA(8uBuPWx1C^2( zYxClht}JNYN45aklDR9PH9cV<5#A?FkcjwObGn;^TbMTp_K~e56Sk4*f_x@}iMV+a z@4&HY1BuJIwIpCIFgl5`vR3J@ynoyxPdmBqyTBYcB5*RvtQKDjteqGnZ};M3`u=zK z5eMz2J5Jh`;!WcgilawDn@t-?VJVxe2K5T z_}}8nmH&EiR^(@vE~fGx&TdvrQP9#SxKYwVEJ*+Xy_l5;^x}}pi%u0ZlB-nNT52Smkx8*cYW{~gL-|CRgqC=~9}gZURHnDDx2)oQtzY-;haMOz@@ft77!D~LjyM=jR2gbi zyQx+E1DL;;7VqQY(THcqN z{~L0QKj*}M&I$Ou5)jH17;6%k__g+nc~{X!-TyWJ2RTx&*hXMHBQQ2)C6WI#VnFH$x9ku%sMr_) zAOnEaR#5B2k(sgT#7(MQ0!%z8ZO8|bpR+EA_~)Uvy9s(w0jA2FJ_sTpLQ~^u#N(g3 zgo4U)%(>53My2uCaKU5mI-mf;O(FpDlT9a_n(s@4NFeU`zE!315L8=I4b0CJ@M1TYn=1LL` zC|lcS2wnml#<`N^3sVOPu>y<;a0G5fbR^6Sku?eu>;|OQXrf^-lf39*btd{skU$?Z zs%{3!9@Qhb5>=QrtY^wxHL6~4HF*|hatuM54K4@8rH$!(&J2zK*J9X*5jFUn36V9Z zE{&*s3w=Y67?ofytQ^&o$*UxXN`s=*rSmF>)e8$NNrmv3{V=Plh*kd#K|IiBLR?Lb z04J}k!c1PF1T(>mFfD8YC(i>nXa=boH4TBZQRw#yAV~C0ncIfdgW0Mm^b2?#uXg?b zTva7VU~2?K^6gc^)dPrdj%XukP!zBTTE0yHe!F5358bInBt=A*4LIc{sHyjo$utMPr zgMB83eTJ+g`@DrhV_-6nWlW!G9t;X;yXwm`494^kgOV%3(4Xu>EWylNISP)o17|}Z z#s$H#;FO@g)j@e69|AF|w{gWsj~G@DqVp05`tHjR|C?oVqT6L|M0_2zj9d;P*VhY z1dvb3aAHop2snWRF0C!-2w4U&2@_g`4D>a9)&l|1&tRO)8Hl$q2Kp=|b@2ML395JV zn*Em8-*kk)Utjs=+j`|N;C}Iay%R?D8P6D-g`jpQRw%8 z>Vk)Yx&ZsyF@%+5{lC!!9{^aa!Qfk>U;y`yNC)A04aftd1O$4eS8_j6kQ)!d{Ti|i zE*hHmw;2ul+hnH4P-#KyV5kxx>@ZDGY0wl*Gb1`$0uKxmpyvEQg(ISs)L9T9GpH(+ zzj`$-1c2S^xIp@~M=DbM%;dLNul9%qd;_uk9EVmPb2IV<3vivJm~}qOARr+xy9>Mq zZ)F7F{&7KcUHKMNni=C27*D~t8pinlG|j-ZV49>tS5z~|r@u{o0?fkAAfxJ6RI{GS zf0|}c5OHROJS)*4v`5w9eK!CaZhpX%a=b+FhxD&^?=xthVtEP!z-#8KizSFIjM6dI z`1hU($^K96fBLR!%l{C1FvbZMSf;>?O@_;X?(c;Sh zKC`uv!?!@yfcpXc6FdaRL6*@(NoEWSxKT}T7)a=?T)`*=tQFSgV5E#{!goY4QYx2| zT|hO&3-bfw^yB<3&_T61W9utDOas6xW^f0D|5z&KFHHX$js-;gl}lin1{nO>{Uu0r z{1?G@00ZnR!dnSu1ULfs%ILJdZ=wGZ?n0Rm(f^7c z2ZQ4O<-5A9MBl|M^6v=H0Wo|Te+e+?mEU4SVdR0%OZzVYoak!uD*{XckN!Ud1SkMp z)n5WQ(Z4l}6aW~wvge(c2YNYVs#IQdH^~_O;%g2JfB*8DKKXY%9eB?CBkA8&{Quwl z|C|EI?Iytewu=AA=$*9SQ;OT{R~UQ%BCaJ~KlC{x2xE1#c<;9ot65otQ1enA=yQy+ zU?5CJIahO|Bcag3)(85*2|h3w3wVNp=iw-!1eC4vfksg2vbq^=MizL2VjQff(I*^g zR=7l}Um~zF`J9Qla$GN%XH4CNFs}j>PpcW>8$6pc>7FKuv0Qh&vXqh1b z&!rW>;}}ddz#s4sRPhWj{;S1sFyH)0$p-xV^Q7gOi=Dy_2bvqobXz4cr!Pt8Zy(VF|Z3!2CGD9nHCWqirJx zA5RFbh>fMqOf3aDiisV%sCb+m+aGK6CH11JduA_pVZkI*R8vB`b!dU?x^r}3wdgj~ zv_M|4t{ewz>a6>dZ&SN{?P&;pY~YJHd!BX-Nr^WBjL{5v8j8G19d((xYX#{%E3butK-|6zr;B=)324tcDfe0o|7H@#F%h5BKYYUGLU)1+f_NyvRY$Yz}ss> z#c7$^=APIkJjm;1e=Tb&A=0pW(@RG{WekZOJ;#(uTgV9+_c))_IQcy3#yPVldv*?) zeOELc+F0m*Hlo>YKPuXM-ai4`TFGyo<=p8Lu6a>bt|1BCh(9Qwu)t4KT~uYMr(jSe zsPP?F#m=92XcelhR-V8&E}^;9JnQ=&cv>}s#HY==sWh)NP@r*LyLzrkfb^^XT1j1I z>Zc%-%>`fm(0-lbg4Fi>M zPO-fOyYj}ZW)E8V9Vrf-UrJLaKb6(r-Zpf%oX%?dMsNZlJ?uLO+b!n3L3$k^Ay+V8 znF-?v5A%z^c-SbzOkJF!l27>7bQT75Yr*pz-La_vCnA zr)g>*iFAD(<`CADR@9ed_P{Zy*#^l@zkSq=>w~iA4AFV|?s36cy;G9FtFc>)eRl~y z+2XSbG-%B8qPL^rTgFxCp>V)uj1}4PxNU$3EKXd% z&acMx>IY9l7Jo2#ZK40vpWMvLRI$%ty&?ILzs{D-w-eGnUP!D{*jBqb}~rXBLeo%Q=G8}KjxF!Y(+-QpHg zjHW5pX1GAkZ7HpnBoaio-h{*-j{tArp7Cvwt}iDiDpdQ^q$7k^I~)mhdQ8eo4o_%b z=ivS-Xs?gQ)lhLz$NIq)cXH+=TJcLUmm0_D+SFi1`6^{8zuZ<&Co(@SxKIO|X<_6d zC`m=3xNK4j-9Ko>b~}`b)UNh?eD{d}9nRrW&MnIw()nYzgoC96e;ZPHbi-v5U%Oc| zQXpI5&x4ILu?{ij=0#L~T9A^XJz?gcQUjH9)f3Aq5;pV;zU`QRH!X@Uyrz+%ty4FO zvV^+co3MGSrb_62=Apx`^H=$37+$h&lrC28@jbWln*jdw$Xh~9D#vhGw>G*CwV@%X zQ(Oe?FSc4Zlw5aonP59$N{BO+<(uC?ZU&kNQhBVleN2mi+E&HS7e6f{?wby-NSj3~xRYr{M!kOj$#z57hAB1NAUL!{IFb`ZwObZf#1}uUn!KGRc~I@K zvm<--VTh0Cm0d|Dxp`~XQ;ULNY~REFi;q=sd#cojpK+UzE@~5R&dy-YljrNGo}4lF zov>Ew`gO}Zks9iul{3Z7$P=w)vx2BU_(E>=t||`s6gBwc*Tt#3`n0GQdb2t8p8E5+ zG>0y6Iq6qH^!cU1|%{*4~m7U|Tl zF5b|`wG>mi{9x0J?T}AhW67m9xj1_1h@7f9&kf>c>l;du8ZjPsgnfQr@v3+xeaEzQ zG4S_xOybfb$<;YHTWpT$c%)9-6sgCmR5peB*K(X``^0LE3F~DL49;7jz-FWI4ND@g z8^7Yj)|%Ohic*EC8Yzy~*FrYxj|QWTp%$&aLV~W->>B$*&5rH!o2oNojtQ0TP|qD; zA$Hnn*wkE!mN_1(j(b&1EcC8thc}08?hA8$5vG%Q+V!zu*0Q~)Ty{i zt?J}9EOR=eELwRq)XyPr&-ox^A<2g-AghhwKOWsxu{TBV2I(i!v*pXdRgXHjBBm0ob`amW|9oS_Nz3e; z((iDIr!pc^7)ViubYAmk*EtH` z+UJg$bZ4LHtafoZS>CsueNvc{>H@JGdDBM}JACvVC116CZc@{lv_->Ql*p||+?C+x zAcB8BGSV5X2-(KT`C_wcBQA zYxAv8yCi38G}-QNMHtw34s#2G);=ohQ0zF57}!+iR4JEDz1Yr4NPn7!&7nhC?$hju zigHfPF8d>(1m7!o@{!r{5L?>nu3hAWn{HUCWBZ^_V>a zhSImJ6GbkbTVW~eWz}C7#95mgJ~7S4VaE^jd!THGhR*t@kA zI-{-*L0dyuVgk%IA@0BZHt}9dT~H6M?i&;TuAMp?TuYV=cZ_tqb7R60siUaMAD7{H zmT;2EtMYNW^f1z-odrt?%e_0T)v*)l&TemFiK4LDrYhWY)^gyZ>KnFkT-e({FNW3b zmU<*tSM9>JuI=a+ZJW{-Sj_71F2}YPR3b%BIp~(i^N&~<)?!^ZAk5ua9j^}%3JD6_ z4%eGgsplgjey}?fuW4C@VJA0oGg!nAG7>6Rh=!3~7CL;?u&wnN&L7s?cSHs_m5RKO z?|)u7L0Rw`Py6|H+`u$arq=6;z${P zP8&T+eOh-)r{!mx#*IK~XuNjJ++5gIj{1xRM3>qPmTXY?a11q>^Lv;RwhSCtH&q_) zZk!=4!Z^r>hFZ>G>yJ$2-7cMyf)+Ox(2+l;(~e8l^|qf8MNC4ceTNHHqx)*_)~SRZ z+Xi(Wc?vhk`;E(1o87fCDB99VooPI(t{W&lrRIi#Pk5S@{3Jw6Oaw{T!VY3OGY#nP z)JbAz;qywx+Oq{l0&~`|sDq2<>^YsgI*I(Dg(_O2&?%AwC=6X`=+9%F`ly;Q@kRG? zMau_VRUF4z25jsxI0LToN$Jwhxsp@2T1~#WYRygd-i=ct^J{=+DeySVGy)QQ5u|yx zA5jz&H-n(Ab$ws0bx|k#zdq)}N9_!QO)}{0~(3TpZ+aNjI8BjnA^I8!ogD zk2C81J!ZowqC1!o38684H>m=ai9}w673pi0$3EA7zhEVXHS5OuwTVh*6_{>4lo60~ zVEQ?{a)TOG!9gJyx74_zVP6%;A)4S|IJ?=90y}W4ZrJ{|vE5B;c!0fs;lEg~)r5Xe z*nAf4wo+xsLmh=}h70+=M{QB_;$`*_W$a$JXKL65FXh|q&i&L#n=!MTgJF(6l?ruU zn~Kah^c4EEg#!Efq_OvNKN}pRo614okyqJ7FQ3Po{$!7fIUOCr-mNLcJwXo?ua;G2 zQZvk?ZJQ@If=C61PMu*Nq};a%l$NJTT0}>T7xg5*y7(=2m;Afdt8MBx9aSR|UW`*i zFOLHMxEG~~@pnd6`+{eeIbi?{2EukYaUpUXT zs}UN7tf(d?&ff`wkS|Lu7Z|oKSEKn^*$F{9MJcqLjf4#iToGs?AR0&&}}IcdM@deL>+#|35D% zFdsUgjD!~$t<4Rs?W~PIyw}z>)U~p+v3PG`ZJ}>uV`*b)Xl-U?@Lt=-(!|)5AZ7J& z-5Y3h2mv4Nsy)j3b(0wK-KHl8wyt#2se{+S}G-2C^~M+_jj#;sp0#-?^?hPny=TA^Dv1sQZPv~6HpJTBFSSm zK0dvEmo?)$7C$rV+q-6jyMHc?mKzb0#i%&lwYub_e9_&p)i?ORZbP!yF8iApdJ41c zBDG!*4K}jlSdKa8=ccKWgiS`>n-E~QzL3DR{9vfO+F9h0x2zLm!F<)3!&JpZL+_5R zvw2k-laeDl4#15#*UXlnXAVrlUfk*~aLFF)YvFC;g{<{EX7U7*Y)BHN5-h*<5{#u~ zlhB>h=TN{i6scOAydn3{rCvr4zpC%;ukpPh^rjU0Y2U-DI+0IHn-c_z?iEonY-Z+< z=qSU=JptfF9vGP4f3tY+d6JpQo-ev3Jj^swj6^WZO>0%CQ~J6}h6_>{}hcJX@Y5H`g+ z)>b8v4d*1Y`*5G%)A7d9IgKE)>wpYWQN^{QCQZH{B`TAQAer~qt&72dae2;+hNPIe zq)qSiXmcMJK3Xf1jjNY)9y>{H<)$c0m8HZleP@FsQYAi#TW|Y)`th7_R~Tc80`Z+v z+?h&l>L6m8S_F<&6u!c)-5}& zsxjhwZ?wzW_IQk5>Sp((yx@oYjX=LYHe1Gq;i10LDJyOkUO0QHQN(rP(KRzOl?C%T zPR*?pyWUrF*}Cw!i)0r};+tyM)o`hfPBVwr_QFwNo#L=1VdcClg=hLymsCtTV ztPE<6=j{)38?osr-ZZNP8j_v6`r#FO7evu{ch~)CReonSNTUb8xO0tLgyoGp3_dm~ z_eij@wdb@&HbpN$#|2JmN@`@*`~6khXe8}yCVS53M{nWJ#An`JOq{Op?`+>Fq|LWo zVmO5QzAu2sJuQPtB)r_fwJW@~H1_14LVU%xcFvyDyKo^6n5vuEkf!0xXqoGR%2!m< zvmJ__ZxNltS%ze4X-_R)+{&8^taTcq+QI*oVDA2?UZzf)y1}i=R!WEWA{$?yx~Yvv zhf%8eyG{S|Qt)+Z9_!WJzAT2p;h_a2i@`boP~ABzC4pK)ax9rth#4r?ni#g6Ms z>iZv+th?a==6R&$9RxT*g9M(GXF4bATldDs%Oc;M>4oB3=&!BDhv{^tqt;kTi-PbF z5c9$F(d{`ct|{3ki2e8&aya1((DosO{_*jFyz2dkR|~e^GS<(e4f_3)zbsIY>dwZXRUcS$&XB{#G; zXM|erz37iSfJ|*V)1(DgY(ye9cbFS$^s&3!=H4KYzF?B&%7z2knpj)fmnS zo67sH@yUmlqo)yH1h3(v`8*X0Zn+1{gnt+=%3Z4<#x?&Dvo;gNBL<~9F&48Y9Wdg(O=h@xzZn?Xwzj-XPl9jZi`tg z&s`OGKXPiL7&|8)D;E~dQHG*@PY+Yu^@Q0R(pJh`H?4KSKV4>UZq4K=DW>2o5+5$S z6M-Q&k8P6uvQ5gBPJ270-ODJT#bFwf_Zb_GbcMvV)PiG~3PzVcnFIaQ&#zCuQVqJ@) z7vXm5=1{3KsV}X4zI8F{}4C@QwD7HnDC=E^a&hGxN~z7JDPDY9oGi?+TvCm}TSSr=A#p zTM(KNu8bBS8V_IPd`dw$YG~`!+EMN&614T0lQ-JAn|Z;B*W&WN3t(5s8j$5Z%t$kr zgiWz;$KoWw5w=zC;iRQ=+cLGnK{jrFGBGKW&)?VH%<1cqtYf0Zqp6;P5T(z*p03Ko zAXj~)pEl#Xt|l=O^><4Uu)81TrSxjVrSSpb*YYCe56n0xr_QEhbEyw5erKuZ;(%8} zyHaoC`^uf9ip^eFpCY^?*4p1S*6I}w2n$v<$Mn^0G_WGI(D9CbA&T{TcFiK}llfF` z+|GnQ!WpU;UvDK;FE#iRE}3BmUmDiMU)Te&u?9(@7T5Hiqi^NNIRM{3B z2cf%N{IP@c2-fMa)jX#t(rcT39gNO|G*UL$tj4u#H;O)?GO%_u;LI=D&i+^;>hiAi zP)9p?+mdUPu=xXB`I1A&WwFVQ@s6%`);r<8dLN|`q9J63-O`Q18k zK6|qd5!)+idR;>;=}nr zbN&7+P3{#cW4>Mr%kzF+4Ys{gbXzRm=&uB8>a~HJNEz){-7Z#3(Z|g%`^IZ-2LH11 z1#E(fW)&69iAk<1eKY`4}KVfA2dpkelqyZ6@4Z!BJ#1rwQXNxkI>RG zMbdaEK1|oD@_i3%^4+m;DV4TKH$+V2S>tA?otkw6FK!VZsVYH5I(lU8XSfCt>+x*! z#kp`#{yVo`ql+OazQudObl8A-DSwos98F0`FV^S&-qV?|MolZ%8dnz&^Fia&&fUa4 zn*5`|u-bBi+M~VD&XEGs?W{;Gq7OegC!LJiplj^|%+Qr!e0bXjbhn78BXYC~<|-o0DK*<)@yL=xQQL~Tc<8t`-b8^BeDkA;AjOFsDtV#>_iQQNcJHs+nCd3lIV4wb z#YcWPP1&iI8cOl(nA|DqH8ua?=*ZTS>!?4f{>gazIud>7t(H$DnV?Gip*7DL_nLBi zSay4$o6BsZ-c}8tc7Okrt^of;g#dy6uUj|-7##E8{=E77x)t1WzrA?-nEK*Rq0ukV zIGzbuN$Rb&{jL%RG)wY)ZM{(1T`Tgj-j+w1Ik`y>U8>`2k6$xglORv>eMrW^YvZ)G z@4B%Pw&SuoG^~#pJ~sQw@4Y6fK~yxf?M#s~!=`*z^YS|YC>4@8(6O2A$zLSRW$)x3 z?4KNLH*I#sSD7ll&Tq)eR5Y)!pN@@}&-QDr^b$F9{cvz+Um6uCl zCTVGf$xefI1*xVMh=l|T#^m|64580OacV~SKOM008Ve>3un1-P7SOu{ zYCoKsjw@!gx4m_nedbssgRM>ExN)DSo~Hk4M^RDIcIBTn%VKY>l%r|I7!mpPO`&}M zIlmHP^6?EE*@jIT_TR-6uX@W&5c9Q+! zYgFr`mC0!G(0eR7%T|Sc{)G`KqeVDi*eG-zkR4rr8Fd;&rF|BeOsE~kH(R%7^9y+x zdO6fm{HkpaZgkM8P~yNh6JjIRZO=bZd=TwO5cE)gJTNZ?ern1+Pa95iS$vuOIK_bV)()Q(Xp)trhO-sC_Ic z)_h27$f(FPzS@4BZK#>PrIZovAXeKnCu1e|>Be^)@ZQ28dn0@;y->ET{~fpov*&=0j!A98Yb5O4{5G*MSmvk*t*i+x63_2qzaZR1Y0Z9k*p?-}-u zmO#60#(wIX8a2~09`7nW!#EOo^Sh)Sc2!7AyR8`!*SISa+X%f|?}+3IeDhBev#7Uf zKIyOeVCA|IoyOr>Uj|9bTXGvu&a%>=@~Ak{$aAry%$#@!J6V^lJ{k+wi2F`88RR7> z&SRg8nxUD3)aaFx-FqI%BJ-QHTF?!5Dy-Llcc(nzSBLoD|2A=*k`dG*m@pqgfZvk< z-J#jfZfNP7pc7u?1q>>@z9l^vvJg8xEMVB|TKT%kIae!0`a5Lr%$ZZ=?xMTUPa8)> zQ4`y!bm1$OH}u*aQ7o&~TjWx!aj;Dl2Lpa@=9tGC4ITo`65gl-nRfxd2kx; z(lVx<+tW0wUz!FLsWpp;`EKEU$=WR@OiRJuB016&kug2UbR^TbM{$!=q5mXh!B zeD6~s+!t}$+_BN9eq-85MJ1*)YcqnhIkiLoe!eh}I`r*mMO9VxVqv8Fvo3ktKoOrZ z_}5JD`V$r1HrMYurarxwq{#jxpr3GCq@7o;AJ>ZQk&lohW-$>MV z*%bNhd94ri@$`iHG{dpMo@Yd=`7%j#y1eX8xCp&#)ibDG zvwfkgKe1eA)o;YlZ*_FSO?1&dBy2$8uT(cnqU8LidUlck$0uZY{ougVEM9T1rTJ*| z!?W@8jOwm=TePCiX$tb9zWH#IE6(nTe|>es0WNx`d1dFs+BdN4XRDsJ?bddAb>F<}uSK25YyFR$ubl$~9_Z1wd1 ovBt$Lhsy^)!p_yyB+FXE{`i6)YW^)#7cI1`*OG+Z^&iUu=&#*HyYt33SYpw5^$!15()>a#I3iQwQ;F2B- zxtd6c45477@N#jtw1bg5C?1rOKR}>6#gr$XUnsQ5BmZ-eM^XT-RON?0m*q(R&uf(O zuOvZ$!NAV-g|L>pEr+9>rQV5r4pk1ZJE9VIMDIv&@Xcq2{-^MhrBj^wJNCBneLV^g zHP9of&e0w`5U&dY(SbnExcO<{Jy+$2C*|?^q$NEj*V^yAO-p*)&S(`a+VSs=L)`ir z2y_}0%y%v}e@WH84{XcG8|(faY^Nz*#6cDL^cVQtH{2~N=favo2j@P19_ovRXFz~u z?mgywLk}h2EF(C>7=c?ji~A4GqAd6G0w3SMJ}>rzBSc+nx!|3q%<{+lSeX^RngQht zLN!AWbxVC4F}#OYb1J*0$i&s}h5EA8PAp=mM9gslJ!ZxR>X+SAb#K8{;nlhF{(oPrNb3 zzp-Ep`={&&pz-8#vUCm#(0eX$$^!p~n>RkpgFjG)hLxTIS(8n|aW3&De`3CB;dA?P zyG-PZ5~Ndim0))j%?S&L0$?Fu@9i=Q|6k>~VT#TFz1(~8LjZISuw|zkOQ#$6LnwEr zyCBtxg@1qmpWcHCw!4d~z{ERYazIh>c$p86zbrLVYLO8RZr`QKm-;K98F-tHYmNAd|KFwcE07FFHZ;p(C zjGbOEZN}pJV*1SC*0(yDymiHCnI|4}>|S)EC4>cp$w|xNdsW4;XuaH$2xkT_BJV#7g4A4SKdEiQEZmg*9x8kM!cQM zbf`OL3e*m)v(|ghk^BDl@VN*0&0>PFBl|T+K3zBc8ZGAG>&uw(~X+(i2 z7L)*@I0mtl11kqVc7P+sjBdk|pb&oeUqk^;<*<%dI?HqdlCU)QF8(3_760wHP4527 ztb_km`nOn~Uf}`CpqP;MU3py{U41Vn!&FaH?HkhxPxN>IdOXJbdf5LSSpPu|2mnp! z2_};)qeVNjLNt}n{dMra$Z@0ZOknw$z^zurtuZ9nyDhG@BR+Wb;Zt!9?Q5ok*F1+A zY_ug!hb3%=b!|qyY$lO5#XYA1Q*DO6|_DlrNb z($$gwKO+X9j*4pxivxyD27#DBpg-+^)#(!RQ;g`E^}E1)5_mJw=k(ua{orXzvF@Ac zmJl!>qNq<49+6;Td^_RhcMDn>T}}RvN|-TKY9T5h?VSca1>mL}A^M%sGFs^e$Af55 zYNpT#(X*T(14`69Z<55QIg{g|-x-1CPma(eWmTr6c<5s|2owyW0{$-K4a8rgxR(V2 zy^e=Ph*Dp(qLZO6_Mn4)Vho7~^YXxGA$&Y=ItT=!x+KR>W7Klugh<j7wk!zW~bv4Bdz-bR2tfDaBIv&5e8@xVunqBujL5LF&{ie;22 zPy_gqjG{zSbfA!8fG?`D0}281-Wbr=kpbuh92Q;KVWbTqn+xbOasUoMRJ6d6<c3iSRIv!04H|BVZRCu^hteFd3JZooVl$@9FEM?-(3>I&#Fa4Mq#)=veX>m;@ys{G`rAV&&0)X2{Nr|AI9h1_J6 zJ)t^?hW%|?(U2$ZAUbArLUrgt{L^%R0ElxalfWba&>k~_^_>B6h)aWlStmZrd{Z4X zc$UX`n<7{a1bWPWag&MGOB^`=7p(+R{IS9g7et;R$L;LU^Lg4+ln2oj9E{^aQDk{Q z@N)i302G}lKOsPssd@fGfCB=6S^XsdivF#UrGP*KC;q&g%wSo>q|f$>>pat~zxbL1 zw!eRQ?YaLQ&jsX}eL&zWzDKY-^w@bDQO&@CgPP0K~PWS;Z>x z0x&jmNPGQ6`ANr@0hSv!MObb1IBDgb0qARms=Dno=2 z48~EFOGXYN6NKrNqaNn6QkN7&r2xEv^9sAoffgdchGu zh8G>X0qd2(PpbivGaSk#sB&R+h42ac7zs?4ADztph*3=45}U_>5{AtKQU>gTeezVC z{+o3O1BYG-%xuUd8EUkB2@u#08}j&^5NA;!k_TGJEJ|M(9s0p|mQY%meKs1Qp1hAn+0|_YfuTLx^|3dx0zzlpzxFro7zztf{3U1s9s7X>S+J_XV-aB+b4fh4FG9P#4$lC+GR!ad~&j~+wR zHJ?Cr{_`v$I5_x(_a1N$4*ut9!R3=K5cz2Vnei&~pDixfOIHs!>leNr9xpxIJ-uIg zzH|@p_49J~@_gy#;}<|~_cU3aHWli4??ZypF2u@ROKC|m`=j91aO~+q;7-M5VzJ2d z%#Zz~gk|En+HNM7jSo2uluIs=pMr#$pNKsyCdB6Bxy9VPaX8b%%GR41-RuN}=<8ia zqk@Q01B>YSqSrP|T(5WML{2G=-nHQFFGEpGgD+=aPR8U(vh88CT*^l=JN`a+msRj= z9iPifz43r2{*%h%5&;P!#6Qbj3%z$*d~82uPZif&;IwIEcJBmgvmIy+u_`1p_z3Mi zb^i2P>gQ2KW~{jsXGK*md^*lj<$mhb(l5M^y)DNwy6Ut4WKXgkkS2N41U13*U-x6^ zCpJWU(F~8Wp_5gMTjM*Z+bw26FKgQr>J!+jJlGQf*kp zqrHv9=f4tbogx~Ot{idSk9Hg{$vYz-|9fY+V6tJtsX11xQxR|Prej!Q7sqV$4KsQQ zM6V}L|HCLqwdQ^8@$S;Q6W-7Sx7VQ6B&mes0 z8)N6peA^I)br2_V155*Xc%IrQsNi@P?dOrbQpD%8zbmzhTyE=@73nNQ6JElS*XiZk zb5?T|gqdeX)$z4c-5q(TJe0J2d23Sbs(5Og(mJkXTywwnoDLro?cn(=+n1ILY?gjm z=3ag=R?!VpGe=2HVD{y+m+ePXWN5jC?O2~!Y8Kc`eZaLJ#WbdLcs1E~bbk95tEMe0 zA>zsH?_&Gg)JaT&1hd26elZgx5gdWq^6uY4t- z*6(e7l3hfZejENo|M^S5-MKR~vv(jD9VO*AJ*{SD^(|ED8*ara`dA~Z{E2tjVZ1JW z5A)gg60JRYTL;`AUF+I!`9vtIv9 z6&x2{Pg%J6wCt0a1V7<97%EAcEO_Tze0>dbM!dyVJx7AL>0YS#K+o=svh9uParPXx zYTL|Fsy@?6EcW1tT`&mm67)OZ0N*{f9+W@6M9+}wO<*RV&AWunQdMqryms(ZSpSJ< z&%OD>-}E5O74k$7teqMu7D-+4)Vf~pvv zTT6>}p%0Inc=l*NvxLtOJ>@Bw?M%|C%e>GqMdO^}uJ5#A%h+5LFG*p;uKqENnzXaA zwXo^=`-Y2v6*m=V7kq(nh~BMRVR3`lExWFNU_cy>R3kPUf1-&xE}8Y#BUT=@>Jo=U z%-LVA9*9n($Qwr zL62B3WPT}#G-BK_A*w6;rG{I??c9idSC>6+#f#@#QzlXD=ZQ#`9?mFPFA(Ld;?6*G zi6U};m2zXdB=aDDoT#{i!=|?Ql5*SB3inpFiKaqhYeCZN8`s;GK1L}GY2|u*AXMe# zkB;8CXeAl%=j*+mlpiYl_=kQ4Yg9C1 zXF~0+J-^vJ@s98#|I5zWNb;0(#g_oWXPrZQPE_`W%d!a@Ta=GafUp8#uRI>veRN*~ zyC7uTyle^o<}>H~DEDSS-3!vR@VJNEg^3s0Jgsk1bA`pc^FJTc5MN_38fd$-Cb{Zc zi;kJxtiNZ>X7r~|(~NoCqfhlaD@M%S>zV-X*BB6jckHlgLgfR@`F1-K^u=rDgMx)D(MukdPERPCPPM;9 zrgd*tWPx-P5pYYl9lJf@H2u)j+xE{$ll za$%oauVA|E2?pW*?F;&t*`0WqbkGCMSCi+Vx4}y(7_{{9CUJ;et2U}AQkHeiepqF4 zlfI>8FZV6lMC0lazlGw|i8}wgVuuc+-RB?;m;~Ov7wvRiyHdysdGe}EjbMCb-1J|b;o0OLo*Uij3 zdA2Am7Q`oS$?n|DPV?RG`m(pVwS9kQ!#7vt(~75?#7fnh#{%}O*-p=lJ%5>~Bs!}l z9NjHIev^9_+01r{)6s{*$M6E zB0P(*y!8>;a;RXgY&Rj4koS2F50x`43Yd-czF=GUib{U|sgWBITkNJdBmLC01Xl0_AE=2YiM z-yq{@g@^g@pLFrA7cobV{1m*iZQsaXMcB-8Y!}gGUfA`~`!govxHa~urzV30mgQAL z0bG8kNzAp)bKGLQ{bxMmvOQNCzycZ!?#c%_&sYP4$HF>?w-B`DW+GbOGGmQl%g4wI zJdwJ@lo+hO!)=S7Ao`&fnvRCG@teG)yzov;+n!<{x(w4FWH1s`ShPRseK5E2^2W^Z zz6W7hEr?H$K~dbR*YKbw%G)ELc>I*ssQDQ-Odm~{CbDaWgx_3aT7W4}@E<6}!W z+!Lv&a5>WV4AjP{;kr^uK6^u3SbdSq@<9DR#xbxLdn4A$isseQ^4>LzvV&{vl8~CV zF`RAS&6W~}Q`*T%3Eo35Azga-9ntyHeJAkE!!Ich)iwlFj9m|?dWz}ZTUkHs7|?e= za5Z_=C7Ok%GKDzTQb*hhLVyt??k*U7I_N2d4nNR8{oTfJRzmUtVLaaFOc(9N69 zVw?4#q&ji>(}PNkhlxi^qV2;PMDaCb)j@3uhKfiGtwkkDwSOC{C?v>V?=&WO$`|EA zk1M;Vnf3-Z4N0CK&uKf{luM5cg4bYNAh9FE9EA&w~l<_UfK&V&pkKUQ}S3sUQB%F{q9ytjm3I` zt#`qsEj~c)!>?Gc<%*BzCHHHToMn?&C2NcBC_EiAG(8ht`6Pqov;{~xgOa}UgDcE< z%O>t{21P1s@%4uj)~oA!`+{cIO&{r%YHeiH3HPog!OOy3KT{iLM4j;w9Wh#=mw&%8 z@q1of(z|xB;#@=R&TXIG6}L?-$MG3>XMY&WJ`OYcwlg=EgN>+e5@d^Qh5PuU@xn*_ zIa$SgEyUp6zQjXGDgz&a7olJkyLVrrwy5^{xC`3EG28c-afRYscW)n0`;a*Lq0Ajb zW1HU8oXh8uDzGip)J`Lz^iJ+KELS43nZ+fl_L{x6!F1=|;*Sf@!n z3kPyMs8FiC31&G%(w39o{_1+GDW!aAipr`?Tx-sE@!laqS5kf_p1`K&Wy`BO{VYu= zk<#aT+jf!B3Tr0Tu9h-{Rvxwbu5Bh7;q3?iJy=i~z+~w4~EZ7VJ&q#!=kbx!HLdM!)TS=Qv@VS6v|V;r=a8NIPZ!2C$fmZ1dg zPC|HPG)3Ns?OmhQ^d5oDMN}>PV)v{FIMR0MOy0P=xY1a%tX3hluu-8<*DSE`1k<^_ zU8v{xI(Q5^OxIeK-Yr9LeQaqE_KBc{$xmcO^Rr}Xy`y#Eujak*2#rkvY=oO;K3ZcW?Tx%nYmg~wNbx!aINKc?m-P|G+Rmy zfi=(Xt1CdUbzIPrL-)Rf-$291C+&r`Pg{ft9=r1HC43cjcvz1$_)Q= zC)FZCU)v{a)bQ4$+w-1Rs>X<0hg$jvX4L;YN8tXS=LqEY5qN9gJ?8ZCa`ko#^7HX{ z;qC={>F4JWoH^%g@cK6A&@+SS9T7!H?L1WV30<}1Xe9&-y;U*;~T;S zO}V|ktB)~VQye-wlpP+>eZBehv=`g8^@@^Um7uLIc4>@172CH;*uWrtvC#NkNw4{ zN;2`W3n57DHOeLsJ3{d4@pJcBxwWs75Z6efxDL*TdE%S{lCQNK?9!fp(+zSzedpN- zlRPbV$vNk=##LE`Bht?HaAq7vq`$N5%Y0l;U}G$MlFXf&@ z)KTXp^_6n%0k;Xr28NY$tt*VLz`{pXN}J6q@@#{SoV*X#T&7{7>h9Q^Ij1Hc6}|zV z;iHUzYUT5#We>{dqraXaF}L`yGN_TZr4CW8giic|en3uKgkW{hGz6DfzrJ{Z*8QT> z46DDKq86`wTrZbC%ysxDK9cbiL1LOHaCUj@m}~ZTlwY|A4<6mVl~V5ZtZbY(N4h4r ze~43YBb5n>q#GF16TLWII7=#mKpw>}ATB?7C|(n#TyWYlBf>fRRe0Q2+&V!>R;P7K zUvWS0sYd76!v;}gU{Vou`LMU#XKYVSVzqn<;utmuo;^aIhtm=;H=8Z^8B&v~XX_og zldQInh}TXO~0zeS=NSU^m{@*=TTRvdRV^)u*u@D4K1Y_;Zhr&Ym0AVdS@d#Q2kRg!{KKoOzfI>JKe8G3%T^=8x3$(Ya0iEbs0z1V&zW;mQ8+9bs(9P) z-MstoZ^1)^sYu0}49_O9`&%=~CXc<-4D#61*j^o8xZg&-FDD(PBd&2for^+_myxF- zEUf-n(#Arq?AZRL(+rg^1A%wWe6KqmYN`Wq#)Vm-pQ@Vg8nzYx-)LU@^annIt+v}dpZD5s+Sd#q*;EP@GOp+z`7jr?S__9EkZk6izS5Us> zIz5g!`cTVOwBy&DZHZ{3G%+2)en}pu-KbtD>UN9Pc{nEl{6xEho|#zpbFEX``_anI zsCnj#VY^A4B=wTUotjYIau4nuC3$VF*&#pCY|36Y)|E6el5>#vv#w`f_r@J+imO4$x7IG zl_U@P$?^JvNhb6uO>%V%VRd_!`ey|C`R&%TF%HvIQzrddEW=FPgzq=dWG<~Q4 zEPj;W;u9jIB_v!$R~BE&z(@?90Hz{FU)Ld*Ut>5uX?$5TB`9Ny{1YywJ-w4aH)9Sfd* ziHF^`^2GbO&DJwNlJG7@Q;S24xK2cldG5H4{WudcHw=bz53bayRo?Cnt&?INYn2kc zbe6|m_AqIq;QbZens@GwdE1o|>I^Ij0;E`{G!zpBXc|*7k9?~5XOx8Yqxg<+tmM+Y zUNZEi0Q~iM+;$I78Hb#WQb_ajohwt|H$k&jY_uFsDxd}Aqv6NLLrD^{UeUNTX%~T#9rpYp^rCld+WT% zyLL}CP=u95=eeccrL!C4mzNfeF3}}Fe#Vi|LkI-8)^9+Th(@l zdHeccrg;GKvbk^IzSrjPtodk50$h@9+v*rz^U%*5CS@k;k^zSI_@E~s-}LUf#4tG; z@%evK*vy20&gGuj=^P0(SDA~MiZGONGGJf}IHHi%E4{^;js3G9xxz#`Y}0b)UA$g@ zm!h=f2*MPs3*V-tlpzEW22gmfsirM7`tMx$3y1rtI>J8Qlw3 zVBA5&o;d3bpK8k9P=jf$nwCuN6`KIWYka@%VOc=Vts|en2esOZEgDQsg%&y`bc5g8 zok=ad6Flb!%o?wP+{0iOL2GA~#I+X*RG?>@+_X8Pu7^1zo-UC9OW22`ZKKeP*d(*C= zTcX%+6b;9g5N9&I9m7pnF~2+BMJ$Y_uNwQ;df>z}W?oi!#W8d$5?dJYx;xnL2Qho$ zdUr=NT_ob5(?>_p=^1^jVzKO8*VeT9md6ytU%GqRnZ|0Bx1m>BqdMufNp<^|39g)) zW}YN*4H?$t!XdMm9S&^x;@6ZkN0gD9X`;o)WX6xQnL!BSe3!oXX9GgmN_i(ITKFiP zWVo)7e@<*#?rV>&7qN{B?NzqYPs6~hHlOsC(#xVDen_b0s40(zpA%9gjG;Tm*|#Ep zSQ6$YHtJ@;|aI`nbGNP4^}F7tbQxW zT>bz)9@N&`-68ggVwZ$p0PLk?ryMm7d!rp;EfQma{u5 zO-AyUCr6D4%~D2=aot5-1N!#15k1c%=oKi2H4CAqcqZ>q=^R4w6|lyo4+krHdG(&O z`E>*M$ZAYLYj|=hLk&CS;-@2D^(M!O?beO5Q7SZ{T32gDU&-psG3z4SB;Jipi?&o} zdv2axsM6x5*J|m{^WuAmy<2_8nAu#^OsbNK`uz4+#ZUNHe_oAQO?>{rQ4Qq#?FsmS zM^fRkPhh>TQ~*DtUXPmQqo_u)tF5@51dinVfDFSOcCJa3CJ+`3$EF@H*X;&|13ATeJgV;~{P9ZPlph9N zrd2;$JM*b5ZLDp}>LvZ9PNV)_VSA;J6ALC(iG?`ajv1g=wKv-V7c{iZ2D)|FSXZ04tFJ~URDb$9PYmL z@uouWRtNdc2gKB{hG&e!^!%o86s!-oQIAC74WT6ABMQh``lD6T1S{7875u-vpQ zuBRhKf8!6U>7a|Ll2>k*=(Xs}2JROOhpE34MIgPX_!-yFN9?I~GS+)LRaeA-owAPa zmm2?ls$IMh+6(6&S=%sau=r#gzkzXC8HZ}^BaI=1MHFVwO14RDrxD##Yo3DdyMgp7 zTYr;Y|AR;)>-@QrOQ8N}=d8RF$2h_&>5O8{RQFe>#;`?N7ec@zTO@0XJu1zP)Q^Ov zejMEd-cA7Zloc#N(vWJ@;P*r`Y-abR!Y0?c&ylsxZ?Wi>ojlT>m5BUeK3eji4aF4r z=hv`E02cZ1O=gmZLzcYrEGa94*>(mmrhAu{a6G>5t2~jpgtELQ5BKvU&b?^cy2ZXx z4e{TOlNt*z#@~3_5KS6L*do7CT2PtQXY;Pa`u$l1`0F-dd-u;v#OxNUekZfOi^jR^ zDUVr9nT1enKpf$1rtgjH5=NmTOU##Zcrm#vtcK$h+`>Ih&K?MV0kF~}GU)A{PI%=i zsXMn4+nkcD@wu#q1jFBU&?E%}is4pPYnl*jU)y_w|Ni{pGzTxBAGpXbGyv~~fG&Pd zL{P!pT+AHppO1hklbF^Zi*}^E4Htx;w_{v8KB!xE2enucgh5H|;3`-@-IZ`_`a%fZ zVi)w%its(UXVoOtRA-1oql7Mg4P|Q&Xjm;iC_!~2Z>>b%X?40kBe_%HZ%Xr1jIz79 zz;L6(1=4^#<6*3LU-xY;sioy&!R5;jo~Ykdg=|Qv>>Yp0Vq@J-pEo7A|H?i3NMvrx zNnIhf)}VrzGIQAUAFPm;d=7I*!=zN6`>gIp4o~xxtm0m69c~>Uo7e6)LJvMKOU->N zb9~3bSQjhmVQIOdana|r!$K3xTRA`8?v+rZNMRP78~72%F?w&&WyE=IF|a+rF1x`i zh*5As)PvRP5VDy|;nXWTwD8-MsLVoK+V)QHFAq_#;)H=7_Df`g}^XV3g&*;`*#cOOb|H z|9wf=&!lKVE%ma%9!`_sFO4r-f7!0HMo~}(@*1}5r&I5x=*x6LjxTmrjODVM;))JK zv@e#8KF5pmHaP0>F#8!E9prnV|HumFFlyefNG`=pNAz@PF@R6mTHt+hqaY-M5h8;)YRjHDJ`WS@BE z%j*x?w;+XIWagt&&$_qW3OH7r^SWgB_)oF5UFO|Wpy)bb;l{Jj^V;+HxTc(5`Rqrr z*r1Z}5y4saYE$p}qpYaa1{R@5@-jjC!?WsV8+vNIcq$v~aT!-#V8}zx^BpdFoQ8F4 kuM(4oT|ebAzeNNJ@#e%iX<(%emd&F|DpbVZb3}pu7li%itpET3 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_ice_footstep.3.ogg b/data/games/garage/mods/default/sounds/default_ice_footstep.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2ecbb431c02df088b895d66ce647608ed55496d4 GIT binary patch literal 12605 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 literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_place_node.1.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_place_node.2.ogg b/data/games/garage/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/data/games/garage/mods/default/sounds/default_place_node_hard.2.ogg b/data/games/garage/mods/default/sounds/default_place_node_hard.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1d3b3de2c78ba8d796f5178313ba273c26209943 GIT binary patch literal 5623 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 Jk}7cje*kTV|D*r_ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_place_node_metal.2.ogg b/data/games/garage/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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 L3j7y?v-E!euae<+ literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_grass_footstep.2.ogg b/data/games/garage/mods/default/sounds/default_grass_footstep.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d193068d21e54fa1c1f7761bfa32e2efaf8de749 GIT binary patch literal 10164 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 BD zq=vgkjQByifx{#Fo0{%+ zP-h2Ay$kkGRj7!Nu$YjrkQkKrLq_PoDh$Vu8vH2TSI|^cLP{f*!Q>V6 z@BmVfF02mi2^^0{0RRmEm~+9XlWbLC1?U{!C#h%^T(3tcDis~o!)*0Jxc8q8RMeUQ z00@CVUb5J{O;yKHxE(W3ta~=x;l6kglq6bv6;Af{@Vb?2VNIcv>nMzyl**6@097Tc z!X5@e;u_0H_HbsfiC}f_XD`ZhC+B;U9ZW9L4-HWl*~w43FR}9`FIM6cZ_T(og+R?D zLS1-9&#J7I*woKs6uy=DkB01GA5d^D^299GH1ec4_K~o{RCkco-)%vGKyaIYasouP z5;9cDIx@kf`Ga4ZUTor)l8&wh3M`(c`d&73UY>Ja{)VYx#tr_44PnOb!c33CESSUp zQGfZb9O3H4)}eSnHYYq~9hS>+IrjrRmmoB}1Rt=*sRT-v$N@{tQ!TW0EOW@HvoEf5 z8LHwRs-nDj1;7Je!If->^uqtA+8U>=9cAq7_D$BF}J^^pVhOaC+i&g=jnE6m#C#yS9M11T`&E~f7xJ?Eh@ z2dV<6k^i{_UEl@W2>UDB6vsf)Tk#ebY6%3{GUt#gQ2vz!z7UzS0ZkuI-yeZfr+>`G zKr*H}qjWQP8ZoIE7Z!9LWmyMp2^&o7$xa(j_ZU^BOfUG`dqS5%Qi_=b$5^&9se4&0 z!1o*`(@8M%2H;%7@$}6%jS#RGh0frqZPfkC?;o(hJjfjFgs*`!qTXjXHIkWvz2DZE zUq{GrWB&~wSUOv4DsWdlCDvS-HI+61xjHM#r$F*ieqXwvpmY+ zDozEpvqm=x&`1QV;IBu4Mul3(%Mr6&I7xV_`yi|c^osv9+&8WM&|xs0VDOw`w9&b3IwfW^g|eCP zvYD^5F|PMFtow(<{B@g^InV#_9Gr`Az+=}{5()q9IoZ6iAH-uhRTH@k6R$r>v5QK_ zq-E`3a>@V8bL^vwQlpC^qqibsd81MsqSCRAxz2-SyG{RV{g>w`yK{jR^c*F3uK)0y z4q;XW(3`6GHTM7RQF;PY=wl_O|1q`(YPYz8TS(v|+7JqD!Ch-yrU zf{INB02Tn?1dSX@6YU-^?<#FTD!j=>lmjQu>1GZsqPay0r{Z`VFUKR@kO=Rh++RiV zGAOEt#Bkqe;0)_j9yP4fbRR^*aM}^5=q5I)H1xb^tFo6{2 zTQKfII;-`}yh+u8d^EFK^s9V2tEf_N5PUX-ab3MXX?9TX;h6+#0mVAUCg^|6Ky%YDoY8JFV)0B8pu_>t!owN?UXc!1SM zTw_V1Y7lNUdZjUl%^bbPT(anhsF=1cYKR^+ql;Q#)Iim7YtU~i+ax$UWarC$J{sAbY3hLgROJHmX#XkZew$?gH?9evXa57^5Qb*U65M# z23y6C#qt+dl^kRFckA9@n@R_(Dl*E7ckA{jy7+gS9%0MMimN{3s77crLVks? zp~B)%O_-)8*WD(!;W`)AJnW}7zM;1jgH?OGO@cL^?Aj>LCA8_fKDZATGw&?pqp&I$ z$@bFYL6E`ZFZkF))<$qzwd)mdtaty0jD>h?fn7SdQfz4kws^P7^+s38uDmwN-!$1~ z<&LQ#lk3WzSmU{vTh82q3Gi?0jl@L_t184I!X63<5cCQceYvPp6}bsRdaTF%=E6N()IuAWD-Hk;9ouI94IC2vt~JB0?Qp z6#`KihBR^(p3Ou$i-D^GStTNz1$vE))oVRzj3_QvRa&d(Ifc85U9~oPY?&*74s6yM?BRC-&jG6er6I{$hz)5n@_h7wHbRrTI2W|=DP6_I+ zM-N9p8-0d?&~O&>q5)ymYovfE?J;mFV=tJsED@UnL0r3;?t}mdP9u!~ut-D#R1jQI zy3NB(#wTihv57z^sKyt<;SkGc;jK&sQdmzanBx>O<5Caskj3R6FF*qL*b5TiTdcSy z({qo(Oo=RIsYR`PyPG&A36KKv-kh0XY5o8 zLhe5sK(?Kn1UM(TqNgklyG+54+anElvtaH@1y@YW78(xQ&JP96lcRuu^KyeIfx$rd zfF6xDLZo>hk$l_*DY(!vZG;d2d6RG#%px5@DH5awHPbjz@8ncq1+zxa1wfZWfRC0h z#KMu_D?RTlON8?$k)VGvTa|zgWaI=c-AMpeJ8Su(7Sul&A!aR~i_IEQ0IRN#fIyWB zxA5fr>bDcC7q(^xlWqA6ZR0KmNYED9IJB@UB0yB(Fv1=Rn&IzQX#Bs%Xe74&LJI`c z*5CKgTJjgrBFzEEU~C}BcrSX~V2|u?0(Sw%P&zP`LxY_Ej-ly585ijt8i_+Bs2UvM z0;(51GIpH0E?#E;I~SJ=f)FLZMPbfuuDn4GXVJB{1X}j}2q2IW0Nma=?!spKp*@+Q zDQcnd?lhJ+X_3)zJo^&s%^%@2* zg-}vJh=%=EkSrdAxgQi1N(ck8D>}x7O$Z4$=tRgV$@@Y*CLIU>n$UjAgh&HQI(lqS zuB8NEU}D}+5=a>nQ}di+Tcm@?bkP$U3MFKZ?7@S?2ZqqQ`h1|$Z0IDDP%5DQdnd*N z!256_6_kS`9Ue;^cPXAGfi{sYi5?BY7XViA0xto9TttzPk+!jUUF!r~iq@g|-5Z45 z7i3&RO8WPzLU_^tduQ%2`b);$nQ>wkA!&XrH*c2JG}IMVV2i72s<4H{n3A&QhSr+; z7Hc-`i9iGDb6SW>^)XAJQmEimjCsmPr1zyiwS}|NZC_8-P9OgWyGrrZSMw#lGYbW+ z=T`GC{d`N|`ctVOc^V+3z)g6H!evY?hg(l4ZNsjJ!W1i@Zi;RV#`m=y_Ho}hc`ee( zq+Z^-dln@&w>8lzD~ptK$Owf208#JmmyN!IU-z%ZCt%#Vn98rhAFuB07yEN2v`j6m zZuzOwPfX62w`BAs%cLs=-WzWio;Zzj^%sn*nalsB6uo!dXy4WO@;BKnc%FrI#NqQ= z9@nPmp%?d|nhZh)NFU$x%n(}Qf|TY879Z*UmG^fRyu)}ABE|VXHk0`cPUFUF*aW(w&ocGcn zFQcXTxhbSqd2FoZt5u3k#Y?A(D_@!`I6k+S-!+jnS!8>ltXpf;cd$}_<$Y4f+VM;h zJG+ighjj^pXA%HY(EYhy1lu`_S?M)0;^>^=r_XF=`IlH_3^(sMpN@CV_}#7#4RLVU zKSirC5^zJUyN&VapE7I z1#&S4YVF~>$ZT9XFR6J*{pATsT_Doy z^C#0~!lEaLk$R1-7isLnsr4JlwjBfaTmXHZb%l1%$rEnoVa`=5^|_I9{83=x>Ez3o zwBh~SqoS%e7iK0x?~csJ9ThqM-r|$mRA9nq+6a-Y9p-P4?7|1y?ofu&{n{fq>rh|w zw~x2?9d{SH-ur8fAR9dD1G_K--OjVk8pRPB9(@jncb>gpJG->*o+XlndGc1&2x&ED z8GI(~DEDisq+N8ni9mY7dR8j%)2q59ba@4S)u+AIY4p_%%M%|Cx7?_9g5)bf^MLdh zY=QKraAhj`Sb3Mb-H?`rb;+Y;cuUZ4ibtwnXEbKD%HqS}t_}k1@*=A>}-%Gn-m(jC#5gFfmWb8r&P0~G_ z8yaFaDFv%oHl`On`fiD(AV8!jwND0QZ4yV0{H1CbQ z_EY8F>5jsWbLWiBawLnsS?}hmd6E*StbRG$sQU92*BIi(Zd?9d?2*0BQhyj@JZYy< z!<@}BerUMRr68bp_iX6>`8Ot|m4xTn5Z2%tnd*X}E==NjCdvD>xOvR|2elq=@-#kA zB>ScvMpF|$I)lu{uVVL5Z|tqQ{UDqIbFe$nQ)?%ucPZNp6w@!Ayv9EXTJt1$Y?Y_h zA^s;|223>bv#yQJthglUU#q&?So{6Qk^ZHv`Wr(bjXO35Y2;)W`Le^?>G#5R7S)PH z>)A-I4q9=>?gh16mHa>>a&XNK61DA~F0gYGdp&7gG2ByBz z^@|^u%MIVdJfhfc{|Ngt9v7!dPyJ`R#+j;b>d&Ra&8Me`c_$wCmvXgx%!G&PVzCRU z#*nVi@DTFl^h9&Y3lK$Z&EW&I9t#ZsN$np{Mhue2pn_ach<2x_^t03e0r zMHfl+$f)h{#Qag)!V%Nl{!DfCZaeks(yo}{2A6!%`n{Ho4x@av*0hYMvmS)p9{KlDzp#fLg_};u&S8D z2T^gY$t*vUlAStQj0CuZ4n%L9 z(=y1I|B~XAy~9YazEH^G2nCVNrAAkt>^PY&GP+y_{NKFGi^(%2QPZy05*u-&+02%O&DR z{BI>9XLrx1+-WNBKkhE=uc&7YDZoEXnG-`o7_Q_&xM>;dCeP+0j)NzkD7NrNSb4nx z1|G%PwVMm6x`vBIp>3}NXZD1g+8yUh#PpPAcO>54s|sR(Vz9hv_<+#yUR|G`j^LrA zm;F+kq@SqRd8TOF@8!*b{*o9mRnFh4uc-2lv0QS(oef@6f==hN{s9Wf6vu6AE!uq^`_RF4OuRA^}aWZ zsuVxCJM~Znez@|wRr{&vUa5fn*2^lALf`K&fD>32=aQn`YA5jP{E70>3}HwNq_(Ss(;C5|xdKfB_V9OI$+d#l(Z=3l3rE4cfy>}#8@m(fEhyI@n9pmrL>Q27yR?GJb6-3+7ER=D#Y z?L*R2Kk=YOX$#pc>l}qKeTmnsO>+0Xc5B6@aoc8@u|$kKKKj+jMFTuA;A*{ma1Mb4 ztp#*xeSM2(b>(`B6ag4(2dXu$FpWLijmuDgCF!^Mt#-DKtiU!md3aj21qibYcKc1j z9D(~2t9Klv#oHdU2!`JsT8QmA{ZgP%`GU*I5uIM?vZXX;Om7@O)7>eMHk3kdXO}sm zxcSz#2)_O4=cm4xeMA%o>tjUEtrM119`1U~`IaUn+S$xv^{@35MIXp#d#|!m0U6>x zlKypJiNKkGb@Gk1^KN2IAwO4(F8V`!=00qlEx1(Zv80RF-Q)ey&t~rL{~Q(1+?d#G zD~LH4>}@TmxLmk4ve17^`&==66*iv+du@ zPoQoS79(a;6V0cb(GkDgrs+hacAZjOeDH(d>Tbs>p0}sbN3Ir?GZ=xQJN6;}e7OwQ zc86lX^=rKM#OtbtSzsfvSL%QOdvw$d%5xsqZ-i6TdmjleTN8GO>#3rMslYQKeZV5> z>eC;R(~+prt;&(T&Yc;()0hzDIGzy)F{wiv$wXLN?Tv3*Weq7N`y%%kZypFgq?lHe>6x#28`eS(|SbLMrAF3MXrYm>tNU8L+RY7Y12>F{DQc`oNo_h(| z+9-M6k5{f@v3rwSM(|bawEOO>F{pE!FY`WSv`U|LUsZ}~BcDj;hc@}yERy~J70CHJ z;_HL~cKNjE#PckN4`laVH^Ol(R?&zT=3Gj3PWx)qA0};!oxBPxRTkwANtkpE& z^nKX1y*BiX$;71Fv)X>D(Ms!OGjh*6JUzZdRQ$Y`5$4ivR>ia+=lif(NG#eXK^74v z_x|CZ7_A#_{WN%U$~R&k-EdzW!+c|SwsP;6WUc&52O7*zgw`ZaR^Rl)y|5zt_))pB zf(FI#8!?P7a!$5MHs7O&?v9+pliigB6@YAy;)McR5gy`qqz~*KM?D`r&k{%sKnwYP zr%KL>A=R29*Z&;EK$N{Hdv9gPTdjTgw9VINrRB?)+Ty2Dw@RaKb!F-vmPHx)k4X-V zx81nII#s*%=36CMH(gB)aJjI{MF(9=tfuj<=J+^1{`j=dD6rOoSdP}Hgx-(>BmJWP zmlDg^o$~5@Vb?J1OGuVbEw3LxM@BoAh3uA6=OZ0klX9x09Gh2^*V_T%G@4qUcWM9- z51GKf_9pZoP>($rj~uvbcM!!Wf8wEjl2j}7=ab%ZtF<^{UzAI-HK_(3rJ0oK?~@1T zC)MZH5+C>0tLwa*YL0Bms?x;Zw^EuuYTAsc>!?o-r_~i?O;xifUwRfDJNTJu->mpa z5#!ubLaf`8;U{I?WcBIK_WP0BYb*ogY3;`@3{^!AMP=VbLzH2ve&M?(;<*W}mox+u zzwRW%glKl438J!gp87neeE5Sa6-GK6jTj#h0H_GFdXo~Z^=YzcNL`&WIR3#l&}PfZ zX=r}d*va(bL35786sc?jALcfZF}e9Bs`6pdOOihd<*}Q^lBZi!CkPT3!?3iS=me8C z-2^R`MrDN|ai1@eRzh3*azw$X)}cyuyszm*IiroQW2bz)HG~I;$ae5+HVpO`@TaeD z9QcIU3MeaZc%_yKiYba}e3$gu>!&+ND-v0+w%u#Io*XY`_Quk)(HQ9Zld0q+UKj0mF&?Ht(d2W=dnYa*dL{(ybWlrzYJvZaKUcX8oSyI@R1&Zc!91J=9#sB+TsQ?H6O^#`yqwlRdC( zV?zCYEp59uBP?q9DUm3p7Li4}%ZMIB0wF++D z4|3v}kIlsJWWRn+*hG5iZJDo38+^FwCiLj__Lc;>Il;y64uq^B;86k=-0u#!1CWLG zhZRL7wzj$&Q&Uq~&Uj|iB6UJQC2lV9a}+P1kmL_vQ~;$x4zuh*)61Jm+HM+zsHbNK zzneQnj(NhH1(x_)Z_TY{Y_=y|iA=Zuu{+Cs!?n(HX^m2@)oDsuQF42j;7s0LxFR4_ z$;R5~XODI0DNU7=2$J|(V8atmN8%th_k<;Vo2NQO#gxxDzWKk28b5tVH2!`<+q^5U zd`(a#&1470-n8AT-&Z@qaxQ#m@+B~*%f2scUv{dhM0&S=!blUi zbg@#lN?D0;A+`V}Ko5Vr82cli-J|!K8jpQc}??*B-O?Si|!Ir5tskxQn-QGd8Y5p(wgmsREM$N5A(lie-(utm{wtnL0P2iSl`0GIMshWE?T* zcMM@fh&kI~h2(06s<~G_@JOm0dm0e&i_51Zmn$yRYY;{D0u{xtRv8PCefrtL)S-GQ ztF~j?>D|Z@u%jo|M@3H_Ngqu^&5ls{=5z#~nRK*0 z$CVg9sw?`Nl7!meziO6kr1rj3P^Fqn_)-B{AFs$H2uPBfw`HJdyG@V>yQl|+zjGbN zYV}WY;r8>Il%{_o$TI_^NJe9u<8rrY&>h-ggjUH(%JM5CrJ`CpKUYLHslFaxVsnn- z_|f)x)z8}@=*4Skqsc0gw*_QfZi^gjSd>9OyXo`o40%ze6=@Z&>N<$~;Wl0cxo@dN zM;aplw0s?eaxDG+vZsH=q;X@mzn+xlWtAqlP|({*7$1e~Y%};M0jj?rz+b}^@iwS8 zdCg+F)S|q-HP5N*uGX8GRgDgRraE3zt52i$%lY;8r}!3`ntM*(TN7i#5KDbm$u;m6<=DKszHg2H(dw<_nQe(Ub$tWsMp|W}()Z78_zo723nZo~kzCF2Io2?vqhLt;1IYR`-jh zjt7O}&uGI4uQP33HYKivJTn+m)v&xR85~^QetXA-uTfjs|3T&5myc|_pAV2m_0SOk zvT0Kh+=p}%o1o^1I(peXC;dx&O20%%+$SvFu2emC?Pf?JCckRyr|BAkUo$Sm zCTXx7?!q5f$7aeMs@(~E`|wF$X3v%7@#i5P@3!Tpk85KqW5_Rc*Cejhu{i1)j08B( z8ijpScqGou_LMp)<*sfEUAd`gyy;^Cfydqz8m28|kS`M=5hRDwrn-}H9VPV2*JOmz zb9F8m<+RB+@k^B{@Dv+Vk`Fk`A9eF1gWTrLK*L= kgjU*V?ByNOhA*_)oE-5!L;!cP!SfHitf&w?jiLem4_;)`Pyhe` literal 0 HcmV?d00001 diff --git a/data/games/garage/mods/default/sounds/default_gravel_dig.1.ogg b/data/games/garage/mods/default/sounds/default_gravel_dig.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..baf8fca717225d69cd3bc9e1659348b1e7588545 GIT binary patch literal 14972 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