From a16d4bc8ccdcd42e8e29dd427d3b810dd0f53f71 Mon Sep 17 00:00:00 2001 From: Der1248 Date: Thu, 17 Oct 2019 14:53:23 +0200 Subject: [PATCH] Regnum 3.3.7 upload --- menu/Thumbs.db | Bin 35328 -> 35328 bytes mods/beds/README.txt | 6 +- mods/beds/beds.lua | 9 +- mods/beds/depends.txt | 2 - mods/beds/functions.lua | 39 +- mods/beds/init.lua | 9 +- mods/beds/locale/beds.de.tr | 8 + mods/beds/locale/beds.es.tr | 8 + mods/beds/locale/beds.fr.tr | 8 + mods/beds/locale/beds.it.tr | 4 + mods/beds/locale/template.txt | 8 + mods/beds/mod.conf | 3 + mods/binoculars/depends.txt | 2 - mods/binoculars/init.lua | 7 +- mods/binoculars/locale/binoculars.de.tr | 3 + mods/binoculars/locale/binoculars.es.tr | 3 + mods/binoculars/locale/binoculars.fr.tr | 3 + mods/binoculars/locale/binoculars.it.tr | 3 + mods/binoculars/locale/template.txt | 3 + mods/binoculars/mod.conf | 4 + mods/boats/depends.txt | 2 - mods/boats/init.lua | 11 +- mods/boats/locale/boats.de.tr | 4 + mods/boats/locale/boats.es.tr | 4 + mods/boats/locale/boats.fr.tr | 4 + mods/boats/locale/boats.it.tr | 4 + mods/boats/locale/template.txt | 4 + mods/boats/mod.conf | 3 + mods/bones/depends.txt | 1 - mods/bones/init.lua | 23 +- mods/bones/locale/bones.de.tr | 8 + mods/bones/locale/bones.es.tr | 8 + mods/bones/locale/bones.fr.tr | 8 + mods/bones/locale/bones.it.tr | 8 + mods/bones/locale/template.txt | 8 + mods/bones/mod.conf | 3 + mods/bucket/depends.txt | 2 - mods/bucket/init.lua | 25 +- mods/bucket/locale/bucket.de.tr | 5 + mods/bucket/locale/bucket.es.tr | 5 + mods/bucket/locale/bucket.fr.tr | 5 + mods/bucket/locale/bucket.it.tr | 5 + mods/bucket/locale/template.txt | 5 + mods/bucket/mod.conf | 3 + mods/butterflies/depends.txt | 2 - mods/butterflies/init.lua | 18 +- mods/butterflies/locale/butterflies.de.tr | 4 + mods/butterflies/locale/butterflies.es.tr | 4 + mods/butterflies/locale/butterflies.fr.tr | 4 + mods/butterflies/locale/butterflies.it.tr | 4 + mods/butterflies/locale/template.txt | 4 + mods/butterflies/mod.conf | 3 + mods/carts/cart_entity.lua | 7 +- mods/carts/depends.txt | 2 - mods/carts/init.lua | 5 + mods/carts/locale/carts.de.tr | 6 + mods/carts/locale/carts.es.tr | 6 + mods/carts/locale/carts.fr.tr | 6 + mods/carts/locale/carts.it.tr | 6 + mods/carts/locale/template.txt | 6 + mods/carts/mod.conf | 3 + mods/carts/rails.lua | 11 +- mods/creative/depends.txt | 2 - mods/creative/init.lua | 17 +- mods/creative/inventory.lua | 32 +- mods/creative/locale/creative.de.tr | 10 + mods/creative/locale/creative.es.tr | 10 + mods/creative/locale/creative.fr.tr | 10 + mods/creative/locale/creative.it.tr | 10 + mods/creative/locale/template.txt | 10 + mods/creative/mod.conf | 3 + mods/default/README.txt | 5 +- mods/default/chests.lua | 18 +- mods/default/crafting.lua | 494 ++++++++--------- mods/default/craftitems.lua | 89 +-- mods/default/depends.txt | 1 - mods/default/functions.lua | 106 ++-- mods/default/furnace.lua | 67 ++- mods/default/init.lua | 5 + mods/default/legacy.lua | 2 +- mods/default/locale/default.de.tr | 211 +++++++ mods/default/locale/default.es.tr | 211 +++++++ mods/default/locale/default.fr.tr | 211 +++++++ mods/default/locale/default.it.tr | 205 +++++++ mods/default/locale/template.txt | 211 +++++++ mods/default/mapgen.lua | 368 ++++++++++-- mods/default/mod.conf | 3 + mods/default/nodes.lua | 524 +++++++++--------- mods/default/schematics/large_cactus.mts | Bin 98 -> 99 bytes mods/default/textures/default_dry_dirt.png | Bin 0 -> 256 bytes mods/default/textures/default_grass.png | Bin 377 -> 461 bytes mods/default/textures/default_grass_side.png | Bin 779 -> 590 bytes mods/default/textures/default_permafrost.png | Bin 266 -> 269 bytes mods/default/tools.lua | 81 ++- mods/default/torch.lua | 7 +- mods/default/trees.lua | 12 +- mods/doors/README.txt | 4 +- mods/doors/depends.txt | 2 - mods/doors/init.lua | 94 ++-- mods/doors/locale/doors.de.tr | 18 + mods/doors/locale/doors.es.tr | 18 + mods/doors/locale/doors.fr.tr | 18 + mods/doors/locale/doors.it.tr | 19 + mods/doors/locale/template.txt | 18 + mods/doors/mod.conf | 4 + mods/doors/textures/doors_trapdoor_side.png | Bin 169 -> 118 bytes .../textures/doors_trapdoor_steel_side.png | Bin 101 -> 98 bytes mods/dungeon_loot/depends.txt | 1 - mods/dungeon_loot/loot.lua | 31 +- mods/dungeon_loot/mapgen.lua | 29 +- mods/dungeon_loot/mod.conf | 3 + mods/dye/depends.txt | 0 mods/dye/init.lua | 37 +- mods/dye/locale/dye.de.tr | 16 + mods/dye/locale/dye.es.tr | 16 + mods/dye/locale/dye.fr.tr | 16 + mods/dye/locale/dye.it.tr | 16 + mods/dye/locale/template.txt | 16 + mods/dye/mod.conf | 2 + mods/env_sounds/README.txt | 13 + mods/env_sounds/init.lua | 64 +++ mods/env_sounds/license.txt | 57 ++ mods/env_sounds/mod.conf | 3 + mods/env_sounds/sounds/env_sounds_water.1.ogg | Bin 0 -> 80221 bytes mods/env_sounds/sounds/env_sounds_water.2.ogg | Bin 0 -> 84658 bytes mods/env_sounds/sounds/env_sounds_water.3.ogg | Bin 0 -> 83915 bytes mods/env_sounds/sounds/env_sounds_water.4.ogg | Bin 0 -> 82187 bytes mods/farming/api.lua | 13 +- mods/farming/depends.txt | 3 - mods/farming/hoes.lua | 31 +- mods/farming/init.lua | 19 +- mods/farming/locale/farming.de.tr | 25 + mods/farming/locale/farming.es.tr | 25 + mods/farming/locale/farming.fr.tr | 25 + mods/farming/locale/farming.it.tr | 25 + mods/farming/locale/template.txt | 25 + mods/farming/mod.conf | 3 + mods/farming/nodes.lua | 90 ++- mods/fire/depends.txt | 1 - mods/fire/init.lua | 33 +- mods/fire/locale/fire.de.tr | 3 + mods/fire/locale/fire.es.tr | 3 + mods/fire/locale/fire.fr.tr | 3 + mods/fire/locale/fire.it.tr | 3 + mods/fire/locale/template.txt | 3 + mods/fire/mod.conf | 3 + mods/fireflies/depends.txt | 2 - mods/fireflies/init.lua | 19 +- mods/fireflies/locale/fireflies.de.tr | 5 + mods/fireflies/locale/fireflies.es.tr | 5 + mods/fireflies/locale/fireflies.fr.tr | 5 + mods/fireflies/locale/fireflies.it.tr | 5 + mods/fireflies/locale/template.txt | 5 + mods/fireflies/mod.conf | 3 + mods/flowers/depends.txt | 1 - mods/flowers/init.lua | 59 +- mods/flowers/locale/flowers.de.tr | 12 + mods/flowers/locale/flowers.es.tr | 12 + mods/flowers/locale/flowers.fr.tr | 12 + mods/flowers/locale/flowers.it.tr | 12 + mods/flowers/locale/template.txt | 12 + mods/flowers/mapgen.lua | 4 +- mods/flowers/mod.conf | 3 + mods/game_commands/init.lua | 12 +- mods/game_commands/locale/game_commands.de.tr | 4 + mods/game_commands/locale/game_commands.es.tr | 4 + mods/game_commands/locale/game_commands.fr.tr | 4 + mods/game_commands/locale/game_commands.it.tr | 4 + mods/game_commands/locale/template.txt | 4 + mods/game_commands/mod.conf | 2 + mods/give_initial_stuff/depends.txt | 2 - mods/give_initial_stuff/init.lua | 2 + mods/give_initial_stuff/mod.conf | 3 + mods/map/README.txt | 2 +- mods/map/depends.txt | 3 - mods/map/init.lua | 10 +- mods/map/locale/map.de.tr | 3 + mods/map/locale/map.es.tr | 3 + mods/map/locale/map.fr.tr | 3 + mods/map/locale/map.it.tr | 3 + mods/map/locale/template.txt | 3 + mods/map/mod.conf | 4 + mods/player_api/api.lua | 1 + mods/player_api/init.lua | 2 + mods/player_api/mod.conf | 2 + mods/screwdriver/init.lua | 9 +- mods/screwdriver/locale/screwdriver.de.tr | 3 + mods/screwdriver/locale/screwdriver.es.tr | 3 + mods/screwdriver/locale/screwdriver.fr.tr | 3 + mods/screwdriver/locale/screwdriver.it.tr | 3 + mods/screwdriver/locale/template.txt | 3 + mods/screwdriver/mod.conf | 2 + mods/sethome/init.lua | 19 +- mods/sethome/locale/sethome.de.tr | 8 + mods/sethome/locale/sethome.es.tr | 8 + mods/sethome/locale/sethome.fr.tr | 8 + mods/sethome/locale/sethome.it.tr | 8 + mods/sethome/locale/template.txt | 8 + mods/sethome/mod.conf | 2 + mods/sfinv/README.txt | 5 + mods/sfinv/api.lua | 12 +- mods/sfinv/init.lua | 17 +- mods/sfinv/license.txt | 35 ++ mods/sfinv/locale/sfinv.de.tr | 2 + mods/sfinv/locale/sfinv.es.tr | 2 + mods/sfinv/locale/sfinv.fr.tr | 2 + mods/sfinv/locale/sfinv.it.tr | 2 + mods/sfinv/locale/template.txt | 2 + mods/sfinv/mod.conf | 2 + mods/sfinv/textures/sfinv_crafting_arrow.png | Bin 0 -> 469 bytes mods/spawn/depends.txt | 2 - mods/spawn/init.lua | 15 + mods/spawn/mod.conf | 4 + mods/stairs/depends.txt | 1 - mods/stairs/init.lua | 312 ++++++++--- mods/stairs/locale/stairs.de.tr | 145 +++++ mods/stairs/locale/stairs.es.tr | 145 +++++ mods/stairs/locale/stairs.fr.tr | 145 +++++ mods/stairs/locale/stairs.it.tr | 145 +++++ mods/stairs/locale/template.txt | 145 +++++ mods/stairs/mod.conf | 3 + mods/tnt/README.txt | 21 +- mods/tnt/depends.txt | 3 - mods/tnt/init.lua | 14 +- mods/tnt/license.txt | 38 +- mods/tnt/locale/template.txt | 4 + mods/tnt/locale/tnt.de.tr | 4 + mods/tnt/locale/tnt.es.tr | 4 + mods/tnt/locale/tnt.fr.tr | 4 + mods/tnt/locale/tnt.it.tr | 4 + mods/tnt/mod.conf | 3 + mods/tnt/sounds/tnt_explode.ogg | Bin 12808 -> 13580 bytes mods/tnt/sounds/tnt_gunpowder_burning.ogg | Bin 34335 -> 7443 bytes mods/tnt/sounds/tnt_ignite.ogg | Bin 29271 -> 26196 bytes mods/tutorial/init.lua | 4 +- mods/vessels/depends.txt | 1 - mods/vessels/init.lua | 47 +- mods/vessels/locale/template.txt | 8 + mods/vessels/locale/vessels.de.tr | 8 + mods/vessels/locale/vessels.es.tr | 8 + mods/vessels/locale/vessels.fr.tr | 8 + mods/vessels/locale/vessels.it.tr | 8 + mods/vessels/mod.conf | 3 + mods/walls/depends.txt | 1 - mods/walls/init.lua | 35 +- mods/walls/locale/template.txt | 4 + mods/walls/locale/walls.de.tr | 4 + mods/walls/locale/walls.es.tr | 4 + mods/walls/locale/walls.fr.tr | 4 + mods/walls/locale/walls.it.tr | 4 + mods/walls/mod.conf | 3 + mods/wool/depends.txt | 1 - mods/wool/init.lua | 47 +- mods/wool/locale/template.txt | 16 + mods/wool/locale/wool.de.tr | 16 + mods/wool/locale/wool.es.tr | 16 + mods/wool/locale/wool.fr.tr | 16 + mods/wool/locale/wool.it.tr | 16 + mods/wool/mod.conf | 3 + mods/xpanes/README.txt | 8 + mods/xpanes/depends.txt | 1 - mods/xpanes/init.lua | 64 ++- mods/xpanes/license.txt | 1 + mods/xpanes/locale/template.txt | 6 + mods/xpanes/locale/xpanes.de.tr | 6 + mods/xpanes/locale/xpanes.es.tr | 6 + mods/xpanes/locale/xpanes.fr.tr | 6 + mods/xpanes/locale/xpanes.it.tr | 6 + 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 .../xpanes/textures/xpanes_door_steel_bar.png | Bin 0 -> 605 bytes .../xpanes/textures/xpanes_item_steel_bar.png | Bin 0 -> 354 bytes .../textures/xpanes_trapdoor_steel_bar.png | Bin 0 -> 261 bytes .../xpanes_trapdoor_steel_bar_side.png | Bin 0 -> 98 bytes 275 files changed, 5019 insertions(+), 1136 deletions(-) delete mode 100644 mods/beds/depends.txt create mode 100644 mods/beds/locale/beds.de.tr create mode 100644 mods/beds/locale/beds.es.tr create mode 100644 mods/beds/locale/beds.fr.tr create mode 100644 mods/beds/locale/beds.it.tr create mode 100644 mods/beds/locale/template.txt create mode 100644 mods/beds/mod.conf delete mode 100644 mods/binoculars/depends.txt create mode 100644 mods/binoculars/locale/binoculars.de.tr create mode 100644 mods/binoculars/locale/binoculars.es.tr create mode 100644 mods/binoculars/locale/binoculars.fr.tr create mode 100644 mods/binoculars/locale/binoculars.it.tr create mode 100644 mods/binoculars/locale/template.txt create mode 100644 mods/binoculars/mod.conf delete mode 100644 mods/boats/depends.txt create mode 100644 mods/boats/locale/boats.de.tr create mode 100644 mods/boats/locale/boats.es.tr create mode 100644 mods/boats/locale/boats.fr.tr create mode 100644 mods/boats/locale/boats.it.tr create mode 100644 mods/boats/locale/template.txt create mode 100644 mods/boats/mod.conf delete mode 100644 mods/bones/depends.txt create mode 100644 mods/bones/locale/bones.de.tr create mode 100644 mods/bones/locale/bones.es.tr create mode 100644 mods/bones/locale/bones.fr.tr create mode 100644 mods/bones/locale/bones.it.tr create mode 100644 mods/bones/locale/template.txt create mode 100644 mods/bones/mod.conf delete mode 100644 mods/bucket/depends.txt create mode 100644 mods/bucket/locale/bucket.de.tr create mode 100644 mods/bucket/locale/bucket.es.tr create mode 100644 mods/bucket/locale/bucket.fr.tr create mode 100644 mods/bucket/locale/bucket.it.tr create mode 100644 mods/bucket/locale/template.txt create mode 100644 mods/bucket/mod.conf delete mode 100644 mods/butterflies/depends.txt create mode 100644 mods/butterflies/locale/butterflies.de.tr create mode 100644 mods/butterflies/locale/butterflies.es.tr create mode 100644 mods/butterflies/locale/butterflies.fr.tr create mode 100644 mods/butterflies/locale/butterflies.it.tr create mode 100644 mods/butterflies/locale/template.txt create mode 100644 mods/butterflies/mod.conf delete mode 100644 mods/carts/depends.txt create mode 100644 mods/carts/locale/carts.de.tr create mode 100644 mods/carts/locale/carts.es.tr create mode 100644 mods/carts/locale/carts.fr.tr create mode 100644 mods/carts/locale/carts.it.tr create mode 100644 mods/carts/locale/template.txt create mode 100644 mods/carts/mod.conf delete mode 100644 mods/creative/depends.txt create mode 100644 mods/creative/locale/creative.de.tr create mode 100644 mods/creative/locale/creative.es.tr create mode 100644 mods/creative/locale/creative.fr.tr create mode 100644 mods/creative/locale/creative.it.tr create mode 100644 mods/creative/locale/template.txt create mode 100644 mods/creative/mod.conf delete mode 100644 mods/default/depends.txt create mode 100644 mods/default/locale/default.de.tr create mode 100644 mods/default/locale/default.es.tr create mode 100644 mods/default/locale/default.fr.tr create mode 100644 mods/default/locale/default.it.tr create mode 100644 mods/default/locale/template.txt create mode 100644 mods/default/mod.conf create mode 100644 mods/default/textures/default_dry_dirt.png delete mode 100644 mods/doors/depends.txt create mode 100644 mods/doors/locale/doors.de.tr create mode 100644 mods/doors/locale/doors.es.tr create mode 100644 mods/doors/locale/doors.fr.tr create mode 100644 mods/doors/locale/doors.it.tr create mode 100644 mods/doors/locale/template.txt create mode 100644 mods/doors/mod.conf delete mode 100644 mods/dungeon_loot/depends.txt create mode 100644 mods/dungeon_loot/mod.conf delete mode 100644 mods/dye/depends.txt create mode 100644 mods/dye/locale/dye.de.tr create mode 100644 mods/dye/locale/dye.es.tr create mode 100644 mods/dye/locale/dye.fr.tr create mode 100644 mods/dye/locale/dye.it.tr create mode 100644 mods/dye/locale/template.txt create mode 100644 mods/dye/mod.conf create mode 100644 mods/env_sounds/README.txt create mode 100644 mods/env_sounds/init.lua create mode 100644 mods/env_sounds/license.txt create mode 100644 mods/env_sounds/mod.conf create mode 100644 mods/env_sounds/sounds/env_sounds_water.1.ogg create mode 100644 mods/env_sounds/sounds/env_sounds_water.2.ogg create mode 100644 mods/env_sounds/sounds/env_sounds_water.3.ogg create mode 100644 mods/env_sounds/sounds/env_sounds_water.4.ogg delete mode 100644 mods/farming/depends.txt create mode 100644 mods/farming/locale/farming.de.tr create mode 100644 mods/farming/locale/farming.es.tr create mode 100644 mods/farming/locale/farming.fr.tr create mode 100644 mods/farming/locale/farming.it.tr create mode 100644 mods/farming/locale/template.txt create mode 100644 mods/farming/mod.conf delete mode 100644 mods/fire/depends.txt create mode 100644 mods/fire/locale/fire.de.tr create mode 100644 mods/fire/locale/fire.es.tr create mode 100644 mods/fire/locale/fire.fr.tr create mode 100644 mods/fire/locale/fire.it.tr create mode 100644 mods/fire/locale/template.txt create mode 100644 mods/fire/mod.conf delete mode 100644 mods/fireflies/depends.txt create mode 100644 mods/fireflies/locale/fireflies.de.tr create mode 100644 mods/fireflies/locale/fireflies.es.tr create mode 100644 mods/fireflies/locale/fireflies.fr.tr create mode 100644 mods/fireflies/locale/fireflies.it.tr create mode 100644 mods/fireflies/locale/template.txt create mode 100644 mods/fireflies/mod.conf delete mode 100644 mods/flowers/depends.txt create mode 100644 mods/flowers/locale/flowers.de.tr create mode 100644 mods/flowers/locale/flowers.es.tr create mode 100644 mods/flowers/locale/flowers.fr.tr create mode 100644 mods/flowers/locale/flowers.it.tr create mode 100644 mods/flowers/locale/template.txt create mode 100644 mods/flowers/mod.conf create mode 100644 mods/game_commands/locale/game_commands.de.tr create mode 100644 mods/game_commands/locale/game_commands.es.tr create mode 100644 mods/game_commands/locale/game_commands.fr.tr create mode 100644 mods/game_commands/locale/game_commands.it.tr create mode 100644 mods/game_commands/locale/template.txt create mode 100644 mods/game_commands/mod.conf delete mode 100644 mods/give_initial_stuff/depends.txt create mode 100644 mods/give_initial_stuff/mod.conf delete mode 100644 mods/map/depends.txt create mode 100644 mods/map/locale/map.de.tr create mode 100644 mods/map/locale/map.es.tr create mode 100644 mods/map/locale/map.fr.tr create mode 100644 mods/map/locale/map.it.tr create mode 100644 mods/map/locale/template.txt create mode 100644 mods/map/mod.conf create mode 100644 mods/player_api/mod.conf create mode 100644 mods/screwdriver/locale/screwdriver.de.tr create mode 100644 mods/screwdriver/locale/screwdriver.es.tr create mode 100644 mods/screwdriver/locale/screwdriver.fr.tr create mode 100644 mods/screwdriver/locale/screwdriver.it.tr create mode 100644 mods/screwdriver/locale/template.txt create mode 100644 mods/screwdriver/mod.conf create mode 100644 mods/sethome/locale/sethome.de.tr create mode 100644 mods/sethome/locale/sethome.es.tr create mode 100644 mods/sethome/locale/sethome.fr.tr create mode 100644 mods/sethome/locale/sethome.it.tr create mode 100644 mods/sethome/locale/template.txt create mode 100644 mods/sethome/mod.conf create mode 100644 mods/sfinv/locale/sfinv.de.tr create mode 100644 mods/sfinv/locale/sfinv.es.tr create mode 100644 mods/sfinv/locale/sfinv.fr.tr create mode 100644 mods/sfinv/locale/sfinv.it.tr create mode 100644 mods/sfinv/locale/template.txt create mode 100644 mods/sfinv/mod.conf create mode 100644 mods/sfinv/textures/sfinv_crafting_arrow.png delete mode 100644 mods/spawn/depends.txt create mode 100644 mods/spawn/mod.conf delete mode 100644 mods/stairs/depends.txt create mode 100644 mods/stairs/locale/stairs.de.tr create mode 100644 mods/stairs/locale/stairs.es.tr create mode 100644 mods/stairs/locale/stairs.fr.tr create mode 100644 mods/stairs/locale/stairs.it.tr create mode 100644 mods/stairs/locale/template.txt create mode 100644 mods/stairs/mod.conf delete mode 100644 mods/tnt/depends.txt create mode 100644 mods/tnt/locale/template.txt create mode 100644 mods/tnt/locale/tnt.de.tr create mode 100644 mods/tnt/locale/tnt.es.tr create mode 100644 mods/tnt/locale/tnt.fr.tr create mode 100644 mods/tnt/locale/tnt.it.tr create mode 100644 mods/tnt/mod.conf delete mode 100644 mods/vessels/depends.txt create mode 100644 mods/vessels/locale/template.txt create mode 100644 mods/vessels/locale/vessels.de.tr create mode 100644 mods/vessels/locale/vessels.es.tr create mode 100644 mods/vessels/locale/vessels.fr.tr create mode 100644 mods/vessels/locale/vessels.it.tr create mode 100644 mods/vessels/mod.conf delete mode 100644 mods/walls/depends.txt create mode 100644 mods/walls/locale/template.txt create mode 100644 mods/walls/locale/walls.de.tr create mode 100644 mods/walls/locale/walls.es.tr create mode 100644 mods/walls/locale/walls.fr.tr create mode 100644 mods/walls/locale/walls.it.tr create mode 100644 mods/walls/mod.conf delete mode 100644 mods/wool/depends.txt create mode 100644 mods/wool/locale/template.txt create mode 100644 mods/wool/locale/wool.de.tr create mode 100644 mods/wool/locale/wool.es.tr create mode 100644 mods/wool/locale/wool.fr.tr create mode 100644 mods/wool/locale/wool.it.tr create mode 100644 mods/wool/mod.conf delete mode 100644 mods/xpanes/depends.txt create mode 100644 mods/xpanes/locale/template.txt create mode 100644 mods/xpanes/locale/xpanes.de.tr create mode 100644 mods/xpanes/locale/xpanes.es.tr create mode 100644 mods/xpanes/locale/xpanes.fr.tr create mode 100644 mods/xpanes/locale/xpanes.it.tr create mode 100644 mods/xpanes/mod.conf create mode 100644 mods/xpanes/sounds/xpanes_steel_bar_door_close.ogg create mode 100644 mods/xpanes/sounds/xpanes_steel_bar_door_open.ogg create mode 100644 mods/xpanes/textures/xpanes_door_steel_bar.png create mode 100644 mods/xpanes/textures/xpanes_item_steel_bar.png create mode 100644 mods/xpanes/textures/xpanes_trapdoor_steel_bar.png create mode 100644 mods/xpanes/textures/xpanes_trapdoor_steel_bar_side.png diff --git a/menu/Thumbs.db b/menu/Thumbs.db index 3f6c21955bf8f320fc1ed3299175c16fefa4840b..22bc67f2d38e64b6b59788d05230936b897c26b7 100644 GIT binary patch delta 70 zcmZpe!qhN@X+sVR+k}7Ts$RBiE@GL-%yIQXXH(6j^`)C7ICgMw6v~||JuP>^aPva} XdB({GES!@M2neu4MK_BJy(|X+Hw7Jb delta 70 zcmZpe!qhN@X+sVRn}GhD+HZlIi&*9{b8w1n3g7Vg#{SI`96LBT%KQHNsVoUK-26~L Wo^i4P3+Lnm0s`z%(aqvQFUtYBu^Soy diff --git a/mods/beds/README.txt b/mods/beds/README.txt index b4cf0c4..7b35e14 100644 --- a/mods/beds/README.txt +++ b/mods/beds/README.txt @@ -15,11 +15,11 @@ BlockMen (CC BY-SA 3.0) TumeniNodes (CC BY-SA 3.0) beds_bed_under.png -This mod adds a bed to Minetest which allows to skip the night. -To sleep, rightclick the bed. If playing in singleplayer mode the night gets skipped +This mod adds a bed to Minetest 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 50% of the players are lying in bed and use this option. +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 diff --git a/mods/beds/beds.lua b/mods/beds/beds.lua index 0bdde9c..276c05e 100644 --- a/mods/beds/beds.lua +++ b/mods/beds/beds.lua @@ -1,7 +1,12 @@ +-- beds/beds.lua + +-- support for MT game translation. +local S = beds.get_translator + -- Fancy shaped bed beds.register_bed("beds:fancy_bed", { - description = "Fancy Bed", + description = S("Fancy Bed"), inventory_image = "beds_bed_fancy.png", wield_image = "beds_bed_fancy.png", tiles = { @@ -52,7 +57,7 @@ beds.register_bed("beds:fancy_bed", { -- Simple shaped bed beds.register_bed("beds:bed", { - description = "Simple Bed", + description = S("Simple Bed"), inventory_image = "beds_bed.png", wield_image = "beds_bed.png", tiles = { diff --git a/mods/beds/depends.txt b/mods/beds/depends.txt deleted file mode 100644 index 470ec30..0000000 --- a/mods/beds/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -wool diff --git a/mods/beds/functions.lua b/mods/beds/functions.lua index bf7bf90..0b79bfb 100644 --- a/mods/beds/functions.lua +++ b/mods/beds/functions.lua @@ -1,11 +1,13 @@ local pi = math.pi -local player_in_bed = 0 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) @@ -59,11 +61,8 @@ local function lay_down(player, pos, bed_pos, state, skip) -- stand up if state ~= nil and not state then local p = beds.pos[name] or nil - if beds.player[name] ~= nil then - beds.player[name] = nil - beds.bed_position[name] = nil - player_in_bed = player_in_bed - 1 - end + beds.player[name] = nil + beds.bed_position[name] = nil -- skip here to prevent sending player specific changes (used for leaving players) if skip then return @@ -82,10 +81,9 @@ local function lay_down(player, pos, bed_pos, state, skip) -- lay down else - beds.player[name] = 1 beds.pos[name] = pos beds.bed_position[name] = bed_pos - player_in_bed = player_in_bed + 1 + beds.player[name] = 1 -- physics, eye_offset, etc player:set_eye_offset({x = 0, y = -13, z = 0}, {x = 0, y = 0, z = 0}) @@ -103,18 +101,29 @@ local function lay_down(player, pos, bed_pos, state, skip) 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 form_n + 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; Good morning.]" + form_n = beds.formspec .. "label[2.7,9;" .. esc(S("Good morning.")) .. "]" else - form_n = beds.formspec .. "label[2.2,9;" .. tostring(player_in_bed) .. - " of " .. tostring(ges) .. " players are in bed]" + 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;Force night skip]" + form_n = form_n .. "button_exit[2,6;4,0.75;force;" .. + esc(S("Force night skip")) .. "]" end end @@ -146,7 +155,7 @@ function beds.on_rightclick(pos, player) if beds.player[name] then lay_down(player, nil, nil, false) end - minetest.chat_send_player(name, "You can only sleep at night.") + minetest.chat_send_player(name, S("You can only sleep at night.")) return end @@ -223,7 +232,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) -- Because "Force night skip" button is a button_exit, it will set fields.quit -- and lay_down call will change value of player_in_bed, so it must be taken -- earlier. - local last_player_in_bed = player_in_bed + local last_player_in_bed = get_player_in_bed_count() if fields.quit or fields.leave then lay_down(player, nil, nil, false) diff --git a/mods/beds/init.lua b/mods/beds/init.lua index 5a3959c..869ff0f 100644 --- a/mods/beds/init.lua +++ b/mods/beds/init.lua @@ -1,13 +1,20 @@ +-- beds/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("beds") + + 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;Leave Bed]" + "button_exit[2,10;4,0.75;leave;" .. S("Leave Bed") .. "]" local modpath = minetest.get_modpath("beds") diff --git a/mods/beds/locale/beds.de.tr b/mods/beds/locale/beds.de.tr new file mode 100644 index 0000000..e77f654 --- /dev/null +++ b/mods/beds/locale/beds.de.tr @@ -0,0 +1,8 @@ +# textdomain: beds +Fancy Bed=Schickes Bett +Simple Bed=Schlichtes Bett +Leave Bed=Bett verlassen +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. diff --git a/mods/beds/locale/beds.es.tr b/mods/beds/locale/beds.es.tr new file mode 100644 index 0000000..0543e7f --- /dev/null +++ b/mods/beds/locale/beds.es.tr @@ -0,0 +1,8 @@ +# textdomain: beds +Fancy Bed=Cama de lujo +Simple Bed=Cama sencilla +Leave Bed=Abandonar cama +Good morning.=Buenos días. +@1 of @2 players are in bed=@1 de @2 jugadores están en cama +Force night skip=Forzar evitar noche +You can only sleep at night.=Sólo puedes dormir por la noche. diff --git a/mods/beds/locale/beds.fr.tr b/mods/beds/locale/beds.fr.tr new file mode 100644 index 0000000..bddf9b5 --- /dev/null +++ b/mods/beds/locale/beds.fr.tr @@ -0,0 +1,8 @@ +# textdomain: beds +Fancy Bed=Lit chic +Simple Bed=Lit simple +Leave Bed=Se lever du lit +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. diff --git a/mods/beds/locale/beds.it.tr b/mods/beds/locale/beds.it.tr new file mode 100644 index 0000000..e636112 --- /dev/null +++ b/mods/beds/locale/beds.it.tr @@ -0,0 +1,4 @@ +# textdomain: beds +Fancy Bed=Letto decorato +Simple Bed=Letto semplice +Leave Bed=Alzati dal letto \ No newline at end of file diff --git a/mods/beds/locale/template.txt b/mods/beds/locale/template.txt new file mode 100644 index 0000000..518fdbf --- /dev/null +++ b/mods/beds/locale/template.txt @@ -0,0 +1,8 @@ +# textdomain: beds +Fancy Bed= +Simple Bed= +Leave Bed= +Good morning.= +@1 of @2 players are in bed= +Force night skip= +You can only sleep at night.= diff --git a/mods/beds/mod.conf b/mods/beds/mod.conf new file mode 100644 index 0000000..450ec13 --- /dev/null +++ b/mods/beds/mod.conf @@ -0,0 +1,3 @@ +name = beds +description = Minetest Game mod: beds +depends = default, wool diff --git a/mods/binoculars/depends.txt b/mods/binoculars/depends.txt deleted file mode 100644 index 1f737c1..0000000 --- a/mods/binoculars/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -creative? diff --git a/mods/binoculars/init.lua b/mods/binoculars/init.lua index 0b43a06..7685897 100644 --- a/mods/binoculars/init.lua +++ b/mods/binoculars/init.lua @@ -1,7 +1,12 @@ +-- binoculars/init.lua + -- Mod global namespace binoculars = {} +-- Load support for MT game translation. +local S = minetest.get_translator("binoculars") + -- Detect creative mod local creative_mod = minetest.get_modpath("creative") @@ -54,7 +59,7 @@ minetest.after(4.7, cyclic_update) -- Binoculars item minetest.register_craftitem("binoculars:binoculars", { - description = "Binoculars\nUse with 'Zoom' key", + description = S("Binoculars") .. "\n" .. S("Use with 'Zoom' key"), inventory_image = "binoculars_binoculars.png", stack_max = 1, diff --git a/mods/binoculars/locale/binoculars.de.tr b/mods/binoculars/locale/binoculars.de.tr new file mode 100644 index 0000000..7bd9b9d --- /dev/null +++ b/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/mods/binoculars/locale/binoculars.es.tr b/mods/binoculars/locale/binoculars.es.tr new file mode 100644 index 0000000..7b7e77d --- /dev/null +++ b/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/mods/binoculars/locale/binoculars.fr.tr b/mods/binoculars/locale/binoculars.fr.tr new file mode 100644 index 0000000..3f8b0bc --- /dev/null +++ b/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/mods/binoculars/locale/binoculars.it.tr b/mods/binoculars/locale/binoculars.it.tr new file mode 100644 index 0000000..d815be6 --- /dev/null +++ b/mods/binoculars/locale/binoculars.it.tr @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars=Binocolo +Use with 'Zoom' key=Usalo col tasto 'Ingrandimento' \ No newline at end of file diff --git a/mods/binoculars/locale/template.txt b/mods/binoculars/locale/template.txt new file mode 100644 index 0000000..a526462 --- /dev/null +++ b/mods/binoculars/locale/template.txt @@ -0,0 +1,3 @@ +# textdomain: binoculars +Binoculars= +Use with 'Zoom' key= diff --git a/mods/binoculars/mod.conf b/mods/binoculars/mod.conf new file mode 100644 index 0000000..7d73741 --- /dev/null +++ b/mods/binoculars/mod.conf @@ -0,0 +1,4 @@ +name = binoculars +description = Minetest Game mod: binoculars +depends = default +optional_depends = creative diff --git a/mods/boats/depends.txt b/mods/boats/depends.txt deleted file mode 100644 index 8e482ce..0000000 --- a/mods/boats/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -player_api diff --git a/mods/boats/init.lua b/mods/boats/init.lua index 00cf791..a785bdc 100644 --- a/mods/boats/init.lua +++ b/mods/boats/init.lua @@ -1,3 +1,8 @@ +-- boats/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("boats") + -- -- Helper functions -- @@ -149,13 +154,13 @@ function boat.on_step(self, dtime) if ctrl.up and ctrl.down then if not self.auto then self.auto = true - minetest.chat_send_player(self.driver, "[boats] Cruise on") + minetest.chat_send_player(self.driver, S("Boat cruise mode on")) end elseif ctrl.down then self.v = self.v - dtime * 1.8 if self.auto then self.auto = false - minetest.chat_send_player(self.driver, "[boats] Cruise off") + minetest.chat_send_player(self.driver, S("Boat cruise mode off")) end elseif ctrl.up or self.auto then self.v = self.v + dtime * 1.8 @@ -242,7 +247,7 @@ minetest.register_entity("boats:boat", boat) minetest.register_craftitem("boats:boat", { - description = "Boat", + description = S("Boat"), inventory_image = "boats_inventory.png", wield_image = "boats_wield.png", wield_scale = {x = 2, y = 2, z = 1}, diff --git a/mods/boats/locale/boats.de.tr b/mods/boats/locale/boats.de.tr new file mode 100644 index 0000000..d8eb8d7 --- /dev/null +++ b/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/mods/boats/locale/boats.es.tr b/mods/boats/locale/boats.es.tr new file mode 100644 index 0000000..b9adb72 --- /dev/null +++ b/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/mods/boats/locale/boats.fr.tr b/mods/boats/locale/boats.fr.tr new file mode 100644 index 0000000..f469a0b --- /dev/null +++ b/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/mods/boats/locale/boats.it.tr b/mods/boats/locale/boats.it.tr new file mode 100644 index 0000000..ca28888 --- /dev/null +++ b/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 \ No newline at end of file diff --git a/mods/boats/locale/template.txt b/mods/boats/locale/template.txt new file mode 100644 index 0000000..17aedc8 --- /dev/null +++ b/mods/boats/locale/template.txt @@ -0,0 +1,4 @@ +# textdomain: boats +Boat cruise mode on= +Boat cruise mode off= +Boat= diff --git a/mods/boats/mod.conf b/mods/boats/mod.conf new file mode 100644 index 0000000..a727f8f --- /dev/null +++ b/mods/boats/mod.conf @@ -0,0 +1,3 @@ +name = boats +description = Minetest Game mod: boats +depends = default, player_api diff --git a/mods/bones/depends.txt b/mods/bones/depends.txt deleted file mode 100644 index 4ad96d5..0000000 --- a/mods/bones/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/bones/init.lua b/mods/bones/init.lua index 5fcae41..5e54259 100644 --- a/mods/bones/init.lua +++ b/mods/bones/init.lua @@ -1,6 +1,11 @@ +-- bones/init.lua + -- Minetest 0.4 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) @@ -24,7 +29,7 @@ local share_bones_time = tonumber(minetest.settings:get("share_bones_time")) or local share_bones_time_early = tonumber(minetest.settings:get("share_bones_time_early")) or share_bones_time / 4 minetest.register_node("bones:bones", { - description = "Bones", + description = S("Bones"), tiles = { "bones_top.png^[transform2", "bones_bottom.png", @@ -116,7 +121,7 @@ minetest.register_node("bones:bones", { local meta = minetest.get_meta(pos) local time = meta:get_int("time") + elapsed if time >= share_bones_time then - meta:set_string("infotext", meta:get_string("owner") .. "'s old bones") + meta:set_string("infotext", S("@1's old bones", meta:get_string("owner"))) meta:set_string("owner", "") else meta:set_int("time", time) @@ -194,7 +199,7 @@ minetest.register_on_dieplayer(function(player) minetest.log("action", player_name .. " dies at " .. pos_string .. ". No bones placed") if bones_position_message then - minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. ".") + minetest.chat_send_player(player_name, S("@1 died at @2.", player_name, pos_string)) end return end @@ -204,7 +209,7 @@ minetest.register_on_dieplayer(function(player) minetest.log("action", player_name .. " dies at " .. pos_string .. ". No bones placed") if bones_position_message then - minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. ".") + minetest.chat_send_player(player_name, S("@1 died at @2.", player_name, pos_string)) end return end @@ -230,8 +235,7 @@ minetest.register_on_dieplayer(function(player) minetest.log("action", player_name .. " dies at " .. pos_string .. ". Inventory dropped") if bones_position_message then - minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. - ", and dropped their inventory.") + minetest.chat_send_player(player_name, S("@1 died at @2, and dropped their inventory.", player_name, pos_string)) end return end @@ -242,8 +246,7 @@ minetest.register_on_dieplayer(function(player) minetest.log("action", player_name .. " dies at " .. pos_string .. ". Bones placed") if bones_position_message then - minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. - ", and bones were placed.") + 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) @@ -266,7 +269,7 @@ minetest.register_on_dieplayer(function(player) meta:set_string("owner", player_name) if share_bones_time ~= 0 then - meta:set_string("infotext", player_name .. "'s fresh bones") + 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) @@ -276,6 +279,6 @@ minetest.register_on_dieplayer(function(player) minetest.get_node_timer(pos):start(10) else - meta:set_string("infotext", player_name.."'s bones") + meta:set_string("infotext", S("@1's bones", player_name)) end end) diff --git a/mods/bones/locale/bones.de.tr b/mods/bones/locale/bones.de.tr new file mode 100644 index 0000000..83f5c28 --- /dev/null +++ b/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/mods/bones/locale/bones.es.tr b/mods/bones/locale/bones.es.tr new file mode 100644 index 0000000..9c45513 --- /dev/null +++ b/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/mods/bones/locale/bones.fr.tr b/mods/bones/locale/bones.fr.tr new file mode 100644 index 0000000..cfe01ee --- /dev/null +++ b/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/mods/bones/locale/bones.it.tr b/mods/bones/locale/bones.it.tr new file mode 100644 index 0000000..9eed2cc --- /dev/null +++ b/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 \ No newline at end of file diff --git a/mods/bones/locale/template.txt b/mods/bones/locale/template.txt new file mode 100644 index 0000000..4ac8d45 --- /dev/null +++ b/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/mods/bones/mod.conf b/mods/bones/mod.conf new file mode 100644 index 0000000..371997b --- /dev/null +++ b/mods/bones/mod.conf @@ -0,0 +1,3 @@ +name = bones +description = Minetest Game mod: bones +depends = default diff --git a/mods/bucket/depends.txt b/mods/bucket/depends.txt deleted file mode 100644 index 3a7daa1..0000000 --- a/mods/bucket/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default - diff --git a/mods/bucket/init.lua b/mods/bucket/init.lua index 1d37cb4..2cf431c 100644 --- a/mods/bucket/init.lua +++ b/mods/bucket/init.lua @@ -1,15 +1,19 @@ -- Minetest 0.4 mod: bucket -- See README.txt for licensing and other information. +-- 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', + output = "bucket:bucket_empty 1", recipe = { - {'default:steel_ingot', '', 'default:steel_ingot'}, - {'', 'default:steel_ingot', ''}, + {"default:steel_ingot", "", "default:steel_ingot"}, + {"", "default:steel_ingot", ""}, } }) @@ -111,9 +115,9 @@ function bucket.register_liquid(source, flowing, itemname, inventory_image, name end minetest.register_craftitem("bucket:bucket_empty", { - description = "Empty Bucket", + description = S("Empty Bucket"), inventory_image = "bucket.png", - stack_max = 99, + groups = {tool = 1}, liquids_pointable = true, on_use = function(itemstack, user, pointed_thing) if pointed_thing.type == "object" then @@ -185,8 +189,8 @@ bucket.register_liquid( "default:water_flowing", "bucket:bucket_water", "bucket_water.png", - "Water Bucket", - {water_bucket = 1} + S("Water Bucket"), + {tool = 1, water_bucket = 1} ) -- River water source is 'liquid_renewable = false' to avoid horizontal spread @@ -200,8 +204,8 @@ bucket.register_liquid( "default:river_water_flowing", "bucket:bucket_river_water", "bucket_river_water.png", - "River Water Bucket", - {water_bucket = 1}, + S("River Water Bucket"), + {tool = 1, water_bucket = 1}, true ) @@ -210,7 +214,8 @@ bucket.register_liquid( "default:lava_flowing", "bucket:bucket_lava", "bucket_lava.png", - "Lava Bucket" + S("Lava Bucket"), + {tool = 1} ) minetest.register_craft({ diff --git a/mods/bucket/locale/bucket.de.tr b/mods/bucket/locale/bucket.de.tr new file mode 100644 index 0000000..570dff1 --- /dev/null +++ b/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/mods/bucket/locale/bucket.es.tr b/mods/bucket/locale/bucket.es.tr new file mode 100644 index 0000000..91a0623 --- /dev/null +++ b/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/mods/bucket/locale/bucket.fr.tr b/mods/bucket/locale/bucket.fr.tr new file mode 100644 index 0000000..5065150 --- /dev/null +++ b/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/mods/bucket/locale/bucket.it.tr b/mods/bucket/locale/bucket.it.tr new file mode 100644 index 0000000..1c8de2e --- /dev/null +++ b/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 \ No newline at end of file diff --git a/mods/bucket/locale/template.txt b/mods/bucket/locale/template.txt new file mode 100644 index 0000000..a37c103 --- /dev/null +++ b/mods/bucket/locale/template.txt @@ -0,0 +1,5 @@ +# textdomain: bucket +Empty Bucket= +Water Bucket= +River Water Bucket= +Lava Bucket= diff --git a/mods/bucket/mod.conf b/mods/bucket/mod.conf new file mode 100644 index 0000000..1c60a09 --- /dev/null +++ b/mods/bucket/mod.conf @@ -0,0 +1,3 @@ +name = bucket +description = Minetest Game mod: bucket +depends = default diff --git a/mods/butterflies/depends.txt b/mods/butterflies/depends.txt deleted file mode 100644 index df07aca..0000000 --- a/mods/butterflies/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -flowers \ No newline at end of file diff --git a/mods/butterflies/init.lua b/mods/butterflies/init.lua index 008211e..6fd839f 100644 --- a/mods/butterflies/init.lua +++ b/mods/butterflies/init.lua @@ -1,8 +1,13 @@ +-- butterflies/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("butterflies") + -- register butterflies local butter_list = { - {"white", "White"}, - {"red", "Red"}, - {"violet", "Violet"} + {"white", S("White Butterfly")}, + {"red", S("Red Butterfly")}, + {"violet", S("Violet Butterfly")} } for i in ipairs (butter_list) do @@ -10,7 +15,7 @@ for i in ipairs (butter_list) do local desc = butter_list[i][2] minetest.register_node("butterflies:butterfly_"..name, { - description = desc.." Butterfly", + description = desc, drawtype = "plantlike", tiles = {{ name = "butterflies_butterfly_"..name.."_animated.png", @@ -56,10 +61,9 @@ for i in ipairs (butter_list) do }) minetest.register_node("butterflies:hidden_butterfly_"..name, { - description = "Hidden "..desc.." Butterfly", drawtype = "airlike", - inventory_image = "insects_butterfly_"..name..".png", - wield_image = "insects_butterfly_"..name..".png", + inventory_image = "butterflies_butterfly_"..name..".png", + wield_image = "butterflies_butterfly_"..name..".png", paramtype = "light", sunlight_propagates = true, walkable = false, diff --git a/mods/butterflies/locale/butterflies.de.tr b/mods/butterflies/locale/butterflies.de.tr new file mode 100644 index 0000000..2f1b982 --- /dev/null +++ b/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/mods/butterflies/locale/butterflies.es.tr b/mods/butterflies/locale/butterflies.es.tr new file mode 100644 index 0000000..59a28eb --- /dev/null +++ b/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/mods/butterflies/locale/butterflies.fr.tr b/mods/butterflies/locale/butterflies.fr.tr new file mode 100644 index 0000000..8f5c094 --- /dev/null +++ b/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/mods/butterflies/locale/butterflies.it.tr b/mods/butterflies/locale/butterflies.it.tr new file mode 100644 index 0000000..83c9ccf --- /dev/null +++ b/mods/butterflies/locale/butterflies.it.tr @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly=Farfalla bianca +Red Butterfly=Farfalla rossa +Violet Butterfly=Farfalla viola \ No newline at end of file diff --git a/mods/butterflies/locale/template.txt b/mods/butterflies/locale/template.txt new file mode 100644 index 0000000..d89503a --- /dev/null +++ b/mods/butterflies/locale/template.txt @@ -0,0 +1,4 @@ +# textdomain: butterflies +White Butterfly= +Red Butterfly= +Violet Butterfly= diff --git a/mods/butterflies/mod.conf b/mods/butterflies/mod.conf new file mode 100644 index 0000000..1c66497 --- /dev/null +++ b/mods/butterflies/mod.conf @@ -0,0 +1,3 @@ +name = butterflies +description = Minetest Game mod: Butterflies +depends = default, flowers diff --git a/mods/carts/cart_entity.lua b/mods/carts/cart_entity.lua index 855450d..3c131a6 100644 --- a/mods/carts/cart_entity.lua +++ b/mods/carts/cart_entity.lua @@ -1,3 +1,8 @@ +-- carts/cart_entity.lua + +-- support for MT game translation. +local S = carts.get_translator + local cart_entity = { initial_properties = { physical = false, -- otherwise going uphill breaks @@ -383,7 +388,7 @@ end minetest.register_entity("carts:cart", cart_entity) minetest.register_craftitem("carts:cart", { - description = "Cart (Sneak+Click to pick up)", + description = S("Cart") .. "\n" .. S("(Sneak+Click to pick up)"), inventory_image = minetest.inventorycube("carts_cart_top.png", "carts_cart_side.png", "carts_cart_side.png"), wield_image = "carts_cart_side.png", on_place = function(itemstack, placer, pointed_thing) diff --git a/mods/carts/depends.txt b/mods/carts/depends.txt deleted file mode 100644 index 8e482ce..0000000 --- a/mods/carts/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -player_api diff --git a/mods/carts/init.lua b/mods/carts/init.lua index fe45303..a5aa9cb 100644 --- a/mods/carts/init.lua +++ b/mods/carts/init.lua @@ -1,7 +1,12 @@ +-- 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 diff --git a/mods/carts/locale/carts.de.tr b/mods/carts/locale/carts.de.tr new file mode 100644 index 0000000..89a33ac --- /dev/null +++ b/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/mods/carts/locale/carts.es.tr b/mods/carts/locale/carts.es.tr new file mode 100644 index 0000000..c0857a1 --- /dev/null +++ b/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/mods/carts/locale/carts.fr.tr b/mods/carts/locale/carts.fr.tr new file mode 100644 index 0000000..b092f14 --- /dev/null +++ b/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/mods/carts/locale/carts.it.tr b/mods/carts/locale/carts.it.tr new file mode 100644 index 0000000..7392d26 --- /dev/null +++ b/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 \ No newline at end of file diff --git a/mods/carts/locale/template.txt b/mods/carts/locale/template.txt new file mode 100644 index 0000000..a67d95f --- /dev/null +++ b/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/mods/carts/mod.conf b/mods/carts/mod.conf new file mode 100644 index 0000000..20357e3 --- /dev/null +++ b/mods/carts/mod.conf @@ -0,0 +1,3 @@ +name = carts +description = Carts (formerly boost_cart) +depends = default, player_api diff --git a/mods/carts/rails.lua b/mods/carts/rails.lua index a5fff8a..8bd2ba1 100644 --- a/mods/carts/rails.lua +++ b/mods/carts/rails.lua @@ -1,5 +1,10 @@ +-- carts/rails.lua + +-- support for MT game translation. +local S = carts.get_translator + carts:register_rail("carts:rail", { - description = "Rail", + description = S("Rail"), tiles = { "carts_rail_straight.png", "carts_rail_curved.png", "carts_rail_t_junction.png", "carts_rail_crossing.png" @@ -22,7 +27,7 @@ minetest.register_alias("default:rail", "carts:rail") carts:register_rail("carts:powerrail", { - description = "Powered Rail", + description = S("Powered Rail"), tiles = { "carts_rail_straight_pwr.png", "carts_rail_curved_pwr.png", "carts_rail_t_junction_pwr.png", "carts_rail_crossing_pwr.png" @@ -41,7 +46,7 @@ minetest.register_craft({ carts:register_rail("carts:brakerail", { - description = "Brake Rail", + description = S("Brake Rail"), tiles = { "carts_rail_straight_brk.png", "carts_rail_curved_brk.png", "carts_rail_t_junction_brk.png", "carts_rail_crossing_brk.png" diff --git a/mods/creative/depends.txt b/mods/creative/depends.txt deleted file mode 100644 index 975e652..0000000 --- a/mods/creative/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -sfinv diff --git a/mods/creative/init.lua b/mods/creative/init.lua index 0f8d4db..a1d57c8 100644 --- a/mods/creative/init.lua +++ b/mods/creative/init.lua @@ -1,4 +1,10 @@ +-- 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() @@ -14,7 +20,7 @@ local function update_sfinv(name) end minetest.register_privilege("creative", { - description = "Allow player to use creative inventory", + description = S("Allow player to use creative inventory"), give_to_singleplayer = false, give_to_admin = false, on_grant = update_sfinv, @@ -40,10 +46,8 @@ if creative_mode_cache then local digtime = 42 local caps = {times = {digtime, digtime, digtime}, uses = 0, maxlevel = 256} - minetest.register_item(":", { - type = "none", - wield_image = "wieldhand.png", - wield_scale = {x = 1, y = 1, z = 2.5}, + -- Override the hand tool + minetest.override_item("", { range = 10, tool_capabilities = { full_punch_interval = 0.5, @@ -54,6 +58,9 @@ if creative_mode_cache then 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}, } diff --git a/mods/creative/inventory.lua b/mods/creative/inventory.lua index 6f485d5..27dee78 100644 --- a/mods/creative/inventory.lua +++ b/mods/creative/inventory.lua @@ -1,3 +1,8 @@ +-- creative/inventory.lua + +-- support for MT game translation. +local S = creative.get_translator + local player_inventory = {} local inventory_cache = {} @@ -103,30 +108,29 @@ function creative.register_tab(name, title, items) local start_i = inv.start_i or 0 local pagenum = math.floor(start_i / (3*8) + 1) local pagemax = math.ceil(inv.size / (3*8)) + local esc = minetest.formspec_escape return sfinv.make_formspec(player, context, "label[6.2,3.35;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" .. [[ image[4.06,3.4;0.8,0.8;creative_trash_icon.png] listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] - list[current_player;main;0,4.7;8,1;] - list[current_player;main;0,5.85;8,3;8] list[detached:creative_trash;main;4,3.3;1,1;] listring[] image_button[5.4,3.25;0.8,0.8;creative_prev_icon.png;creative_prev;] image_button[7.2,3.25;0.8,0.8;creative_next_icon.png;creative_next;] image_button[2.1,3.25;0.8,0.8;creative_search_icon.png;creative_search;] image_button[2.75,3.25;0.8,0.8;creative_clear_icon.png;creative_clear;] - tooltip[creative_search;Search] - tooltip[creative_clear;Reset] - tooltip[creative_prev;Previous page] - tooltip[creative_next;Next page] - listring[current_player;main] - field_close_on_enter[creative_filter;false] ]] .. - "field[0.3,3.5;2.2,1;creative_filter;;" .. minetest.formspec_escape(inv.filter) .. "]" .. + "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_close_on_enter[creative_filter;false]" .. + "field[0.3,3.5;2.2,1;creative_filter;;" .. esc(inv.filter) .. "]" .. "listring[detached:creative_" .. player_name .. ";main]" .. "list[detached:creative_" .. player_name .. ";main;0,0;8,3;" .. tostring(start_i) .. "]" .. - default.get_hotbar_bg(0,4.7) .. creative.formspec_add, false) + creative.formspec_add, true) end, on_enter = function(self, player, context) local player_name = player:get_player_name() @@ -176,10 +180,10 @@ function creative.register_tab(name, title, items) }) end -creative.register_tab("all", "All", minetest.registered_items) -creative.register_tab("nodes", "Nodes", minetest.registered_nodes) -creative.register_tab("tools", "Tools", minetest.registered_tools) -creative.register_tab("craftitems", "Items", minetest.registered_craftitems) +creative.register_tab("all", S("All"), minetest.registered_items) +creative.register_tab("nodes", S("Nodes"), minetest.registered_nodes) +creative.register_tab("tools", S("Tools"), minetest.registered_tools) +creative.register_tab("craftitems", S("Items"), minetest.registered_craftitems) local old_homepage_name = sfinv.get_homepage_name function sfinv.get_homepage_name(player) diff --git a/mods/creative/locale/creative.de.tr b/mods/creative/locale/creative.de.tr new file mode 100644 index 0000000..02b0277 --- /dev/null +++ b/mods/creative/locale/creative.de.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Spieler erlauben, das Kreativinventar zu benutzen +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/mods/creative/locale/creative.es.tr b/mods/creative/locale/creative.es.tr new file mode 100644 index 0000000..f4e39a7 --- /dev/null +++ b/mods/creative/locale/creative.es.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Permitir al jugador usar el inventario creativo +Search=Buscar +Reset=Resetear +Previous page=Pág. siguiente +Next page=Pág. anterior +All=Todos +Nodes=Nodos +Tools=Herramientas +Items=Objetos diff --git a/mods/creative/locale/creative.fr.tr b/mods/creative/locale/creative.fr.tr new file mode 100644 index 0000000..695c0a1 --- /dev/null +++ b/mods/creative/locale/creative.fr.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Permettre aux joueurs d'utiliser l'inventaire du mode créatif +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/mods/creative/locale/creative.it.tr b/mods/creative/locale/creative.it.tr new file mode 100644 index 0000000..f972a2b --- /dev/null +++ b/mods/creative/locale/creative.it.tr @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory=Permette al giocatore di usare l'inventario creativo +Search=Cerca +Reset=Azzera +Previous page=Pagina precedente +Next page=Pagina successiva +All=Tutto +Nodes=Nodi +Tools=Strumenti +Items=Oggetti \ No newline at end of file diff --git a/mods/creative/locale/template.txt b/mods/creative/locale/template.txt new file mode 100644 index 0000000..3e79730 --- /dev/null +++ b/mods/creative/locale/template.txt @@ -0,0 +1,10 @@ +# textdomain: creative +Allow player to use creative inventory= +Search= +Reset= +Previous page= +Next page= +All= +Nodes= +Tools= +Items= diff --git a/mods/creative/mod.conf b/mods/creative/mod.conf new file mode 100644 index 0000000..0b3f745 --- /dev/null +++ b/mods/creative/mod.conf @@ -0,0 +1,3 @@ +name = creative +description = Minetest Game mod: creative +depends = default, sfinv diff --git a/mods/default/README.txt b/mods/default/README.txt index 8642b39..1bc899b 100644 --- a/mods/default/README.txt +++ b/mods/default/README.txt @@ -101,8 +101,7 @@ paramat (CC BY-SA 3.0): default_dry_grass.png default_dry_grass_side.png default_dry_grass_*.png - default_grass.png - default_grass_side.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 @@ -129,6 +128,8 @@ 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 diff --git a/mods/default/chests.lua b/mods/default/chests.lua index b70e5ad..8dbf9d8 100644 --- a/mods/default/chests.lua +++ b/mods/default/chests.lua @@ -1,5 +1,8 @@ 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 = @@ -84,7 +87,7 @@ function default.chest.register_chest(name, d) if def.protected then def.on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("infotext", "Locked Chest") + meta:set_string("infotext", S("Locked Chest")) meta:set_string("owner", "") local inv = meta:get_inventory() inv:set_size("main", 8*4) @@ -92,8 +95,7 @@ function default.chest.register_chest(name, d) def.after_place_node = function(pos, placer) local meta = minetest.get_meta(pos) meta:set_string("owner", placer:get_player_name() or "") - meta:set_string("infotext", "Locked Chest (owned by " .. - meta:get_string("owner") .. ")") + 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); @@ -171,7 +173,7 @@ function default.chest.register_chest(name, d) -- verify placer is owner of lockable chest if owner ~= pn then minetest.record_protection_violation(pos, pn) - minetest.chat_send_player(pn, "You do not own this chest.") + minetest.chat_send_player(pn, S("You do not own this chest.")) return nil end @@ -181,12 +183,12 @@ function default.chest.register_chest(name, d) meta:set_string("key_lock_secret", secret) end - return secret, "a locked chest", owner + return secret, S("a locked chest"), owner end else def.on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("infotext", "Chest") + meta:set_string("infotext", S("Chest")) local inv = meta:get_inventory() inv:set_size("main", 8*4) end @@ -285,7 +287,7 @@ function default.chest.register_chest(name, d) end default.chest.register_chest("chest", { - description = "Chest", + description = S("Chest"), tiles = { "default_chest_top.png", "default_chest_top.png", @@ -301,7 +303,7 @@ default.chest.register_chest("chest", { }) default.chest.register_chest("chest_locked", { - description = "Locked Chest", + description = S("Locked Chest"), tiles = { "default_chest_top.png", "default_chest_top.png", diff --git a/mods/default/crafting.lua b/mods/default/crafting.lua index b49dc48..9481133 100644 --- a/mods/default/crafting.lua +++ b/mods/default/crafting.lua @@ -1,51 +1,51 @@ -- mods/default/crafting.lua minetest.register_craft({ - output = 'default:wood 4', + output = "default:wood 4", recipe = { - {'default:tree'}, + {"default:tree"}, } }) minetest.register_craft({ - output = 'default:junglewood 4', + output = "default:junglewood 4", recipe = { - {'default:jungletree'}, + {"default:jungletree"}, } }) minetest.register_craft({ - output = 'default:pine_wood 4', + output = "default:pine_wood 4", recipe = { - {'default:pine_tree'}, + {"default:pine_tree"}, } }) minetest.register_craft({ - output = 'default:acacia_wood 4', + output = "default:acacia_wood 4", recipe = { - {'default:acacia_tree'}, + {"default:acacia_tree"}, } }) minetest.register_craft({ - output = 'default:aspen_wood 4', + output = "default:aspen_wood 4", recipe = { - {'default:aspen_tree'}, + {"default:aspen_tree"}, } }) minetest.register_craft({ - output = 'default:wood', + output = "default:wood", recipe = { - {'default:bush_stem'}, + {"default:bush_stem"}, } }) minetest.register_craft({ - output = 'default:acacia_wood', + output = "default:acacia_wood", recipe = { - {'default:acacia_bush_stem'}, + {"default:acacia_bush_stem"}, } }) @@ -57,143 +57,143 @@ minetest.register_craft({ }) minetest.register_craft({ - output = 'default:stick 4', + output = "default:stick 4", recipe = { - {'group:wood'}, + {"group:wood"}, } }) minetest.register_craft({ - output = 'default:sign_wall_steel 3', + 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', ''}, + {"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', + output = "default:sign_wall_wood 3", recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, - {'', 'group:stick', ''}, + {"group:wood", "group:wood", "group:wood"}, + {"group:wood", "group:wood", "group:wood"}, + {"", "group:stick", ""}, } }) minetest.register_craft({ - output = 'default:torch 4', + output = "default:torch 4", recipe = { - {'default:coal_lump'}, - {'group:stick'}, + {"default:coal_lump"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:pick_wood', + output = "default:pick_wood", recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, + {"group:wood", "group:wood", "group:wood"}, + {"", "group:stick", ""}, + {"", "group:stick", ""}, } }) minetest.register_craft({ - output = 'default:pick_stone', + output = "default:pick_stone", recipe = { - {'group:stone', 'group:stone', 'group:stone'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, + {"group:stone", "group:stone", "group:stone"}, + {"", "group:stick", ""}, + {"", "group:stick", ""}, } }) minetest.register_craft({ - output = 'default:pick_steel', + output = "default:pick_steel", recipe = { - {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"", "group:stick", ""}, + {"", "group:stick", ""}, } }) minetest.register_craft({ - output = 'default:pick_bronze', + output = "default:pick_bronze", recipe = { - {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, + {"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"}, + {"", "group:stick", ""}, + {"", "group:stick", ""}, } }) minetest.register_craft({ - output = 'default:pick_mese', + output = "default:pick_mese", recipe = { - {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, + {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, + {"", "group:stick", ""}, + {"", "group:stick", ""}, } }) minetest.register_craft({ - output = 'default:pick_diamond', + output = "default:pick_diamond", recipe = { - {'default:diamond', 'default:diamond', 'default:diamond'}, - {'', 'group:stick', ''}, - {'', 'group:stick', ''}, + {"default:diamond", "default:diamond", "default:diamond"}, + {"", "group:stick", ""}, + {"", "group:stick", ""}, } }) minetest.register_craft({ - output = 'default:shovel_wood', + output = "default:shovel_wood", recipe = { - {'group:wood'}, - {'group:stick'}, - {'group:stick'}, + {"group:wood"}, + {"group:stick"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:shovel_stone', + output = "default:shovel_stone", recipe = { - {'group:stone'}, - {'group:stick'}, - {'group:stick'}, + {"group:stone"}, + {"group:stick"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:shovel_steel', + output = "default:shovel_steel", recipe = { - {'default:steel_ingot'}, - {'group:stick'}, - {'group:stick'}, + {"default:steel_ingot"}, + {"group:stick"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:shovel_bronze', + output = "default:shovel_bronze", recipe = { - {'default:bronze_ingot'}, - {'group:stick'}, - {'group:stick'}, + {"default:bronze_ingot"}, + {"group:stick"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:shovel_mese', + output = "default:shovel_mese", recipe = { - {'default:mese_crystal'}, - {'group:stick'}, - {'group:stick'}, + {"default:mese_crystal"}, + {"group:stick"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:shovel_diamond', + output = "default:shovel_diamond", recipe = { - {'default:diamond'}, - {'group:stick'}, - {'group:stick'}, + {"default:diamond"}, + {"group:stick"}, + {"group:stick"}, } }) @@ -201,135 +201,135 @@ minetest.register_craft({ -- Recipes face left to match appearence in textures and inventory minetest.register_craft({ - output = 'default:axe_wood', + output = "default:axe_wood", recipe = { - {'group:wood', 'group:wood'}, - {'group:wood', 'group:stick'}, - {'', 'group:stick'}, + {"group:wood", "group:wood"}, + {"group:wood", "group:stick"}, + {"", "group:stick"}, } }) minetest.register_craft({ - output = 'default:axe_stone', + output = "default:axe_stone", recipe = { - {'group:stone', 'group:stone'}, - {'group:stone', 'group:stick'}, - {'', 'group:stick'}, + {"group:stone", "group:stone"}, + {"group:stone", "group:stick"}, + {"", "group:stick"}, } }) minetest.register_craft({ - output = 'default:axe_steel', + output = "default:axe_steel", recipe = { - {'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'group:stick'}, - {'', 'group:stick'}, + {"default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "group:stick"}, + {"", "group:stick"}, } }) minetest.register_craft({ - output = 'default:axe_bronze', + output = "default:axe_bronze", recipe = { - {'default:bronze_ingot', 'default:bronze_ingot'}, - {'default:bronze_ingot', 'group:stick'}, - {'', 'group:stick'}, + {"default:bronze_ingot", "default:bronze_ingot"}, + {"default:bronze_ingot", "group:stick"}, + {"", "group:stick"}, } }) minetest.register_craft({ - output = 'default:axe_mese', + output = "default:axe_mese", recipe = { - {'default:mese_crystal', 'default:mese_crystal'}, - {'default:mese_crystal', 'group:stick'}, - {'', 'group:stick'}, + {"default:mese_crystal", "default:mese_crystal"}, + {"default:mese_crystal", "group:stick"}, + {"", "group:stick"}, } }) minetest.register_craft({ - output = 'default:axe_diamond', + output = "default:axe_diamond", recipe = { - {'default:diamond', 'default:diamond'}, - {'default:diamond', 'group:stick'}, - {'', 'group:stick'}, + {"default:diamond", "default:diamond"}, + {"default:diamond", "group:stick"}, + {"", "group:stick"}, } }) minetest.register_craft({ - output = 'default:sword_wood', + output = "default:sword_wood", recipe = { - {'group:wood'}, - {'group:wood'}, - {'group:stick'}, + {"group:wood"}, + {"group:wood"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:sword_stone', + output = "default:sword_stone", recipe = { - {'group:stone'}, - {'group:stone'}, - {'group:stick'}, + {"group:stone"}, + {"group:stone"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:sword_steel', + output = "default:sword_steel", recipe = { - {'default:steel_ingot'}, - {'default:steel_ingot'}, - {'group:stick'}, + {"default:steel_ingot"}, + {"default:steel_ingot"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:sword_bronze', + output = "default:sword_bronze", recipe = { - {'default:bronze_ingot'}, - {'default:bronze_ingot'}, - {'group:stick'}, + {"default:bronze_ingot"}, + {"default:bronze_ingot"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:sword_mese', + output = "default:sword_mese", recipe = { - {'default:mese_crystal'}, - {'default:mese_crystal'}, - {'group:stick'}, + {"default:mese_crystal"}, + {"default:mese_crystal"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:sword_diamond', + output = "default:sword_diamond", recipe = { - {'default:diamond'}, - {'default:diamond'}, - {'group:stick'}, + {"default:diamond"}, + {"default:diamond"}, + {"group:stick"}, } }) minetest.register_craft({ - output = 'default:skeleton_key', + output = "default:skeleton_key", recipe = { - {'default:gold_ingot'}, + {"default:gold_ingot"}, } }) minetest.register_craft({ - output = 'default:chest', + output = "default:chest", recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', '', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, + {"group:wood", "group:wood", "group:wood"}, + {"group:wood", "", "group:wood"}, + {"group:wood", "group:wood", "group:wood"}, } }) minetest.register_craft({ - output = 'default:chest_locked', + output = "default:chest_locked", recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'default:steel_ingot', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, + {"group:wood", "group:wood", "group:wood"}, + {"group:wood", "default:steel_ingot", "group:wood"}, + {"group:wood", "group:wood", "group:wood"}, } }) @@ -340,59 +340,59 @@ minetest.register_craft( { }) minetest.register_craft({ - output = 'default:furnace', + output = "default:furnace", recipe = { - {'group:stone', 'group:stone', 'group:stone'}, - {'group:stone', '', 'group:stone'}, - {'group:stone', 'group:stone', 'group:stone'}, + {"group:stone", "group:stone", "group:stone"}, + {"group:stone", "", "group:stone"}, + {"group:stone", "group:stone", "group:stone"}, } }) minetest.register_craft({ - output = 'default:coalblock', + 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'}, + {"default:coal_lump", "default:coal_lump", "default:coal_lump"}, + {"default:coal_lump", "default:coal_lump", "default:coal_lump"}, + {"default:coal_lump", "default:coal_lump", "default:coal_lump"}, } }) minetest.register_craft({ - output = 'default:coal_lump 9', + output = "default:coal_lump 9", recipe = { - {'default:coalblock'}, + {"default:coalblock"}, } }) minetest.register_craft({ - output = 'default:steelblock', + 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'}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, } }) minetest.register_craft({ - output = 'default:steel_ingot 9', + output = "default:steel_ingot 9", recipe = { - {'default:steelblock'}, + {"default:steelblock"}, } }) minetest.register_craft({ - output = 'default:copperblock', + 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'}, + {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, + {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, + {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, } }) minetest.register_craft({ - output = 'default:copper_ingot 9', + output = "default:copper_ingot 9", recipe = { - {'default:copperblock'}, + {"default:copperblock"}, } }) @@ -422,50 +422,50 @@ minetest.register_craft({ }) minetest.register_craft({ - output = 'default:bronzeblock', + 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'}, + {"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', + output = "default:bronze_ingot 9", recipe = { - {'default:bronzeblock'}, + {"default:bronzeblock"}, } }) minetest.register_craft({ - output = 'default:goldblock', + 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'}, + {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, + {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, + {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, } }) minetest.register_craft({ - output = 'default:gold_ingot 9', + output = "default:gold_ingot 9", recipe = { - {'default:goldblock'}, + {"default:goldblock"}, } }) minetest.register_craft({ - output = 'default:diamondblock', + output = "default:diamondblock", recipe = { - {'default:diamond', 'default:diamond', 'default:diamond'}, - {'default:diamond', 'default:diamond', 'default:diamond'}, - {'default:diamond', 'default:diamond', 'default:diamond'}, + {"default:diamond", "default:diamond", "default:diamond"}, + {"default:diamond", "default:diamond", "default:diamond"}, + {"default:diamond", "default:diamond", "default:diamond"}, } }) minetest.register_craft({ - output = 'default:diamond 9', + output = "default:diamond 9", recipe = { - {'default:diamondblock'}, + {"default:diamondblock"}, } }) @@ -566,57 +566,57 @@ minetest.register_craft({ }) minetest.register_craft({ - output = 'default:clay', + output = "default:clay", recipe = { - {'default:clay_lump', 'default:clay_lump'}, - {'default:clay_lump', 'default:clay_lump'}, + {"default:clay_lump", "default:clay_lump"}, + {"default:clay_lump", "default:clay_lump"}, } }) minetest.register_craft({ - output = 'default:clay_lump 4', + output = "default:clay_lump 4", recipe = { - {'default:clay'}, + {"default:clay"}, } }) minetest.register_craft({ - output = 'default:brick', + output = "default:brick", recipe = { - {'default:clay_brick', 'default:clay_brick'}, - {'default:clay_brick', 'default:clay_brick'}, + {"default:clay_brick", "default:clay_brick"}, + {"default:clay_brick", "default:clay_brick"}, } }) minetest.register_craft({ - output = 'default:clay_brick 4', + output = "default:clay_brick 4", recipe = { - {'default:brick'}, + {"default:brick"}, } }) minetest.register_craft({ - output = 'default:paper', + output = "default:paper", recipe = { - {'default:papyrus', 'default:papyrus', 'default:papyrus'}, + {"default:papyrus", "default:papyrus", "default:papyrus"}, } }) minetest.register_craft({ - output = 'default:book', + output = "default:book", recipe = { - {'default:paper'}, - {'default:paper'}, - {'default:paper'}, + {"default:paper"}, + {"default:paper"}, + {"default:paper"}, } }) minetest.register_craft({ - output = 'default:bookshelf', + output = "default:bookshelf", recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'default:book', 'default:book', 'default:book'}, - {'group:wood', 'group:wood', 'group:wood'}, + {"group:wood", "group:wood", "group:wood"}, + {"default:book", "default:book", "default:book"}, + {"group:wood", "group:wood", "group:wood"}, } }) @@ -630,34 +630,34 @@ minetest.register_craft({ }) minetest.register_craft({ - output = 'default:ladder_steel 15', + 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'}, + {"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', + 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'}, + {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, + {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, + {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, } }) minetest.register_craft({ - output = 'default:mese_crystal 9', + output = "default:mese_crystal 9", recipe = { - {'default:mese'}, + {"default:mese"}, } }) minetest.register_craft({ - output = 'default:mese_crystal_fragment 9', + output = "default:mese_crystal_fragment 9", recipe = { - {'default:mese_crystal'}, + {"default:mese_crystal"}, } }) @@ -671,10 +671,10 @@ minetest.register_craft({ }) minetest.register_craft({ - output = 'default:meselamp', + output = "default:meselamp", recipe = { - {'default:glass'}, - {'default:mese_crystal'}, + {"default:glass"}, + {"default:mese_crystal"}, } }) @@ -688,85 +688,85 @@ minetest.register_craft({ }) minetest.register_craft({ - output = 'default:obsidian_shard 9', + output = "default:obsidian_shard 9", recipe = { - {'default:obsidian'} + {"default:obsidian"} } }) minetest.register_craft({ - output = 'default:obsidian', + 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'}, + {"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', + output = "default:obsidianbrick 4", recipe = { - {'default:obsidian', 'default:obsidian'}, - {'default:obsidian', 'default:obsidian'} + {"default:obsidian", "default:obsidian"}, + {"default:obsidian", "default:obsidian"} } }) minetest.register_craft({ - output = 'default:obsidian_block 9', + output = "default:obsidian_block 9", recipe = { - {'default:obsidian', 'default:obsidian', 'default:obsidian'}, - {'default:obsidian', 'default:obsidian', 'default:obsidian'}, - {'default:obsidian', 'default:obsidian', 'default:obsidian'}, + {"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', + output = "default:stonebrick 4", recipe = { - {'default:stone', 'default:stone'}, - {'default:stone', 'default:stone'}, + {"default:stone", "default:stone"}, + {"default:stone", "default:stone"}, } }) minetest.register_craft({ - output = 'default:stone_block 9', + output = "default:stone_block 9", recipe = { - {'default:stone', 'default:stone', 'default:stone'}, - {'default:stone', 'default:stone', 'default:stone'}, - {'default:stone', 'default:stone', 'default:stone'}, + {"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', + output = "default:desert_stonebrick 4", 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"}, } }) minetest.register_craft({ - output = 'default:desert_stone_block 9', + 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'}, + {"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', + output = "default:snowblock", recipe = { - {'default:snow', 'default:snow', 'default:snow'}, - {'default:snow', 'default:snow', 'default:snow'}, - {'default:snow', 'default:snow', 'default:snow'}, + {"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', + output = "default:snow 9", recipe = { - {'default:snowblock'}, + {"default:snowblock"}, } }) @@ -864,16 +864,16 @@ minetest.register_craft({ }) minetest.register_craft({ - type = 'cooking', - output = 'default:gold_ingot', - recipe = 'default:skeleton_key', + type = "cooking", + output = "default:gold_ingot", + recipe = "default:skeleton_key", cooktime = 5, }) minetest.register_craft({ - type = 'cooking', - output = 'default:gold_ingot', - recipe = 'default:key', + type = "cooking", + output = "default:gold_ingot", + recipe = "default:key", cooktime = 5, }) diff --git a/mods/default/craftitems.lua b/mods/default/craftitems.lua index 6a1b570..e2e92bf 100644 --- a/mods/default/craftitems.lua +++ b/mods/default/craftitems.lua @@ -1,13 +1,16 @@ -- mods/default/craftitems.lua +-- support for MT game translation. +local S = default.get_translator + minetest.register_craftitem("default:stick", { - description = "Stick", + description = S("Stick"), inventory_image = "default_stick.png", groups = {stick = 1, flammable = 2}, }) minetest.register_craftitem("default:paper", { - description = "Paper", + description = S("Paper"), inventory_image = "default_paper.png", groups = {flammable = 3}, }) @@ -49,23 +52,24 @@ local function book_on_use(itemstack, user) end local formspec + local esc = minetest.formspec_escape if owner == player_name then formspec = "size[8,8]" .. - "field[0.5,1;7.5,0;title;Title:;" .. - minetest.formspec_escape(title) .. "]" .. - "textarea[0.5,1.5;7.5,7;text;Contents:;" .. - minetest.formspec_escape(text) .. "]" .. - "button_exit[2.5,7.5;3,1;save;Save]" + "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")) .. "]" else formspec = "size[8,8]" .. - "label[0.5,0.5;by " .. owner .. "]" .. + "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," .. minetest.formspec_escape(title) .. "]" .. + "table[0.4,0;7,0.5;title;#FFFF00," .. esc(title) .. "]" .. "textarea[0.5,1.5;7.5,7;;" .. minetest.formspec_escape(string ~= "" and string or text) .. ";]" .. "button[2.4,7.6;0.8,0.8;book_prev;<]" .. - "label[3.2,7.7;Page " .. page .. " of " .. page_max .. "]" .. + "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 @@ -108,7 +112,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if #short_title > short_title_size + 3 then short_title = short_title:sub(1, short_title_size) .. "..." end - data.description = "\""..short_title.."\" by "..data.owner + data.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.page = 1 @@ -155,14 +159,14 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end) minetest.register_craftitem("default:book", { - description = "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 = "Book With Text", + description = S("Book with Text"), inventory_image = "default_book_written.png", groups = {book = 1, not_in_creative_inventory = 1, flammable = 3}, stack_max = 1, @@ -199,7 +203,7 @@ minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv end) minetest.register_craftitem("default:skeleton_key", { - description = "Skeleton Key", + description = S("Skeleton Key"), inventory_image = "default_key_skeleton.png", groups = {key = 1}, on_use = function(itemstack, user, pointed_thing) @@ -238,8 +242,8 @@ minetest.register_craftitem("default:skeleton_key", { local new_stack = ItemStack("default:key") local meta = new_stack:get_meta() meta:set_string("secret", secret) - meta:set_string("description", "Key to "..user:get_player_name().."'s " - ..minetest.registered_nodes[node.name].description) + 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 @@ -255,93 +259,94 @@ minetest.register_craftitem("default:skeleton_key", { }) minetest.register_craftitem("default:coal_lump", { - description = "Coal Lump", + description = S("Coal Lump"), inventory_image = "default_coal_lump.png", groups = {coal = 1, flammable = 1} }) minetest.register_craftitem("default:iron_lump", { - description = "Iron Lump", - inventory_image = "default_iron_lump.png", + description = S("Iron Lump"), + inventory_image = "default_iron_lump.png" }) minetest.register_craftitem("default:copper_lump", { - description = "Copper Lump", - inventory_image = "default_copper_lump.png", + description = S("Copper Lump"), + inventory_image = "default_copper_lump.png" }) minetest.register_craftitem("default:tin_lump", { - description = "Tin Lump", - inventory_image = "default_tin_lump.png", + description = S("Tin Lump"), + inventory_image = "default_tin_lump.png" }) minetest.register_craftitem("default:mese_crystal", { - description = "Mese Crystal", + description = S("Mese Crystal"), inventory_image = "default_mese_crystal.png", }) minetest.register_craftitem("default:gold_lump", { - description = "Gold Lump", - inventory_image = "default_gold_lump.png", + description = S("Gold Lump"), + inventory_image = "default_gold_lump.png" }) minetest.register_craftitem("default:diamond", { - description = "Diamond", + description = S("Diamond"), inventory_image = "default_diamond.png", }) minetest.register_craftitem("default:clay_lump", { - description = "Clay Lump", + description = S("Clay Lump"), inventory_image = "default_clay_lump.png", }) minetest.register_craftitem("default:steel_ingot", { - description = "Steel Ingot", - inventory_image = "default_steel_ingot.png", + description = S("Steel Ingot"), + inventory_image = "default_steel_ingot.png" }) minetest.register_craftitem("default:copper_ingot", { - description = "Copper Ingot", - inventory_image = "default_copper_ingot.png", + description = S("Copper Ingot"), + inventory_image = "default_copper_ingot.png" }) minetest.register_craftitem("default:tin_ingot", { - description = "Tin Ingot", - inventory_image = "default_tin_ingot.png", + description = S("Tin Ingot"), + inventory_image = "default_tin_ingot.png" }) minetest.register_craftitem("default:bronze_ingot", { - description = "Bronze Ingot", - inventory_image = "default_bronze_ingot.png", + description = S("Bronze Ingot"), + inventory_image = "default_bronze_ingot.png" }) minetest.register_craftitem("default:gold_ingot", { - description = "Gold Ingot", + description = S("Gold Ingot"), inventory_image = "default_gold_ingot.png" }) minetest.register_craftitem("default:mese_crystal_fragment", { - description = "Mese Crystal Fragment", + description = S("Mese Crystal Fragment"), inventory_image = "default_mese_crystal_fragment.png", }) minetest.register_craftitem("default:clay_brick", { - description = "Clay Brick", + description = S("Clay Brick"), inventory_image = "default_clay_brick.png", }) minetest.register_craftitem("default:obsidian_shard", { - description = "Obsidian Shard", + description = S("Obsidian Shard"), inventory_image = "default_obsidian_shard.png", }) minetest.register_craftitem("default:flint", { - description = "Flint", + description = S("Flint"), inventory_image = "default_flint.png" }) minetest.register_craftitem("default:blueberries", { - description = "Blueberries", + description = S("Blueberries"), inventory_image = "default_blueberries.png", + groups = {food_blueberries = 1, food_berry = 1}, on_use = minetest.item_eat(2), }) diff --git a/mods/default/depends.txt b/mods/default/depends.txt deleted file mode 100644 index e1c3818..0000000 --- a/mods/default/depends.txt +++ /dev/null @@ -1 +0,0 @@ -player_api? diff --git a/mods/default/functions.lua b/mods/default/functions.lua index 1165c89..91f8bb3 100644 --- a/mods/default/functions.lua +++ b/mods/default/functions.lua @@ -273,6 +273,7 @@ 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) minetest.register_craft({ @@ -291,17 +292,27 @@ function default.register_fence(name, def) drawtype = "nodebox", node_box = { type = "connected", - fixed = {{-1/8, -1/2, -1/8, 1/8, 1/2, 1/8}}, + 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}}, + 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, @@ -349,24 +360,28 @@ function default.register_fence_rail(name, def) 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} - }, + 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}}, + 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, @@ -399,7 +414,7 @@ end -- Prevent decay of placed leaves default.after_place_leaves = function(pos, placer, itemstack, pointed_thing) - if placer and placer:is_player() and not placer:get_player_control().sneak then + if placer and placer:is_player() then local node = minetest.get_node(pos) node.param2 = 1 minetest.set_node(pos, node) @@ -412,7 +427,7 @@ local function leafdecay_after_destruct(pos, oldnode, def) vector.add(pos, def.radius), def.leaves)) do local node = minetest.get_node(v) local timer = minetest.get_node_timer(v) - if node.param2 == 0 and not timer:is_started() then + if node.param2 ~= 1 and not timer:is_started() then timer:start(math.random(20, 120) / 10) end end @@ -477,7 +492,6 @@ minetest.register_abm({ neighbors = { "air", "group:grass", - "group:dry_grass", "default:snow", }, interval = 6, @@ -504,11 +518,8 @@ minetest.register_abm({ -- Snow check is cheapest, so comes first if name == "default:snow" then minetest.set_node(pos, {name = "default:dirt_with_snow"}) - -- Most likely case first elseif minetest.get_item_group(name, "grass") ~= 0 then minetest.set_node(pos, {name = "default:dirt_with_grass"}) - elseif minetest.get_item_group(name, "dry_grass") ~= 0 then - minetest.set_node(pos, {name = "default:dirt_with_dry_grass"}) end end }) @@ -520,7 +531,7 @@ minetest.register_abm({ minetest.register_abm({ label = "Grass covered", - nodenames = {"group:spreading_dirt_type"}, + nodenames = {"group:spreading_dirt_type", "default:dry_dirt_with_dry_grass"}, interval = 8, chance = 50, catch_up = false, @@ -531,7 +542,11 @@ minetest.register_abm({ if name ~= "ignore" and nodedef and not ((nodedef.sunlight_propagates or nodedef.paramtype == "light") and nodedef.liquidtype == "none") then - minetest.set_node(pos, {name = "default:dirt"}) + 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 }) @@ -541,22 +556,27 @@ minetest.register_abm({ -- 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", "walls:cobble"}, + 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) - if node.name == "default:cobble" then - minetest.set_node(pos, {name = "default:mossycobble"}) - elseif node.name == "stairs:slab_cobble" then - minetest.set_node(pos, {name = "stairs:slab_mossycobble", param2 = node.param2}) - elseif node.name == "stairs:stair_cobble" then - minetest.set_node(pos, {name = "stairs:stair_mossycobble", param2 = node.param2}) - elseif node.name == "walls:cobble" then - minetest.set_node(pos, {name = "walls:mossycobble", param2 = node.param2}) + node.name = moss_correspondences[node.name] + if node.name then + minetest.set_node(pos, node) end end }) @@ -568,7 +588,7 @@ minetest.register_abm({ -- function default.can_interact_with_node(player, pos) - if player then + if player and player:is_player() then if minetest.check_player_privs(player, "protection_bypass") then return true end diff --git a/mods/default/furnace.lua b/mods/default/furnace.lua index a06f3b2..d133a3a 100644 --- a/mods/default/furnace.lua +++ b/mods/default/furnace.lua @@ -1,3 +1,7 @@ +-- default/furnace.lua + +-- support for MT game translation. +local S = default.get_translator -- -- Formspecs @@ -8,7 +12,7 @@ function default.get_furnace_active_formspec(fuel_percent, item_percent) "list[context;src;2.75,0.5;1,1;]".. "list[context;fuel;2.75,2.5;1,1;]".. "image[2.75,1.5;1,1;default_furnace_fire_bg.png^[lowpart:".. - (100-fuel_percent)..":default_furnace_fire_fg.png]".. + (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;]".. @@ -60,7 +64,7 @@ local function allow_metadata_inventory_put(pos, listname, index, stack, player) if listname == "fuel" then if minetest.get_craft_result({method="fuel", width=1, items={stack}}).time ~= 0 then if inv:is_empty("src") then - meta:set_string("infotext", "Furnace is empty") + meta:set_string("infotext", S("Furnace is empty")) end return stack:get_count() else @@ -98,7 +102,7 @@ end local function furnace_node_timer(pos, elapsed) -- - -- Inizialize metadata + -- Initialize metadata -- local meta = minetest.get_meta(pos) local fuel_time = meta:get_float("fuel_time") or 0 @@ -107,6 +111,7 @@ local function furnace_node_timer(pos, elapsed) local inv = meta:get_inventory() local srclist, fuellist + local dst_full = false local cookable, cooked local fuel @@ -146,6 +151,8 @@ local function furnace_node_timer(pos, elapsed) inv:set_stack("src", 1, aftercooked.items[1]) src_time = src_time - cooked.time update = true + else + dst_full = true end else -- Item could not be cooked: probably missing fuel @@ -166,6 +173,16 @@ local function furnace_node_timer(pos, elapsed) else -- Take fuel from fuel list inv:set_stack("fuel", 1, afterfuel.items[1]) + -- 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 @@ -183,7 +200,7 @@ local function furnace_node_timer(pos, elapsed) if fuel and fuel_totaltime > fuel.time then fuel_totaltime = fuel.time end - if srclist[1]:is_empty() then + if srclist and srclist[1]:is_empty() then src_time = 0 end @@ -195,34 +212,34 @@ local function furnace_node_timer(pos, elapsed) local item_percent = 0 if cookable then item_percent = math.floor(src_time / cooked.time * 100) - if item_percent > 100 then - item_state = "100% (output full)" + if dst_full then + item_state = S("100% (output full)") else - item_state = item_percent .. "%" + item_state = S("@1%", item_percent) end else - if srclist[1]:is_empty() then - item_state = "Empty" + if srclist and not srclist[1]:is_empty() then + item_state = S("Not cookable") else - item_state = "Not cookable" + item_state = S("Empty") end end - local fuel_state = "Empty" - local active = "inactive" + local fuel_state = S("Empty") + local active = false local result = false if fuel_totaltime ~= 0 then - active = "active" - local fuel_percent = math.floor(fuel_time / fuel_totaltime * 100) - fuel_state = fuel_percent .. "%" + 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 else - if not fuellist[1]:is_empty() then - fuel_state = "0%" + 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") @@ -230,8 +247,14 @@ local function furnace_node_timer(pos, elapsed) minetest.get_node_timer(pos):stop() end - local infotext = "Furnace " .. active .. "\n(Item: " .. item_state .. - "; Fuel: " .. fuel_state .. ")" + + 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 @@ -250,7 +273,7 @@ end -- minetest.register_node("default:furnace", { - description = "Furnace", + description = S("Furnace"), tiles = { "default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png", "default_furnace_side.png", @@ -268,11 +291,11 @@ minetest.register_node("default:furnace", { on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("formspec", default.get_furnace_inactive_formspec()) local inv = meta:get_inventory() inv:set_size('src', 1) inv:set_size('fuel', 1) inv:set_size('dst', 4) + furnace_node_timer(pos, 0) end, on_metadata_inventory_move = function(pos) @@ -298,7 +321,7 @@ minetest.register_node("default:furnace", { }) minetest.register_node("default:furnace_active", { - description = "Furnace", + description = S("Furnace"), tiles = { "default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png", "default_furnace_side.png", diff --git a/mods/default/init.lua b/mods/default/init.lua index b89fd0e..a487383 100644 --- a/mods/default/init.lua +++ b/mods/default/init.lua @@ -3,16 +3,21 @@ -- 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 -- GUI related stuff minetest.register_on_joinplayer(function(player) player:set_formspec_prepend([[ bgcolor[#080808BB;true] background[5,5;1,1;gui_formbg.png;true] + background9[5,5;1,1;gui_formbg.png;true;10] listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]]) end) diff --git a/mods/default/legacy.lua b/mods/default/legacy.lua index 935d857..a2d812d 100644 --- a/mods/default/legacy.lua +++ b/mods/default/legacy.lua @@ -45,5 +45,5 @@ default.register_chest = default.chest.register_chest function default.intersects_protection(minp, maxp, player_name, interval) minetest.log("warning", "default.intersects_protection() is " .. "deprecated, use minetest.is_area_protected() instead.") - minetest.is_area_protected(minp, maxp, player_name, interval) + return minetest.is_area_protected(minp, maxp, player_name, interval) end diff --git a/mods/default/locale/default.de.tr b/mods/default/locale/default.de.tr new file mode 100644 index 0000000..c842b85 --- /dev/null +++ b/mods/default/locale/default.de.tr @@ -0,0 +1,211 @@ +# 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 +Stick=Stock +Paper=Papier +"@1" by @2=„@1“ von @2 +Book=Buch +Book with Text=Buch mit Text +Skeleton Key=Skelettschlüssel +Key to @1's @2=Schlüssel für @2 von @1 +Coal Lump=Kohleklumpen +Iron Lump=Eisenklumpen +Copper Lump=Kupferklumpen +Tin Lump=Zinnklumpen +Mese Crystal=Mesekristall +Gold Lump=Goldklumpen +Diamond=Diamant +Clay Lump=Tonklumpen +Steel Ingot=Stahlbarren +Copper Ingot=Kupferbarren +Tin Ingot=Zinnbarren +Bronze Ingot=Bronzebarren +Gold Ingot=Goldbarren +Mese Crystal Fragment=Mesekristallfragment +Clay Brick=Tonziegel +Obsidian Shard=Obsidianscherbe +Flint=Feuerstein +Blueberries=Blaubeeren +Furnace is empty=Ofen ist leer +100% (output full)=100% (Ausgabe voll) +@1%=@1% +Empty=Leer +Not cookable=Nicht kochbar +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=Mosiges 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 Dry Grass=Erde mit trockenem Gras +Dirt with Snow=Erde mit Schnee +Dirt with Rainforest Litter=Erde mit Regenwaldboden +Dirt with Coniferous Litter=Erde mit Nadelwaldboden +Dry Dirt=Trockene Erde +Dry Dirt with Dry Grass=Trockene Erde mit trockenem Gras +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=Esepenbaumsetzling +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 +Dry Grass=Trockenes Gras +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 +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 +Mese Post Light=Mesestandlampe +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 +Key=Schlüssel +Torch=Fackel +@1 will intersect protection on growth.=@1 wird bei Wachstum mit geschützter Zone überlappen. +Title:=Titel: +Contents:=Inhalt: +Save=Speichern +by @1=von @1 +Page @1 of @2=Seite @1 von @2 +"@1"=„@1“ diff --git a/mods/default/locale/default.es.tr b/mods/default/locale/default.es.tr new file mode 100644 index 0000000..e55c133 --- /dev/null +++ b/mods/default/locale/default.es.tr @@ -0,0 +1,211 @@ +# 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 +Stick=Palo +Paper=Papel +"@1" by @2="@1" por @2 +Book=Libro +Book with Text=Libro escrito +Skeleton Key=Llave esqueleto +Key to @1's @2=Llave para @2 de @1 +Coal Lump=Fragmento de carbón +Iron Lump=Pepita de hierro +Copper Lump=Pepita de cobre +Tin Lump=Pepita de estaño +Mese Crystal=Cristal de mese +Gold Lump=Pepita de oro +Diamond=Diamante +Clay Lump=Fragmento de arcilla +Steel Ingot=Lingote de acero +Copper Ingot=Lingote de cobre +Tin Ingot=Lingote de estaño +Bronze Ingot=Lingote de bronce +Gold Ingot=Lingote de oro +Mese Crystal Fragment=Fragmento de cristal de mese +Clay Brick=Ladrillo de arcilla +Obsidian Shard=Esquirla de obsidiana +Flint=Pedernal +Blueberries=Arándanos +Furnace is empty=El horno está vacío +100% (output full)=100% (salida completa) +@1%=@1% +Empty=Vacío +Not cookable=No se puede cocinar +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 Dry Grass=Tierra con pasto seco +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 +Dry Dirt=Tierra Seca +Dry Dirt with Dry Grass=Tierra seca con pasto seco +Permafrost=Permafrost +Permafrost with Stones=Permafrost pedregoso +Permafrost with Moss=Permafrost musgoso +Sand=Arena +Desert Sand=Arena desértica +Silver Sand=Arena plateada +Gravel=Gravilla +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 +Dry Grass=Pasto seco +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 +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 +Mese Post Light=Poste de luz de mese +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 +Key=Llave +Torch=Antorcha +@1 will intersect protection on growth.=@1 intersectará con protección cuando crezca. +Title:=Título: +Contents:=Contenidos: +Save=Guardar +by @1=por @1 +Page @1 of @2=Página @1 de @2 +"@1"="@1" diff --git a/mods/default/locale/default.fr.tr b/mods/default/locale/default.fr.tr new file mode 100644 index 0000000..2214e37 --- /dev/null +++ b/mods/default/locale/default.fr.tr @@ -0,0 +1,211 @@ +# 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 +Stick=Baton +Paper=Papier +"@1" by @2=« @1 » de @2 +Book=Livre +Book with Text=Livre avec du texte +Skeleton Key=Squelette +Key to @1's @2=Clé pour @2 de @1 +Coal Lump=Morceau de charbon +Iron Lump=Morceau de fer +Copper Lump=Morceau de cuivre +Tin Lump=Morceau d'étain +Mese Crystal=Cristal de Mese +Gold Lump=Morceau d'or +Diamond=Diamant +Clay Lump=Morceau d'argile +Steel Ingot=Lingot d'acier +Copper Ingot=Lingot de cuivre +Tin Ingot=Lingot d'étain +Bronze Ingot=Lingot de bronze +Gold Ingot=Lingot d'or +Mese Crystal Fragment=Fragment de cristal de Mese +Clay Brick=Brique d'argile +Obsidian Shard=Tesson d'obsidienne +Flint=Silex +Blueberries=Myrtille +Furnace is empty=Le four est vide +100% (output full)=100% (Sortie pleine) +@1%=@1% +Empty=Vide +Not cookable=Ne se cuit pas +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=Block 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 Dry Grass=Terre avec de l'herbe sèche +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 +Dry Dirt=Terre sèche +Dry Dirt with Dry Grass=Terre sèche avec de l'herbe sèche +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=Bloc 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 +Dry Grass=Herbe sèche +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=Ecoulement d'eau +River Water Source=Source d'eau de rivière +Flowing River Water=Ecoulement d'eau de rivière +Lava Source=Source de lave +Flowing Lava=Ecoulement 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 +Wooden Sign=Panneau en bois +Steel Sign=Panneau en acier +Wooden Ladder=Echelle en bois +Steel Ladder=Echelle 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 +Mese Post Light=Réverbère de Mese +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=Epée en pierre +Bronze Sword=Epée en bronze +Steel Sword=Epée en acier +Mese Sword=Epée en Mese +Diamond Sword=Epée en diamant +Key=Clé +Torch=Torche +@1 will intersect protection on growth.=@1 chevauchera la zone protégée avec la croissance. +Title:=Titre : +Contents:=Contenu : +Save=Sauvegarder +by @1=de @1 +Page @1 of @2=Page @1 sur @2 +"@1"=« @1 » diff --git a/mods/default/locale/default.it.tr b/mods/default/locale/default.it.tr new file mode 100644 index 0000000..66f154b --- /dev/null +++ b/mods/default/locale/default.it.tr @@ -0,0 +1,205 @@ +# 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 +Stick=Bastone +Paper=Carta +"@1" by @2="@1" di @2 +Book=Libro +Book with Text=Libro con testo +Skeleton Key=Chiave dello Scheletro +Key to @1's @2=Chiave per @2 di @1 +Coal Lump=Grumo di carbone +Iron Lump=Grumo di ferro +Copper Lump=Grumo di rame +Tin Lump=Grumo di stagno +Mese Crystal=Cristallo di mese +Gold Lump=Grumo d'oro +Diamond=Diamante +Clay Lump=Grumo d'argilla +Steel Ingot=Lingotto d'acciaio +Copper Ingot=Lingotto di rame +Tin Ingot=Lingotto di stagno +Bronze Ingot=Lingotto di bronzo +Gold Ingot=Lingotto d'oro +Mese Crystal Fragment=Frammento di cristallo di mese +Clay Brick=Mattone d'argilla +Obsidian Shard=Scheggia d'ossidiana +Flint=Selce +Blueberries=Mirtilli +Furnace is empty=La fornace è vuota +100% (output full)=100% (uscita piena) +@1%=@1% +Empty=Vuota +Not cookable=Non cucinabile +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 Dry Grass=Terra con erba secca +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 +Dry Dirt=Terra asciutta +Dry Dirt with Dry Grass=Terra asciutta con erba secca +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 +Dry Grass=Erba secca +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 +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 +Mese Post Light=Lampioncino di mese +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 +Key=Chiave +Torch=Torcia +@1 will intersect protection on growth.=@1 crescendo attraverserà la protezione. diff --git a/mods/default/locale/template.txt b/mods/default/locale/template.txt new file mode 100644 index 0000000..c8e616c --- /dev/null +++ b/mods/default/locale/template.txt @@ -0,0 +1,211 @@ +# textdomain: default +Locked Chest= +Locked Chest (owned by @1)= +You do not own this chest.= +a locked chest= +Chest= +Stick= +Paper= +"@1" by @2= +Book= +Book with Text= +Skeleton Key= +Key to @1's @2= +Coal Lump= +Iron Lump= +Copper Lump= +Tin Lump= +Mese Crystal= +Gold Lump= +Diamond= +Clay Lump= +Steel Ingot= +Copper Ingot= +Tin Ingot= +Bronze Ingot= +Gold Ingot= +Mese Crystal Fragment= +Clay Brick= +Obsidian Shard= +Flint= +Blueberries= +Furnace is empty= +100% (output full)= +@1%= +Empty= +Not cookable= +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 Dry Grass= +Dirt with Snow= +Dirt with Rainforest Litter= +Dirt with Coniferous Litter= +Dry Dirt= +Dry Dirt with Dry 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= +Dry 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= +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= +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= +Key= +Torch= +@1 will intersect protection on growth.= +Title:= +Contents:= +Save= +by @1= +Page @1 of @2= +"@1"= diff --git a/mods/default/mapgen.lua b/mods/default/mapgen.lua index 9c63d1e..a361f89 100644 --- a/mods/default/mapgen.lua +++ b/mods/default/mapgen.lua @@ -2,13 +2,18 @@ -- 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_water_source", "default:water_source") -minetest.register_alias("mapgen_river_water_source", "default:river_water_source") -minetest.register_alias("mapgen_lava_source", "default:lava_source") minetest.register_alias("mapgen_gravel", "default:gravel") minetest.register_alias("mapgen_desert_stone", "default:desert_stone") minetest.register_alias("mapgen_desert_sand", "default:desert_sand") @@ -16,9 +21,6 @@ minetest.register_alias("mapgen_dirt_with_snow", "default:dirt_with_snow") minetest.register_alias("mapgen_snowblock", "default:snowblock") minetest.register_alias("mapgen_snow", "default:snow") minetest.register_alias("mapgen_ice", "default:ice") -minetest.register_alias("mapgen_sandstone", "default:sandstone") - --- Flora minetest.register_alias("mapgen_tree", "default:tree") minetest.register_alias("mapgen_leaves", "default:leaves") @@ -29,14 +31,10 @@ minetest.register_alias("mapgen_junglegrass", "default:junglegrass") minetest.register_alias("mapgen_pine_tree", "default:pine_tree") minetest.register_alias("mapgen_pine_needles", "default:pine_needles") --- Dungeons - minetest.register_alias("mapgen_cobble", "default:cobble") minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble") minetest.register_alias("mapgen_mossycobble", "default:mossycobble") minetest.register_alias("mapgen_stair_desert_stone", "stairs:stair_desert_stone") -minetest.register_alias("mapgen_sandstonebrick", "default:sandstonebrick") -minetest.register_alias("mapgen_stair_sandstone_block", "stairs:stair_sandstone_block") -- @@ -554,14 +552,6 @@ function default.register_ores() octaves = 1, persist = 0.0 }, - biomes = {"icesheet_ocean", "tundra", "tundra_beach", "tundra_ocean", - "taiga", "taiga_ocean", "snowy_grassland", "snowy_grassland_ocean", - "grassland", "grassland_dunes", "grassland_ocean", "coniferous_forest", - "coniferous_forest_dunes", "coniferous_forest_ocean", "deciduous_forest", - "deciduous_forest_shore", "deciduous_forest_ocean", "cold_desert", - "cold_desert_ocean", "savanna", "savanna_shore", "savanna_ocean", - "rainforest", "rainforest_swamp", "rainforest_ocean", "underground", - "floatland_coniferous_forest", "floatland_coniferous_forest_ocean"} }) -- Dirt @@ -583,9 +573,10 @@ function default.register_ores() 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", "savanna", "savanna_shore", - "rainforest", "rainforest_swamp", "floatland_coniferous_forest"} + "deciduous_forest", "deciduous_forest_shore", "rainforest", + "rainforest_swamp", "floatland_coniferous_forest"} }) -- Gravel @@ -607,14 +598,6 @@ function default.register_ores() octaves = 1, persist = 0.0 }, - biomes = {"icesheet_ocean", "tundra", "tundra_beach", "tundra_ocean", - "taiga", "taiga_ocean", "snowy_grassland", "snowy_grassland_ocean", - "grassland", "grassland_dunes", "grassland_ocean", "coniferous_forest", - "coniferous_forest_dunes", "coniferous_forest_ocean", "deciduous_forest", - "deciduous_forest_shore", "deciduous_forest_ocean", "cold_desert", - "cold_desert_ocean", "savanna", "savanna_shore", "savanna_ocean", - "rainforest", "rainforest_swamp", "rainforest_ocean", "underground", - "floatland_coniferous_forest", "floatland_coniferous_forest_ocean"} }) -- Scatter ores @@ -924,6 +907,8 @@ function default.register_biomes(upper_limit) node_river_water = "default:ice", node_riverbed = "default:gravel", depth_riverbed = 2, + node_dungeon = "default:ice", + node_dungeon_stair = "stairs:stair_ice", y_max = upper_limit, y_min = -8, heat_point = 0, @@ -939,8 +924,24 @@ function default.register_biomes(upper_limit) 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 = -112, + 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, }) @@ -952,6 +953,9 @@ function default.register_biomes(upper_limit) 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 = upper_limit, y_min = 47, heat_point = 0, @@ -966,6 +970,9 @@ function default.register_biomes(upper_limit) 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, @@ -981,6 +988,9 @@ function default.register_biomes(upper_limit) 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, @@ -996,9 +1006,25 @@ function default.register_biomes(upper_limit) 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 = -112, + 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, }) @@ -1014,6 +1040,9 @@ function default.register_biomes(upper_limit) 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 = upper_limit, y_min = 4, heat_point = 25, @@ -1029,9 +1058,25 @@ function default.register_biomes(upper_limit) 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 = -112, + 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, }) @@ -1047,6 +1092,9 @@ function default.register_biomes(upper_limit) 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 = upper_limit, y_min = 4, heat_point = 20, @@ -1062,9 +1110,25 @@ function default.register_biomes(upper_limit) 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 = -112, + 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, }) @@ -1079,6 +1143,9 @@ function default.register_biomes(upper_limit) 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 = upper_limit, y_min = 6, heat_point = 50, @@ -1093,6 +1160,9 @@ function default.register_biomes(upper_limit) 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, @@ -1108,8 +1178,24 @@ function default.register_biomes(upper_limit) 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 = -112, + 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, }) @@ -1124,6 +1210,9 @@ function default.register_biomes(upper_limit) 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 = upper_limit, y_min = 6, heat_point = 45, @@ -1138,6 +1227,9 @@ function default.register_biomes(upper_limit) 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, @@ -1153,8 +1245,24 @@ function default.register_biomes(upper_limit) 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 = -112, + 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, }) @@ -1169,6 +1277,9 @@ function default.register_biomes(upper_limit) 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 = upper_limit, y_min = 1, heat_point = 60, @@ -1183,6 +1294,9 @@ function default.register_biomes(upper_limit) 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, @@ -1197,9 +1311,25 @@ function default.register_biomes(upper_limit) 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 = -112, + 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, }) @@ -1215,6 +1345,8 @@ function default.register_biomes(upper_limit) 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 = upper_limit, y_min = 4, heat_point = 92, @@ -1230,9 +1362,24 @@ function default.register_biomes(upper_limit) 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 = -112, + 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, }) @@ -1248,6 +1395,8 @@ function default.register_biomes(upper_limit) node_stone = "default:sandstone", node_riverbed = "default:sand", depth_riverbed = 2, + node_dungeon = "default:sandstonebrick", + node_dungeon_stair = "stairs:stair_sandstone_block", y_max = upper_limit, y_min = 4, heat_point = 60, @@ -1263,8 +1412,23 @@ function default.register_biomes(upper_limit) 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 = -112, + 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, }) @@ -1279,6 +1443,9 @@ function default.register_biomes(upper_limit) 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 = upper_limit, y_min = 4, heat_point = 40, @@ -1293,9 +1460,25 @@ function default.register_biomes(upper_limit) 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 = -112, + 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, }) @@ -1304,12 +1487,15 @@ function default.register_biomes(upper_limit) minetest.register_biome({ name = "savanna", - node_top = "default:dirt_with_dry_grass", + node_top = "default:dry_dirt_with_dry_grass", depth_top = 1, - node_filler = "default:dirt", + 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 = upper_limit, y_min = 1, heat_point = 89, @@ -1318,12 +1504,15 @@ function default.register_biomes(upper_limit) minetest.register_biome({ name = "savanna_shore", - node_top = "default:dirt", + node_top = "default:dry_dirt", depth_top = 1, - node_filler = "default:dirt", + 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, @@ -1338,9 +1527,25 @@ function default.register_biomes(upper_limit) 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 = -112, + 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, }) @@ -1355,6 +1560,9 @@ function default.register_biomes(upper_limit) 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 = upper_limit, y_min = 1, heat_point = 86, @@ -1369,6 +1577,9 @@ function default.register_biomes(upper_limit) 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, @@ -1383,21 +1594,27 @@ function default.register_biomes(upper_limit) 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 = -112, + y_min = -255, heat_point = 86, humidity_point = 65, }) - -- Underground - minetest.register_biome({ - name = "underground", - y_max = -113, + 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 = 50, - humidity_point = 50, + heat_point = 86, + humidity_point = 65, }) end @@ -1414,6 +1631,9 @@ function default.register_floatland_biomes(floatland_level, shadow_limit) depth_top = 1, node_filler = "default:dirt", depth_filler = 1, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", y_max = 31000, y_min = floatland_level + 2, heat_point = 50, @@ -1426,6 +1646,9 @@ function default.register_floatland_biomes(floatland_level, shadow_limit) depth_top = 1, node_filler = "default:dirt", depth_filler = 3, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", y_max = 31000, y_min = floatland_level + 2, heat_point = 50, @@ -1438,6 +1661,9 @@ function default.register_floatland_biomes(floatland_level, shadow_limit) depth_top = 1, node_filler = "default:sand", depth_filler = 3, + node_dungeon = "default:cobble", + node_dungeon_alt = "default:mossycobble", + node_dungeon_stair = "stairs:stair_cobble", y_max = floatland_level + 1, y_min = shadow_limit, heat_point = 50, @@ -1572,7 +1798,7 @@ local function register_dry_grass_decoration(offset, scale, length) minetest.register_decoration({ name = "default:dry_grass_" .. length, deco_type = "simple", - place_on = {"default:dirt_with_dry_grass"}, + place_on = {"default:dry_dirt_with_dry_grass"}, sidelen = 16, noise_params = { offset = offset, @@ -1612,6 +1838,30 @@ 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 @@ -1786,7 +2036,7 @@ function default.register_decorations() minetest.register_decoration({ name = "default:acacia_tree", deco_type = "schematic", - place_on = {"default:dirt_with_dry_grass"}, + place_on = {"default:dry_dirt_with_dry_grass"}, sidelen = 16, noise_params = { offset = 0, @@ -1807,7 +2057,7 @@ function default.register_decorations() minetest.register_decoration({ name = "default:acacia_log", deco_type = "schematic", - place_on = {"default:dirt_with_dry_grass"}, + place_on = {"default:dry_dirt_with_dry_grass"}, place_offset_y = 1, sidelen = 16, noise_params = { @@ -1824,7 +2074,7 @@ function default.register_decorations() schematic = minetest.get_modpath("default") .. "/schematics/acacia_log.mts", flags = "place_center_x", rotation = "random", - spawn_by = "default:dirt_with_dry_grass", + spawn_by = "default:dry_dirt_with_dry_grass", num_spawn_by = 8, }) @@ -1992,7 +2242,7 @@ function default.register_decorations() minetest.register_decoration({ name = "default:acacia_bush", deco_type = "schematic", - place_on = {"default:dirt_with_dry_grass"}, + place_on = {"default:dry_dirt_with_dry_grass"}, sidelen = 16, noise_params = { offset = -0.004, @@ -2098,13 +2348,13 @@ function default.register_decorations() place_on = {"default:sand"}, sidelen = 4, noise_params = { - offset = -0.4, - scale = 3.0, + offset = -0.7, + scale = 4.0, spread = {x = 16, y = 16, z = 16}, seed = 513337, octaves = 1, - persist = 0.5, - flags = "absvalue" + persist = 0.0, + flags = "absvalue, eased" }, biomes = {"coniferous_forest_dunes", "grassland_dunes"}, y_max = 6, diff --git a/mods/default/mod.conf b/mods/default/mod.conf new file mode 100644 index 0000000..c9e7468 --- /dev/null +++ b/mods/default/mod.conf @@ -0,0 +1,3 @@ +name = default +description = Minetest Game mod: default +optional_depends = player_api diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index aa8f361..cee1242 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -1,5 +1,7 @@ -- mods/default/nodes.lua +-- support for MT game translation. +local S = default.get_translator --[[ Node name convention: @@ -52,6 +54,8 @@ 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 @@ -225,21 +229,31 @@ 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 = "Stone", + description = S("Stone"), tiles = {"default_stone.png"}, groups = {cracky = 3, stone = 1}, - drop = 'default:cobble', + drop = "default:cobble", legacy_mineral = true, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:cobble", { - description = "Cobblestone", + description = S("Cobblestone"), tiles = {"default_cobble.png"}, is_ground_content = false, groups = {cracky = 3, stone = 2}, @@ -247,7 +261,7 @@ minetest.register_node("default:cobble", { }) minetest.register_node("default:stonebrick", { - description = "Stone Brick", + description = S("Stone Brick"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_stone_brick.png"}, @@ -257,7 +271,7 @@ minetest.register_node("default:stonebrick", { }) minetest.register_node("default:stone_block", { - description = "Stone Block", + description = S("Stone Block"), tiles = {"default_stone_block.png"}, is_ground_content = false, groups = {cracky = 2, stone = 1}, @@ -265,7 +279,7 @@ minetest.register_node("default:stone_block", { }) minetest.register_node("default:mossycobble", { - description = "Mossy Cobblestone", + description = S("Mossy Cobblestone"), tiles = {"default_mossycobble.png"}, is_ground_content = false, groups = {cracky = 3, stone = 1}, @@ -274,16 +288,16 @@ minetest.register_node("default:mossycobble", { minetest.register_node("default:desert_stone", { - description = "Desert Stone", + description = S("Desert Stone"), tiles = {"default_desert_stone.png"}, groups = {cracky = 3, stone = 1}, - drop = 'default:desert_cobble', + drop = "default:desert_cobble", legacy_mineral = true, sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:desert_cobble", { - description = "Desert Cobblestone", + description = S("Desert Cobblestone"), tiles = {"default_desert_cobble.png"}, is_ground_content = false, groups = {cracky = 3, stone = 2}, @@ -291,7 +305,7 @@ minetest.register_node("default:desert_cobble", { }) minetest.register_node("default:desert_stonebrick", { - description = "Desert Stone Brick", + description = S("Desert Stone Brick"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_desert_stone_brick.png"}, @@ -301,7 +315,7 @@ minetest.register_node("default:desert_stonebrick", { }) minetest.register_node("default:desert_stone_block", { - description = "Desert Stone Block", + description = S("Desert Stone Block"), tiles = {"default_desert_stone_block.png"}, is_ground_content = false, groups = {cracky = 2, stone = 1}, @@ -309,14 +323,14 @@ minetest.register_node("default:desert_stone_block", { }) minetest.register_node("default:sandstone", { - description = "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 = "Sandstone Brick", + description = S("Sandstone Brick"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_sandstone_brick.png"}, @@ -326,7 +340,7 @@ minetest.register_node("default:sandstonebrick", { }) minetest.register_node("default:sandstone_block", { - description = "Sandstone Block", + description = S("Sandstone Block"), tiles = {"default_sandstone_block.png"}, is_ground_content = false, groups = {cracky = 2}, @@ -334,14 +348,14 @@ minetest.register_node("default:sandstone_block", { }) minetest.register_node("default:desert_sandstone", { - description = "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 = "Desert Sandstone Brick", + description = S("Desert Sandstone Brick"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_desert_sandstone_brick.png"}, @@ -351,7 +365,7 @@ minetest.register_node("default:desert_sandstone_brick", { }) minetest.register_node("default:desert_sandstone_block", { - description = "Desert Sandstone Block", + description = S("Desert Sandstone Block"), tiles = {"default_desert_sandstone_block.png"}, is_ground_content = false, groups = {cracky = 2}, @@ -359,14 +373,14 @@ minetest.register_node("default:desert_sandstone_block", { }) minetest.register_node("default:silver_sandstone", { - description = "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 = "Silver Sandstone Brick", + description = S("Silver Sandstone Brick"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_silver_sandstone_brick.png"}, @@ -376,7 +390,7 @@ minetest.register_node("default:silver_sandstone_brick", { }) minetest.register_node("default:silver_sandstone_block", { - description = "Silver Sandstone Block", + description = S("Silver Sandstone Block"), tiles = {"default_silver_sandstone_block.png"}, is_ground_content = false, groups = {cracky = 2}, @@ -384,14 +398,14 @@ minetest.register_node("default:silver_sandstone_block", { }) minetest.register_node("default:obsidian", { - description = "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 = "Obsidian Brick", + description = S("Obsidian Brick"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_obsidian_brick.png"}, @@ -401,7 +415,7 @@ minetest.register_node("default:obsidianbrick", { }) minetest.register_node("default:obsidian_block", { - description = "Obsidian Block", + description = S("Obsidian Block"), tiles = {"default_obsidian_block.png"}, is_ground_content = false, sounds = default.node_sound_stone_defaults(), @@ -413,63 +427,63 @@ minetest.register_node("default:obsidian_block", { -- minetest.register_node("default:dirt", { - description = "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 = "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', + drop = "default:dirt", sounds = default.node_sound_dirt_defaults({ footstep = {name = "default_grass_footstep", gain = 0.25}, }), }) minetest.register_node("default:dirt_with_grass_footsteps", { - description = "Dirt with Grass and Footsteps", + 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', + drop = "default:dirt", sounds = default.node_sound_dirt_defaults({ footstep = {name = "default_grass_footstep", gain = 0.25}, }), }) minetest.register_node("default:dirt_with_dry_grass", { - description = "Dirt with Dry Grass", + description = S("Dirt with Dry Grass"), tiles = {"default_dry_grass.png", "default_dirt.png", {name = "default_dirt.png^default_dry_grass_side.png", tileable_vertical = false}}, - groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, - drop = 'default:dirt', + groups = {crumbly = 3, soil = 1}, + drop = "default:dirt", sounds = default.node_sound_dirt_defaults({ footstep = {name = "default_grass_footstep", gain = 0.4}, }), }) minetest.register_node("default:dirt_with_snow", { - description = "Dirt with Snow", + 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', + drop = "default:dirt", sounds = default.node_sound_dirt_defaults({ footstep = {name = "default_snow_footstep", gain = 0.2}, }), }) minetest.register_node("default:dirt_with_rainforest_litter", { - description = "Dirt with Rainforest Litter", + description = S("Dirt with Rainforest Litter"), tiles = { "default_rainforest_litter.png", "default_dirt.png", @@ -484,7 +498,7 @@ minetest.register_node("default:dirt_with_rainforest_litter", { }) minetest.register_node("default:dirt_with_coniferous_litter", { - description = "Dirt with Coniferous Litter", + description = S("Dirt with Coniferous Litter"), tiles = { "default_coniferous_litter.png", "default_dirt.png", @@ -498,15 +512,34 @@ minetest.register_node("default:dirt_with_coniferous_litter", { }), }) +minetest.register_node("default:dry_dirt", { + description = S("Dry 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("Dry Dirt with Dry 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 = "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 = "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"}, @@ -515,7 +548,7 @@ minetest.register_node("default:permafrost_with_stones", { }) minetest.register_node("default:permafrost_with_moss", { - description = "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}}, @@ -526,21 +559,21 @@ minetest.register_node("default:permafrost_with_moss", { }) minetest.register_node("default:sand", { - description = "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 = "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 = "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(), @@ -548,30 +581,30 @@ minetest.register_node("default:silver_sand", { minetest.register_node("default:gravel", { - description = "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'}} + {items = {"default:flint"}, rarity = 16}, + {items = {"default:gravel"}} } } }) minetest.register_node("default:clay", { - description = "Clay", + description = S("Clay"), tiles = {"default_clay.png"}, groups = {crumbly = 3}, - drop = 'default:clay_lump 4', + drop = "default:clay_lump 4", sounds = default.node_sound_dirt_defaults(), }) minetest.register_node("default:snow", { - description = "Snow", + description = S("Snow"), tiles = {"default_snow.png"}, inventory_image = "default_snowball.png", wield_image = "default_snowball.png", @@ -603,7 +636,7 @@ minetest.register_node("default:snow", { }) minetest.register_node("default:snowblock", { - description = "Snow Block", + description = S("Snow Block"), tiles = {"default_snow.png"}, groups = {crumbly = 3, cools_lava = 1, snowy = 1}, sounds = default.node_sound_snow_defaults(), @@ -618,7 +651,7 @@ minetest.register_node("default:snowblock", { -- 'is ground content = false' to avoid tunnels in sea ice or ice rivers minetest.register_node("default:ice", { - description = "Ice", + description = S("Ice"), tiles = {"default_ice.png"}, is_ground_content = false, paramtype = "light", @@ -628,7 +661,7 @@ minetest.register_node("default:ice", { -- Mapgen-placed ice with 'is ground content = true' to contain tunnels minetest.register_node("default:cave_ice", { - description = "Cave Ice", + description = S("Cave Ice"), tiles = {"default_ice.png"}, paramtype = "light", groups = {cracky = 3, cools_lava = 1, slippery = 3, @@ -642,7 +675,7 @@ minetest.register_node("default:cave_ice", { -- minetest.register_node("default:tree", { - description = "Apple Tree", + description = S("Apple Tree"), tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, paramtype2 = "facedir", is_ground_content = false, @@ -653,7 +686,7 @@ minetest.register_node("default:tree", { }) minetest.register_node("default:wood", { - description = "Apple Wood Planks", + description = S("Apple Wood Planks"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_wood.png"}, @@ -663,7 +696,7 @@ minetest.register_node("default:wood", { }) minetest.register_node("default:sapling", { - description = "Apple Tree Sapling", + description = S("Apple Tree Sapling"), drawtype = "plantlike", tiles = {"default_sapling.png"}, inventory_image = "default_sapling.png", @@ -671,7 +704,7 @@ minetest.register_node("default:sapling", { paramtype = "light", sunlight_propagates = true, walkable = false, - on_timer = default.grow_sapling, + on_timer = grow_sapling, selection_box = { type = "fixed", fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} @@ -699,7 +732,7 @@ minetest.register_node("default:sapling", { }) minetest.register_node("default:leaves", { - description = "Apple Tree Leaves", + description = S("Apple Tree Leaves"), drawtype = "allfaces_optional", waving = 1, tiles = {"default_leaves.png"}, @@ -712,23 +745,23 @@ minetest.register_node("default:leaves", { items = { { -- player will get sapling with 1/20 chance - items = {'default:sapling'}, + 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'}, + items = {"default:leaves"}, } } }, sounds = default.node_sound_leaves_defaults(), - after_place_node = default.after_place_leaves, + after_place_node = after_place_leaves, }) minetest.register_node("default:apple", { - description = "Apple", + description = S("Apple"), drawtype = "plantlike", tiles = {"default_apple.png"}, inventory_image = "default_apple.png", @@ -758,7 +791,7 @@ minetest.register_node("default:apple", { }) minetest.register_node("default:apple_mark", { - description = "Apple Marker", + description = S("Apple Marker"), drawtype = "airlike", paramtype = "light", sunlight_propagates = true, @@ -781,7 +814,7 @@ minetest.register_node("default:apple_mark", { minetest.register_node("default:jungletree", { - description = "Jungle Tree", + description = S("Jungle Tree"), tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, paramtype2 = "facedir", @@ -793,7 +826,7 @@ minetest.register_node("default:jungletree", { }) minetest.register_node("default:junglewood", { - description = "Jungle Wood Planks", + description = S("Jungle Wood Planks"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_junglewood.png"}, @@ -803,7 +836,7 @@ minetest.register_node("default:junglewood", { }) minetest.register_node("default:jungleleaves", { - description = "Jungle Tree Leaves", + description = S("Jungle Tree Leaves"), drawtype = "allfaces_optional", waving = 1, tiles = {"default_jungleleaves.png"}, @@ -814,17 +847,17 @@ minetest.register_node("default:jungleleaves", { drop = { max_items = 1, items = { - {items = {'default:junglesapling'}, rarity = 20}, - {items = {'default:jungleleaves'}} + {items = {"default:junglesapling"}, rarity = 20}, + {items = {"default:jungleleaves"}} } }, sounds = default.node_sound_leaves_defaults(), - after_place_node = default.after_place_leaves, + after_place_node = after_place_leaves, }) minetest.register_node("default:junglesapling", { - description = "Jungle Tree Sapling", + description = S("Jungle Tree Sapling"), drawtype = "plantlike", tiles = {"default_junglesapling.png"}, inventory_image = "default_junglesapling.png", @@ -832,7 +865,7 @@ minetest.register_node("default:junglesapling", { paramtype = "light", sunlight_propagates = true, walkable = false, - on_timer = default.grow_sapling, + on_timer = grow_sapling, selection_box = { type = "fixed", fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} @@ -860,7 +893,7 @@ minetest.register_node("default:junglesapling", { }) minetest.register_node("default:emergent_jungle_sapling", { - description = "Emergent Jungle Tree Sapling", + description = S("Emergent Jungle Tree Sapling"), drawtype = "plantlike", tiles = {"default_emergent_jungle_sapling.png"}, inventory_image = "default_emergent_jungle_sapling.png", @@ -868,7 +901,7 @@ minetest.register_node("default:emergent_jungle_sapling", { paramtype = "light", sunlight_propagates = true, walkable = false, - on_timer = default.grow_sapling, + on_timer = grow_sapling, selection_box = { type = "fixed", fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} @@ -896,7 +929,7 @@ minetest.register_node("default:emergent_jungle_sapling", { minetest.register_node("default:pine_tree", { - description = "Pine Tree", + description = S("Pine Tree"), tiles = {"default_pine_tree_top.png", "default_pine_tree_top.png", "default_pine_tree.png"}, paramtype2 = "facedir", @@ -908,7 +941,7 @@ minetest.register_node("default:pine_tree", { }) minetest.register_node("default:pine_wood", { - description = "Pine Wood Planks", + description = S("Pine Wood Planks"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_pine_wood.png"}, @@ -918,7 +951,7 @@ minetest.register_node("default:pine_wood", { }) minetest.register_node("default:pine_needles",{ - description = "Pine Needles", + description = S("Pine Needles"), drawtype = "allfaces_optional", tiles = {"default_pine_needles.png"}, waving = 1, @@ -934,11 +967,11 @@ minetest.register_node("default:pine_needles",{ }, sounds = default.node_sound_leaves_defaults(), - after_place_node = default.after_place_leaves, + after_place_node = after_place_leaves, }) minetest.register_node("default:pine_sapling", { - description = "Pine Tree Sapling", + description = S("Pine Tree Sapling"), drawtype = "plantlike", tiles = {"default_pine_sapling.png"}, inventory_image = "default_pine_sapling.png", @@ -946,7 +979,7 @@ minetest.register_node("default:pine_sapling", { paramtype = "light", sunlight_propagates = true, walkable = false, - on_timer = default.grow_sapling, + on_timer = grow_sapling, selection_box = { type = "fixed", fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} @@ -975,7 +1008,7 @@ minetest.register_node("default:pine_sapling", { minetest.register_node("default:acacia_tree", { - description = "Acacia Tree", + description = S("Acacia Tree"), tiles = {"default_acacia_tree_top.png", "default_acacia_tree_top.png", "default_acacia_tree.png"}, paramtype2 = "facedir", @@ -987,7 +1020,7 @@ minetest.register_node("default:acacia_tree", { }) minetest.register_node("default:acacia_wood", { - description = "Acacia Wood Planks", + description = S("Acacia Wood Planks"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_acacia_wood.png"}, @@ -997,7 +1030,7 @@ minetest.register_node("default:acacia_wood", { }) minetest.register_node("default:acacia_leaves", { - description = "Acacia Tree Leaves", + description = S("Acacia Tree Leaves"), drawtype = "allfaces_optional", tiles = {"default_acacia_leaves.png"}, special_tiles = {"default_acacia_leaves_simple.png"}, @@ -1014,11 +1047,11 @@ minetest.register_node("default:acacia_leaves", { }, sounds = default.node_sound_leaves_defaults(), - after_place_node = default.after_place_leaves, + after_place_node = after_place_leaves, }) minetest.register_node("default:acacia_sapling", { - description = "Acacia Tree Sapling", + description = S("Acacia Tree Sapling"), drawtype = "plantlike", tiles = {"default_acacia_sapling.png"}, inventory_image = "default_acacia_sapling.png", @@ -1026,7 +1059,7 @@ minetest.register_node("default:acacia_sapling", { paramtype = "light", sunlight_propagates = true, walkable = false, - on_timer = default.grow_sapling, + on_timer = grow_sapling, selection_box = { type = "fixed", fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16} @@ -1054,7 +1087,7 @@ minetest.register_node("default:acacia_sapling", { }) minetest.register_node("default:aspen_tree", { - description = "Aspen Tree", + description = S("Aspen Tree"), tiles = {"default_aspen_tree_top.png", "default_aspen_tree_top.png", "default_aspen_tree.png"}, paramtype2 = "facedir", @@ -1066,7 +1099,7 @@ minetest.register_node("default:aspen_tree", { }) minetest.register_node("default:aspen_wood", { - description = "Aspen Wood Planks", + description = S("Aspen Wood Planks"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_aspen_wood.png"}, @@ -1076,7 +1109,7 @@ minetest.register_node("default:aspen_wood", { }) minetest.register_node("default:aspen_leaves", { - description = "Aspen Tree Leaves", + description = S("Aspen Tree Leaves"), drawtype = "allfaces_optional", tiles = {"default_aspen_leaves.png"}, waving = 1, @@ -1092,11 +1125,11 @@ minetest.register_node("default:aspen_leaves", { }, sounds = default.node_sound_leaves_defaults(), - after_place_node = default.after_place_leaves, + after_place_node = after_place_leaves, }) minetest.register_node("default:aspen_sapling", { - description = "Aspen Tree Sapling", + description = S("Aspen Tree Sapling"), drawtype = "plantlike", tiles = {"default_aspen_sapling.png"}, inventory_image = "default_aspen_sapling.png", @@ -1104,7 +1137,7 @@ minetest.register_node("default:aspen_sapling", { paramtype = "light", sunlight_propagates = true, walkable = false, - on_timer = default.grow_sapling, + on_timer = grow_sapling, selection_box = { type = "fixed", fixed = {-3 / 16, -0.5, -3 / 16, 3 / 16, 0.5, 3 / 16} @@ -1136,15 +1169,15 @@ minetest.register_node("default:aspen_sapling", { -- minetest.register_node("default:stone_with_coal", { - description = "Coal Ore", + description = S("Coal Ore"), tiles = {"default_stone.png^default_mineral_coal.png"}, groups = {cracky = 3}, - drop = 'default:coal_lump', + drop = "default:coal_lump", sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:coalblock", { - description = "Coal Block", + description = S("Coal Block"), tiles = {"default_coal_block.png"}, is_ground_content = false, groups = {cracky = 3}, @@ -1153,15 +1186,15 @@ minetest.register_node("default:coalblock", { minetest.register_node("default:stone_with_iron", { - description = "Iron Ore", + description = S("Iron Ore"), tiles = {"default_stone.png^default_mineral_iron.png"}, groups = {cracky = 2}, - drop = 'default:iron_lump', + drop = "default:iron_lump", sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:steelblock", { - description = "Steel Block", + description = S("Steel Block"), tiles = {"default_steel_block.png"}, is_ground_content = false, groups = {cracky = 1, level = 2}, @@ -1170,15 +1203,15 @@ minetest.register_node("default:steelblock", { minetest.register_node("default:stone_with_copper", { - description = "Copper Ore", + description = S("Copper Ore"), tiles = {"default_stone.png^default_mineral_copper.png"}, groups = {cracky = 2}, - drop = 'default:copper_lump', + drop = "default:copper_lump", sounds = default.node_sound_stone_defaults(), }) minetest.register_node("default:copperblock", { - description = "Copper Block", + description = S("Copper Block"), tiles = {"default_copper_block.png"}, is_ground_content = false, groups = {cracky = 1, level = 2}, @@ -1187,7 +1220,7 @@ minetest.register_node("default:copperblock", { minetest.register_node("default:stone_with_tin", { - description = "Tin Ore", + description = S("Tin Ore"), tiles = {"default_stone.png^default_mineral_tin.png"}, groups = {cracky = 2}, drop = "default:tin_lump", @@ -1195,7 +1228,7 @@ minetest.register_node("default:stone_with_tin", { }) minetest.register_node("default:tinblock", { - description = "Tin Block", + description = S("Tin Block"), tiles = {"default_tin_block.png"}, is_ground_content = false, groups = {cracky = 1, level = 2}, @@ -1204,7 +1237,7 @@ minetest.register_node("default:tinblock", { minetest.register_node("default:bronzeblock", { - description = "Bronze Block", + description = S("Bronze Block"), tiles = {"default_bronze_block.png"}, is_ground_content = false, groups = {cracky = 1, level = 2}, @@ -1213,7 +1246,7 @@ minetest.register_node("default:bronzeblock", { minetest.register_node("default:stone_with_mese", { - description = "Mese Ore", + description = S("Mese Ore"), tiles = {"default_stone.png^default_mineral_mese.png"}, groups = {cracky = 1}, drop = "default:mese_crystal", @@ -1221,7 +1254,7 @@ minetest.register_node("default:stone_with_mese", { }) minetest.register_node("default:mese", { - description = "Mese Block", + description = S("Mese Block"), tiles = {"default_mese_block.png"}, paramtype = "light", groups = {cracky = 1, level = 2}, @@ -1231,7 +1264,7 @@ minetest.register_node("default:mese", { minetest.register_node("default:stone_with_gold", { - description = "Gold Ore", + description = S("Gold Ore"), tiles = {"default_stone.png^default_mineral_gold.png"}, groups = {cracky = 2}, drop = "default:gold_lump", @@ -1239,7 +1272,7 @@ minetest.register_node("default:stone_with_gold", { }) minetest.register_node("default:goldblock", { - description = "Gold Block", + description = S("Gold Block"), tiles = {"default_gold_block.png"}, is_ground_content = false, groups = {cracky = 1}, @@ -1248,7 +1281,7 @@ minetest.register_node("default:goldblock", { minetest.register_node("default:stone_with_diamond", { - description = "Diamond Ore", + description = S("Diamond Ore"), tiles = {"default_stone.png^default_mineral_diamond.png"}, groups = {cracky = 1}, drop = "default:diamond", @@ -1256,7 +1289,7 @@ minetest.register_node("default:stone_with_diamond", { }) minetest.register_node("default:diamondblock", { - description = "Diamond Block", + description = S("Diamond Block"), tiles = {"default_diamond_block.png"}, is_ground_content = false, groups = {cracky = 1, level = 3}, @@ -1268,7 +1301,7 @@ minetest.register_node("default:diamondblock", { -- minetest.register_node("default:cactus", { - description = "Cactus", + description = S("Cactus"), tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, paramtype2 = "facedir", @@ -1278,7 +1311,7 @@ minetest.register_node("default:cactus", { }) minetest.register_node("default:large_cactus_seedling", { - description = "Large Cactus Seedling", + description = S("Large Cactus Seedling"), drawtype = "plantlike", tiles = {"default_large_cactus_seedling.png"}, inventory_image = "default_large_cactus_seedling.png", @@ -1349,7 +1382,7 @@ minetest.register_node("default:large_cactus_seedling", { }) minetest.register_node("default:papyrus", { - description = "Papyrus", + description = S("Papyrus"), drawtype = "plantlike", tiles = {"default_papyrus.png"}, inventory_image = "default_papyrus.png", @@ -1370,7 +1403,7 @@ minetest.register_node("default:papyrus", { }) minetest.register_node("default:dry_shrub", { - description = "Dry Shrub", + description = S("Dry Shrub"), drawtype = "plantlike", waving = 1, tiles = {"default_dry_shrub.png"}, @@ -1391,7 +1424,7 @@ minetest.register_node("default:dry_shrub", { }) minetest.register_node("default:junglegrass", { - description = "Jungle Grass", + description = S("Jungle Grass"), drawtype = "plantlike", waving = 1, visual_scale = 1.69, @@ -1412,7 +1445,7 @@ minetest.register_node("default:junglegrass", { minetest.register_node("default:grass_1", { - description = "Grass", + description = S("Grass"), drawtype = "plantlike", waving = 1, tiles = {"default_grass_1.png"}, @@ -1441,7 +1474,7 @@ minetest.register_node("default:grass_1", { for i = 2, 5 do minetest.register_node("default:grass_" .. i, { - description = "Grass", + description = S("Grass"), drawtype = "plantlike", waving = 1, tiles = {"default_grass_" .. i .. ".png"}, @@ -1464,7 +1497,7 @@ end minetest.register_node("default:dry_grass_1", { - description = "Dry Grass", + description = S("Dry Grass"), drawtype = "plantlike", waving = 1, tiles = {"default_dry_grass_1.png"}, @@ -1493,7 +1526,7 @@ minetest.register_node("default:dry_grass_1", { for i = 2, 5 do minetest.register_node("default:dry_grass_" .. i, { - description = "Dry Grass", + description = S("Dry Grass"), drawtype = "plantlike", waving = 1, tiles = {"default_dry_grass_" .. i .. ".png"}, @@ -1516,7 +1549,7 @@ end minetest.register_node("default:fern_1", { - description = "Fern", + description = S("Fern"), drawtype = "plantlike", waving = 1, tiles = {"default_fern_1.png"}, @@ -1544,7 +1577,7 @@ minetest.register_node("default:fern_1", { for i = 2, 3 do minetest.register_node("default:fern_" .. i, { - description = "Fern", + description = S("Fern"), drawtype = "plantlike", waving = 1, visual_scale = 2, @@ -1568,7 +1601,7 @@ end minetest.register_node("default:marram_grass_1", { - description = "Marram Grass", + description = S("Marram Grass"), drawtype = "plantlike", waving = 1, tiles = {"default_marram_grass_1.png"}, @@ -1596,7 +1629,7 @@ minetest.register_node("default:marram_grass_1", { for i = 2, 3 do minetest.register_node("default:marram_grass_" .. i, { - description = "Marram Grass", + description = S("Marram Grass"), drawtype = "plantlike", waving = 1, tiles = {"default_marram_grass_" .. i .. ".png"}, @@ -1619,7 +1652,7 @@ end minetest.register_node("default:bush_stem", { - description = "Bush Stem", + description = S("Bush Stem"), drawtype = "plantlike", visual_scale = 1.41, tiles = {"default_bush_stem.png"}, @@ -1636,7 +1669,7 @@ minetest.register_node("default:bush_stem", { }) minetest.register_node("default:bush_leaves", { - description = "Bush Leaves", + description = S("Bush Leaves"), drawtype = "allfaces_optional", waving = 1, tiles = {"default_leaves_simple.png"}, @@ -1651,11 +1684,11 @@ minetest.register_node("default:bush_leaves", { }, sounds = default.node_sound_leaves_defaults(), - after_place_node = default.after_place_leaves, + after_place_node = after_place_leaves, }) minetest.register_node("default:bush_sapling", { - description = "Bush Sapling", + description = S("Bush Sapling"), drawtype = "plantlike", tiles = {"default_bush_sapling.png"}, inventory_image = "default_bush_sapling.png", @@ -1663,7 +1696,7 @@ minetest.register_node("default:bush_sapling", { paramtype = "light", sunlight_propagates = true, walkable = false, - on_timer = default.grow_sapling, + on_timer = grow_sapling, selection_box = { type = "fixed", fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16} @@ -1690,7 +1723,7 @@ minetest.register_node("default:bush_sapling", { }) minetest.register_node("default:blueberry_bush_leaves_with_berries", { - description = "Blueberry Bush Leaves with Berries", + description = S("Blueberry Bush Leaves with Berries"), drawtype = "allfaces_optional", waving = 1, tiles = {"default_blueberry_bush_leaves.png^default_blueberry_overlay.png"}, @@ -1707,7 +1740,7 @@ minetest.register_node("default:blueberry_bush_leaves_with_berries", { }) minetest.register_node("default:blueberry_bush_leaves", { - description = "Blueberry Bush Leaves", + description = S("Blueberry Bush Leaves"), drawtype = "allfaces_optional", waving = 1, tiles = {"default_blueberry_bush_leaves.png"}, @@ -1730,11 +1763,11 @@ minetest.register_node("default:blueberry_bush_leaves", { end end, - after_place_node = default.after_place_leaves, + after_place_node = after_place_leaves, }) minetest.register_node("default:blueberry_bush_sapling", { - description = "Blueberry Bush Sapling", + description = S("Blueberry Bush Sapling"), drawtype = "plantlike", tiles = {"default_blueberry_bush_sapling.png"}, inventory_image = "default_blueberry_bush_sapling.png", @@ -1742,7 +1775,7 @@ minetest.register_node("default:blueberry_bush_sapling", { paramtype = "light", sunlight_propagates = true, walkable = false, - on_timer = default.grow_sapling, + on_timer = grow_sapling, selection_box = { type = "fixed", fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16} @@ -1769,7 +1802,7 @@ minetest.register_node("default:blueberry_bush_sapling", { }) minetest.register_node("default:acacia_bush_stem", { - description = "Acacia Bush Stem", + description = S("Acacia Bush Stem"), drawtype = "plantlike", visual_scale = 1.41, tiles = {"default_acacia_bush_stem.png"}, @@ -1786,7 +1819,7 @@ minetest.register_node("default:acacia_bush_stem", { }) minetest.register_node("default:acacia_bush_leaves", { - description = "Acacia Bush Leaves", + description = S("Acacia Bush Leaves"), drawtype = "allfaces_optional", waving = 1, tiles = {"default_acacia_leaves_simple.png"}, @@ -1801,11 +1834,11 @@ minetest.register_node("default:acacia_bush_leaves", { }, sounds = default.node_sound_leaves_defaults(), - after_place_node = default.after_place_leaves, + after_place_node = after_place_leaves, }) minetest.register_node("default:acacia_bush_sapling", { - description = "Acacia Bush Sapling", + description = S("Acacia Bush Sapling"), drawtype = "plantlike", tiles = {"default_acacia_bush_sapling.png"}, inventory_image = "default_acacia_bush_sapling.png", @@ -1813,7 +1846,7 @@ minetest.register_node("default:acacia_bush_sapling", { paramtype = "light", sunlight_propagates = true, walkable = false, - on_timer = default.grow_sapling, + on_timer = grow_sapling, selection_box = { type = "fixed", fixed = {-3 / 16, -0.5, -3 / 16, 3 / 16, 2 / 16, 3 / 16} @@ -1840,7 +1873,7 @@ minetest.register_node("default:acacia_bush_sapling", { }) minetest.register_node("default:pine_bush_stem", { - description = "Pine Bush Stem", + description = S("Pine Bush Stem"), drawtype = "plantlike", visual_scale = 1.41, tiles = {"default_pine_bush_stem.png"}, @@ -1857,7 +1890,7 @@ minetest.register_node("default:pine_bush_stem", { }) minetest.register_node("default:pine_bush_needles", { - description = "Pine Bush Needles", + description = S("Pine Bush Needles"), drawtype = "allfaces_optional", waving = 1, tiles = {"default_pine_needles.png"}, @@ -1872,11 +1905,11 @@ minetest.register_node("default:pine_bush_needles", { }, sounds = default.node_sound_leaves_defaults(), - after_place_node = default.after_place_leaves, + after_place_node = after_place_leaves, }) minetest.register_node("default:pine_bush_sapling", { - description = "Pine Bush Sapling", + description = S("Pine Bush Sapling"), drawtype = "plantlike", tiles = {"default_pine_bush_sapling.png"}, inventory_image = "default_pine_bush_sapling.png", @@ -1884,7 +1917,7 @@ minetest.register_node("default:pine_bush_sapling", { paramtype = "light", sunlight_propagates = true, walkable = false, - on_timer = default.grow_sapling, + on_timer = grow_sapling, selection_box = { type = "fixed", fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16} @@ -1911,7 +1944,7 @@ minetest.register_node("default:pine_bush_sapling", { }) minetest.register_node("default:sand_with_kelp", { - description = "Kelp", + description = S("Kelp"), drawtype = "plantlike_rooted", waving = 1, tiles = {"default_sand.png"}, @@ -1986,8 +2019,48 @@ minetest.register_node("default:sand_with_kelp", { -- Corals -- +local function coral_on_place(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" or not placer then + return itemstack + end + + local player_name = placer:get_player_name() + local pos_under = pointed_thing.under + local pos_above = pointed_thing.above + 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:get_player_control().sneak then + return def_under.on_rightclick(pos_under, node_under.name, + placer, itemstack, pointed_thing) or itemstack + 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.log("action", player_name + .. " tried to place " .. itemstack:get_name() + .. " at protected position " + .. minetest.pos_to_string(pos_under)) + 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 (creative and creative.is_enabled_for(player_name)) then + itemstack:take_item() + end + + return itemstack +end + minetest.register_node("default:coral_green", { - description = "Green Coral", + description = S("Green Coral"), drawtype = "plantlike_rooted", waving = 1, paramtype = "light", @@ -2009,34 +2082,7 @@ minetest.register_node("default:coral_green", { dug = {name = "default_grass_footstep", gain = 0.25}, }), - on_place = function(itemstack, placer, pointed_thing) - if pointed_thing.type ~= "node" or not placer then - return itemstack - end - - local player_name = placer:get_player_name() - local pos_under = pointed_thing.under - local pos_above = pointed_thing.above - - if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or - minetest.get_node(pos_above).name ~= "default:water_source" then - return itemstack - end - - if minetest.is_protected(pos_under, player_name) or - minetest.is_protected(pos_above, player_name) then - minetest.chat_send_player(player_name, "Node is protected") - minetest.record_protection_violation(pos_under, player_name) - return itemstack - end - - minetest.set_node(pos_under, {name = "default:coral_green"}) - if not (creative and creative.is_enabled_for(player_name)) then - itemstack:take_item() - end - - return itemstack - end, + on_place = coral_on_place, after_destruct = function(pos, oldnode) minetest.set_node(pos, {name = "default:coral_skeleton"}) @@ -2044,7 +2090,7 @@ minetest.register_node("default:coral_green", { }) minetest.register_node("default:coral_pink", { - description = "Pink Coral", + description = S("Pink Coral"), drawtype = "plantlike_rooted", waving = 1, paramtype = "light", @@ -2066,34 +2112,7 @@ minetest.register_node("default:coral_pink", { dug = {name = "default_grass_footstep", gain = 0.25}, }), - on_place = function(itemstack, placer, pointed_thing) - if pointed_thing.type ~= "node" or not placer then - return itemstack - end - - local player_name = placer:get_player_name() - local pos_under = pointed_thing.under - local pos_above = pointed_thing.above - - if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or - minetest.get_node(pos_above).name ~= "default:water_source" then - return itemstack - end - - if minetest.is_protected(pos_under, player_name) or - minetest.is_protected(pos_above, player_name) then - minetest.chat_send_player(player_name, "Node is protected") - minetest.record_protection_violation(pos_under, player_name) - return itemstack - end - - minetest.set_node(pos_under, {name = "default:coral_pink"}) - if not (creative and creative.is_enabled_for(player_name)) then - itemstack:take_item() - end - - return itemstack - end, + on_place = coral_on_place, after_destruct = function(pos, oldnode) minetest.set_node(pos, {name = "default:coral_skeleton"}) @@ -2101,7 +2120,7 @@ minetest.register_node("default:coral_pink", { }) minetest.register_node("default:coral_cyan", { - description = "Cyan Coral", + description = S("Cyan Coral"), drawtype = "plantlike_rooted", waving = 1, paramtype = "light", @@ -2123,34 +2142,7 @@ minetest.register_node("default:coral_cyan", { dug = {name = "default_grass_footstep", gain = 0.25}, }), - on_place = function(itemstack, placer, pointed_thing) - if pointed_thing.type ~= "node" or not placer then - return itemstack - end - - local player_name = placer:get_player_name() - local pos_under = pointed_thing.under - local pos_above = pointed_thing.above - - if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or - minetest.get_node(pos_above).name ~= "default:water_source" then - return itemstack - end - - if minetest.is_protected(pos_under, player_name) or - minetest.is_protected(pos_above, player_name) then - minetest.chat_send_player(player_name, "Node is protected") - minetest.record_protection_violation(pos_under, player_name) - return itemstack - end - - minetest.set_node(pos_under, {name = "default:coral_cyan"}) - if not (creative and creative.is_enabled_for(player_name)) then - itemstack:take_item() - end - - return itemstack - end, + on_place = coral_on_place, after_destruct = function(pos, oldnode) minetest.set_node(pos, {name = "default:coral_skeleton"}) @@ -2158,7 +2150,7 @@ minetest.register_node("default:coral_cyan", { }) minetest.register_node("default:coral_brown", { - description = "Brown Coral", + description = S("Brown Coral"), tiles = {"default_coral_brown.png"}, groups = {cracky = 3}, drop = "default:coral_skeleton", @@ -2166,7 +2158,7 @@ minetest.register_node("default:coral_brown", { }) minetest.register_node("default:coral_orange", { - description = "Orange Coral", + description = S("Orange Coral"), tiles = {"default_coral_orange.png"}, groups = {cracky = 3}, drop = "default:coral_skeleton", @@ -2174,7 +2166,7 @@ minetest.register_node("default:coral_orange", { }) minetest.register_node("default:coral_skeleton", { - description = "Coral Skeleton", + description = S("Coral Skeleton"), tiles = {"default_coral_skeleton.png"}, groups = {cracky = 3}, sounds = default.node_sound_stone_defaults(), @@ -2186,8 +2178,9 @@ minetest.register_node("default:coral_skeleton", { -- minetest.register_node("default:water_source", { - description = "Water Source", + description = S("Water Source"), drawtype = "liquid", + waving = 3, tiles = { { name = "default_water_source_animated.png", @@ -2229,8 +2222,9 @@ minetest.register_node("default:water_source", { }) minetest.register_node("default:water_flowing", { - description = "Flowing Water", + description = S("Flowing Water"), drawtype = "flowingliquid", + waving = 3, tiles = {"default_water.png"}, special_tiles = { { @@ -2276,7 +2270,7 @@ minetest.register_node("default:water_flowing", { minetest.register_node("default:river_water_source", { - description = "River Water Source", + description = S("River Water Source"), drawtype = "liquid", tiles = { { @@ -2325,7 +2319,7 @@ minetest.register_node("default:river_water_source", { }) minetest.register_node("default:river_water_flowing", { - description = "Flowing River Water", + description = S("Flowing River Water"), drawtype = "flowingliquid", tiles = {"default_river_water.png"}, special_tiles = { @@ -2374,7 +2368,7 @@ minetest.register_node("default:river_water_flowing", { minetest.register_node("default:lava_source", { - description = "Lava Source", + description = S("Lava Source"), drawtype = "liquid", tiles = { { @@ -2418,7 +2412,7 @@ minetest.register_node("default:lava_source", { }) minetest.register_node("default:lava_flowing", { - description = "Flowing Lava", + description = S("Flowing Lava"), drawtype = "flowingliquid", tiles = {"default_lava.png"}, special_tiles = { @@ -2507,15 +2501,14 @@ local function update_bookshelf(pos) end meta:set_string("formspec", formspec) if n_written + n_empty == 0 then - meta:set_string("infotext", "Empty Bookshelf") + meta:set_string("infotext", S("Empty Bookshelf")) else - meta:set_string("infotext", "Bookshelf (" .. n_written .. - " written, " .. n_empty .. " empty books)") + meta:set_string("infotext", S("Bookshelf (@1 written, @2 empty books)", n_written, n_empty)) end end minetest.register_node("default:bookshelf", { - description = "Bookshelf", + description = S("Bookshelf"), tiles = {"default_wood.png", "default_wood.png", "default_wood.png", "default_wood.png", "default_bookshelf.png", "default_bookshelf.png"}, paramtype2 = "facedir", @@ -2565,7 +2558,7 @@ minetest.register_node("default:bookshelf", { local function register_sign(material, desc, def) minetest.register_node("default:sign_wall_" .. material, { - description = desc .. " Sign", + description = desc, drawtype = "nodebox", tiles = {"default_sign_wall_" .. material .. ".png"}, inventory_image = "default_sign_" .. material .. ".png", @@ -2602,30 +2595,35 @@ local function register_sign(material, desc, def) return end if string.len(text) > 512 then - minetest.chat_send_player(player_name, "Text too long") + minetest.chat_send_player(player_name, S("Text too long")) return end minetest.log("action", (player_name or "") .. " wrote \"" .. text .. "\" to sign at " .. minetest.pos_to_string(pos)) local meta = minetest.get_meta(pos) meta:set_string("text", text) - meta:set_string("infotext", '"' .. text .. '"') + + if #text > 0 then + meta:set_string("infotext", S('"@1"', text)) + else + meta:set_string("infotext", '') + end end, }) end -register_sign("wood", "Wooden", { +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", "Steel", { +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 = "Wooden Ladder", + description = S("Wooden Ladder"), drawtype = "signlike", tiles = {"default_ladder_wood.png"}, inventory_image = "default_ladder_wood.png", @@ -2648,7 +2646,7 @@ minetest.register_node("default:ladder_wood", { }) minetest.register_node("default:ladder_steel", { - description = "Steel Ladder", + description = S("Steel Ladder"), drawtype = "signlike", tiles = {"default_ladder_steel.png"}, inventory_image = "default_ladder_steel.png", @@ -2670,7 +2668,7 @@ minetest.register_node("default:ladder_steel", { }) default.register_fence("default:fence_wood", { - description = "Apple Wood Fence", + 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", @@ -2682,7 +2680,7 @@ default.register_fence("default:fence_wood", { }) default.register_fence("default:fence_acacia_wood", { - description = "Acacia Wood Fence", + 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", @@ -2694,7 +2692,7 @@ default.register_fence("default:fence_acacia_wood", { }) default.register_fence("default:fence_junglewood", { - description = "Jungle Wood Fence", + 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", @@ -2706,7 +2704,7 @@ default.register_fence("default:fence_junglewood", { }) default.register_fence("default:fence_pine_wood", { - description = "Pine Wood Fence", + 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", @@ -2718,7 +2716,7 @@ default.register_fence("default:fence_pine_wood", { }) default.register_fence("default:fence_aspen_wood", { - description = "Aspen Wood Fence", + 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", @@ -2730,7 +2728,7 @@ default.register_fence("default:fence_aspen_wood", { }) default.register_fence_rail("default:fence_rail_wood", { - description = "Apple Wood Fence Rail", + 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", @@ -2742,7 +2740,7 @@ default.register_fence_rail("default:fence_rail_wood", { }) default.register_fence_rail("default:fence_rail_acacia_wood", { - description = "Acacia Wood Fence Rail", + 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", @@ -2754,7 +2752,7 @@ default.register_fence_rail("default:fence_rail_acacia_wood", { }) default.register_fence_rail("default:fence_rail_junglewood", { - description = "Jungle Wood Fence Rail", + 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", @@ -2766,7 +2764,7 @@ default.register_fence_rail("default:fence_rail_junglewood", { }) default.register_fence_rail("default:fence_rail_pine_wood", { - description = "Pine Wood Fence Rail", + 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", @@ -2778,7 +2776,7 @@ default.register_fence_rail("default:fence_rail_pine_wood", { }) default.register_fence_rail("default:fence_rail_aspen_wood", { - description = "Aspen Wood Fence Rail", + 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", @@ -2790,7 +2788,7 @@ default.register_fence_rail("default:fence_rail_aspen_wood", { }) minetest.register_node("default:glass", { - description = "Glass", + description = S("Glass"), drawtype = "glasslike_framed_optional", tiles = {"default_glass.png", "default_glass_detail.png"}, paramtype = "light", @@ -2802,7 +2800,7 @@ minetest.register_node("default:glass", { }) minetest.register_node("default:obsidian_glass", { - description = "Obsidian Glass", + description = S("Obsidian Glass"), drawtype = "glasslike_framed_optional", tiles = {"default_obsidian_glass.png", "default_obsidian_glass_detail.png"}, paramtype = "light", @@ -2815,7 +2813,7 @@ minetest.register_node("default:obsidian_glass", { minetest.register_node("default:brick", { - description = "Brick Block", + description = S("Brick Block"), paramtype2 = "facedir", place_param2 = 0, tiles = {"default_brick.png"}, @@ -2826,7 +2824,7 @@ minetest.register_node("default:brick", { minetest.register_node("default:meselamp", { - description = "Mese Lamp", + description = S("Mese Lamp"), drawtype = "glasslike", tiles = {"default_meselamp.png"}, paramtype = "light", @@ -2838,7 +2836,7 @@ minetest.register_node("default:meselamp", { }) minetest.register_node("default:mese_post_light", { - description = "Mese Post Light", + description = S("Mese Post Light"), tiles = {"default_mese_post_light_top.png", "default_mese_post_light_top.png", "default_mese_post_light_side_dark.png", "default_mese_post_light_side_dark.png", "default_mese_post_light_side.png", "default_mese_post_light_side.png"}, @@ -2863,7 +2861,7 @@ minetest.register_node("default:mese_post_light", { -- minetest.register_node("default:cloud", { - description = "Cloud", + description = S("Cloud"), tiles = {"default_cloud.png"}, is_ground_content = false, sounds = default.node_sound_defaults(), diff --git a/mods/default/schematics/large_cactus.mts b/mods/default/schematics/large_cactus.mts index e453573fb20ff33be7ca6f706c1e3370f2718f25..cadcdccbbbe730fc23537bf7d3311831e2aed19f 100644 GIT binary patch delta 41 xcmYdFo?x$1CGb)H)GBsnh1K`uJZ?CrvI`41s<|9sIME~!z?sFsptgf!EdVmX4W$48 delta 40 wcmYdJnqaT|zhIGE#{q^DtG2TXeM{JQkkw@Zr=S7DCIyy|CMgDnjXOAX0ad&X!2kdN diff --git a/mods/default/textures/default_dry_dirt.png b/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/mods/default/textures/default_grass.png b/mods/default/textures/default_grass.png index 0181fabda9fbaba45d8f763107bf0ad88e2f81c5..5778caa1dbabdb9d4cd1ff46e63c8bb810aa9a0c 100644 GIT binary patch delta 435 zcmV;k0Zjh+0?h-EB!8|@OjJcUViq}L7dd1WI%F6+WfwbR7dvDYJ7yR=XBRwW7d&Vf zJ!Tj^X&F6g7(QqiK4}*|YZ*Rp8b4|nKX4d8YZ*Xn7(i|qKyDg9aT!2!8$oRuL2nsB za2P>x8$om&L3JBKa2i5!8A5X#LUbBJb{s==97A;*LwFoSb$=a1b{s@^8$@^-MRy%V zcpOG}9!7Z`M|mGedLT%9A4q&2NqHYhdLBu9AWC~5N_-wleIY!VW{Lm+0NP1JK~xwS z1;K$rf-n>X(1%Tt7ZMSSCS@AJCB!m^v07t8 zOkM8o6ZB#;Xn&^!$ej)udTgovgc*&dvLIfA69qHs(QCS<{2hGhmMVb`ZBNM$7t@=Z z<21;Zub7aN(wZlUe6O-+*==bBy20MStaikCB*k$N$pNQYHfdUV%07Hdm>cv!S^s*n zN`MOzF|@Ag=Ri{I8XU#h57jtGfZ$98DV6Qa@tSf+*(~hOoCBN|m-zUw5=y)0I^L7_ dxoM>N`v*9X8o=o*kt delta 350 zcmV-k0ipiQ1Nj1wB!5>>OjJcSTp2fA8aQ7XIba()VjDYS96V(lJ!Ty}XdOOk9Y1Rx zKy4mDZXZH$A4725NqZtnd?QMJBTIiIOo1d#gCtIbB~OMWQHdr} ziYLsK!WRGl010qNS#tmY3ljhU3ljkVnw%H_000McNliru;C}=f4mS@Pk}$Ra006Z~ zL_t&-(-qHImclR$L{SAyGAOft8ECZ>_ zq->;E5QTc-P{6!Wx{N4{5k$e~(Qu8>-mmb%A!bA}BErtXA%FEWvs92&&>-|(#tQgK z(K2K3L$Wb!68&g|nIa-sF|IFq zvKh_X<0?mvi2|q-nq`17qp{1RE;IH8oUpS9)bk2gJ4~UfloSj7dIX?!d19gyBW)Ie ze5DP)T%pj9=Q zCL)x+AO*tQQ?&sAGeboF^zk~8BBTU+4;%b;$c%%ryMJF}1%CbLr;KaC2cc>mr7zf! z35`MoE1&_!oYC9dLRuG!_znCD;IkD1OCRrKgAvUyZZlx-*Gn*yk4k=mjD0&07*qoM6N<$ Eg1VXyLjV8( delta 756 zcmVleK~y-)O_M!uTtyUypEEOeX7^t9!!`;rU;#?O zuK-7(K;nl`P(eopTc(31QbfV8ph*GB%2IwsB$GH%kim|<>wn$*H8Y3e;uTYkH1B(K z&UxOE&%Qp=ckhi65&nL@rQCNEV@rDzNxfnVq1_~$H&h1&7pFDW8_KyOwu&3gEI0pj z#8wFt3qW5dx^2c-K{JTR&RmQK4M0~XOtVfHE5s%v2D)vgUPYQ!#09}umdPDYw@Ev* zFAeMSj=oMffPc5I8fJ$9V}%qGsa49o0)YA|qN)@l1Ay}e>xR3pEUuh8LS>1q5}O2o zv4SrR)*Fn?Y%e34GdU?P2-Xj8n!&W2ge`sM>%h|$t!+2Kging1?$>X!d`n<#CqySH!JUqRBi^f-$lgDR^FTVSD z0X+TV=NI>H(Uo(@tv1Ds0LPzybF`ct1};u(p8fjznE#yz-+r`=-H?e;S)M#RJ^u3h zPnOL(v44E@@>st5;U2aSnpLFTBt(SVD=7|JFUFS9#L`?R%KagIvCA~8$n>tq)mL!{ zQkQp}BbgKj&YI!+P0RGXKu&|%SYdkC|EDhv+slZrhWxv!5UPT8uV@}-4wWVKN?#{T zA-G^D_ln`KeEQ%3=Y_7$L#sCl%@8J**kw|u_-(Plc|*BBkm#FCj>`6JkKH>O0T3!n zc*oIgGpb5#mAwx~q+aQ^84)l}$Wck1l6u8h!B{s`A59&XFKTj9a#F;=`n)42r8+3E mgQxkal>aazTi077@9L~62TTL3+V zDq^itU?u=F6g6dOmWxsVQCJ43WwMH90CeVim?lP63jl0~CTeB2Dim1&K_w;vWP>Ya z0E8lFwd5jwrT|$TD5h*Af>r=@MrUMZYBUxAR3hnhW=3^w08nJcRv=YsS^#EcCb%Jn rwvhmVf_<^LHmZRD*QX+9q!;W}RIM}}j<_#v00000NkvXXu0mjfA%0Mv delta 238 zcmVwcL0UQjHx$QXAA&(m^XIEJ7*PY08u740(F!;cL0?# zdB(*ejkf@59XYpgC6Z?Vg;#iWcY8$_0A(T?hIdzneE?u}$7e8Rdusr9b~ni}m&c(1 ok&}(V$w#}90NA)Qc(oWDW+VtXRy1M~9{>OV07*qoM6N<$f(Fq{cK`qY diff --git a/mods/default/tools.lua b/mods/default/tools.lua index 9f503ed..d792d14 100644 --- a/mods/default/tools.lua +++ b/mods/default/tools.lua @@ -1,5 +1,8 @@ -- mods/default/tools.lua +-- support for MT game translation. +local S = default.get_translator + -- The hand minetest.register_item(":", { type = "none", @@ -22,7 +25,7 @@ minetest.register_item(":", { -- minetest.register_tool("default:pick_wood", { - description = "Wooden Pickaxe", + description = S("Wooden Pickaxe"), inventory_image = "default_tool_woodpick.png", tool_capabilities = { full_punch_interval = 1.2, @@ -32,12 +35,12 @@ minetest.register_tool("default:pick_wood", { }, damage_groups = {fleshy=2}, }, - groups = {flammable = 2}, sound = {breaks = "default_tool_breaks"}, + groups = {pickaxe = 1, flammable = 2} }) minetest.register_tool("default:pick_stone", { - description = "Stone Pickaxe", + description = S("Stone Pickaxe"), inventory_image = "default_tool_stonepick.png", tool_capabilities = { full_punch_interval = 1.3, @@ -48,10 +51,11 @@ minetest.register_tool("default:pick_stone", { damage_groups = {fleshy=3}, }, sound = {breaks = "default_tool_breaks"}, + groups = {pickaxe = 1} }) minetest.register_tool("default:pick_bronze", { - description = "Bronze Pickaxe", + description = S("Bronze Pickaxe"), inventory_image = "default_tool_bronzepick.png", tool_capabilities = { full_punch_interval = 1.0, @@ -62,10 +66,11 @@ minetest.register_tool("default:pick_bronze", { damage_groups = {fleshy=4}, }, sound = {breaks = "default_tool_breaks"}, + groups = {pickaxe = 1} }) minetest.register_tool("default:pick_steel", { - description = "Steel Pickaxe", + description = S("Steel Pickaxe"), inventory_image = "default_tool_steelpick.png", tool_capabilities = { full_punch_interval = 1.0, @@ -76,10 +81,11 @@ minetest.register_tool("default:pick_steel", { damage_groups = {fleshy=4}, }, sound = {breaks = "default_tool_breaks"}, + groups = {pickaxe = 1} }) minetest.register_tool("default:pick_mese", { - description = "Mese Pickaxe", + description = S("Mese Pickaxe"), inventory_image = "default_tool_mesepick.png", tool_capabilities = { full_punch_interval = 0.9, @@ -90,10 +96,11 @@ minetest.register_tool("default:pick_mese", { damage_groups = {fleshy=5}, }, sound = {breaks = "default_tool_breaks"}, + groups = {pickaxe = 1} }) minetest.register_tool("default:pick_diamond", { - description = "Diamond Pickaxe", + description = S("Diamond Pickaxe"), inventory_image = "default_tool_diamondpick.png", tool_capabilities = { full_punch_interval = 0.9, @@ -104,6 +111,7 @@ minetest.register_tool("default:pick_diamond", { damage_groups = {fleshy=5}, }, sound = {breaks = "default_tool_breaks"}, + groups = {pickaxe = 1} }) -- @@ -111,7 +119,7 @@ minetest.register_tool("default:pick_diamond", { -- minetest.register_tool("default:shovel_wood", { - description = "Wooden Shovel", + description = S("Wooden Shovel"), inventory_image = "default_tool_woodshovel.png", wield_image = "default_tool_woodshovel.png^[transformR90", tool_capabilities = { @@ -122,12 +130,12 @@ minetest.register_tool("default:shovel_wood", { }, damage_groups = {fleshy=2}, }, - groups = {flammable = 2}, sound = {breaks = "default_tool_breaks"}, + groups = {shovel = 1, flammable = 2} }) minetest.register_tool("default:shovel_stone", { - description = "Stone Shovel", + description = S("Stone Shovel"), inventory_image = "default_tool_stoneshovel.png", wield_image = "default_tool_stoneshovel.png^[transformR90", tool_capabilities = { @@ -139,10 +147,11 @@ minetest.register_tool("default:shovel_stone", { damage_groups = {fleshy=2}, }, sound = {breaks = "default_tool_breaks"}, + groups = {shovel = 1} }) minetest.register_tool("default:shovel_bronze", { - description = "Bronze Shovel", + description = S("Bronze Shovel"), inventory_image = "default_tool_bronzeshovel.png", wield_image = "default_tool_bronzeshovel.png^[transformR90", tool_capabilities = { @@ -154,10 +163,11 @@ minetest.register_tool("default:shovel_bronze", { damage_groups = {fleshy=3}, }, sound = {breaks = "default_tool_breaks"}, + groups = {shovel = 1} }) minetest.register_tool("default:shovel_steel", { - description = "Steel Shovel", + description = S("Steel Shovel"), inventory_image = "default_tool_steelshovel.png", wield_image = "default_tool_steelshovel.png^[transformR90", tool_capabilities = { @@ -169,10 +179,11 @@ minetest.register_tool("default:shovel_steel", { damage_groups = {fleshy=3}, }, sound = {breaks = "default_tool_breaks"}, + groups = {shovel = 1} }) minetest.register_tool("default:shovel_mese", { - description = "Mese Shovel", + description = S("Mese Shovel"), inventory_image = "default_tool_meseshovel.png", wield_image = "default_tool_meseshovel.png^[transformR90", tool_capabilities = { @@ -184,10 +195,11 @@ minetest.register_tool("default:shovel_mese", { damage_groups = {fleshy=4}, }, sound = {breaks = "default_tool_breaks"}, + groups = {shovel = 1} }) minetest.register_tool("default:shovel_diamond", { - description = "Diamond Shovel", + description = S("Diamond Shovel"), inventory_image = "default_tool_diamondshovel.png", wield_image = "default_tool_diamondshovel.png^[transformR90", tool_capabilities = { @@ -199,6 +211,7 @@ minetest.register_tool("default:shovel_diamond", { damage_groups = {fleshy=4}, }, sound = {breaks = "default_tool_breaks"}, + groups = {shovel = 1} }) -- @@ -206,7 +219,7 @@ minetest.register_tool("default:shovel_diamond", { -- minetest.register_tool("default:axe_wood", { - description = "Wooden Axe", + description = S("Wooden Axe"), inventory_image = "default_tool_woodaxe.png", tool_capabilities = { full_punch_interval = 1.0, @@ -216,12 +229,12 @@ minetest.register_tool("default:axe_wood", { }, damage_groups = {fleshy=2}, }, - groups = {flammable = 2}, sound = {breaks = "default_tool_breaks"}, + groups = {axe = 1, flammable = 2} }) minetest.register_tool("default:axe_stone", { - description = "Stone Axe", + description = S("Stone Axe"), inventory_image = "default_tool_stoneaxe.png", tool_capabilities = { full_punch_interval = 1.2, @@ -232,10 +245,11 @@ minetest.register_tool("default:axe_stone", { damage_groups = {fleshy=3}, }, sound = {breaks = "default_tool_breaks"}, + groups = {axe = 1} }) minetest.register_tool("default:axe_bronze", { - description = "Bronze Axe", + description = S("Bronze Axe"), inventory_image = "default_tool_bronzeaxe.png", tool_capabilities = { full_punch_interval = 1.0, @@ -246,10 +260,11 @@ minetest.register_tool("default:axe_bronze", { damage_groups = {fleshy=4}, }, sound = {breaks = "default_tool_breaks"}, + groups = {axe = 1} }) minetest.register_tool("default:axe_steel", { - description = "Steel Axe", + description = S("Steel Axe"), inventory_image = "default_tool_steelaxe.png", tool_capabilities = { full_punch_interval = 1.0, @@ -260,10 +275,11 @@ minetest.register_tool("default:axe_steel", { damage_groups = {fleshy=4}, }, sound = {breaks = "default_tool_breaks"}, + groups = {axe = 1} }) minetest.register_tool("default:axe_mese", { - description = "Mese Axe", + description = S("Mese Axe"), inventory_image = "default_tool_meseaxe.png", tool_capabilities = { full_punch_interval = 0.9, @@ -274,10 +290,11 @@ minetest.register_tool("default:axe_mese", { damage_groups = {fleshy=6}, }, sound = {breaks = "default_tool_breaks"}, + groups = {axe = 1} }) minetest.register_tool("default:axe_diamond", { - description = "Diamond Axe", + description = S("Diamond Axe"), inventory_image = "default_tool_diamondaxe.png", tool_capabilities = { full_punch_interval = 0.9, @@ -288,6 +305,7 @@ minetest.register_tool("default:axe_diamond", { damage_groups = {fleshy=7}, }, sound = {breaks = "default_tool_breaks"}, + groups = {axe = 1} }) -- @@ -295,7 +313,7 @@ minetest.register_tool("default:axe_diamond", { -- minetest.register_tool("default:sword_wood", { - description = "Wooden Sword", + description = S("Wooden Sword"), inventory_image = "default_tool_woodsword.png", tool_capabilities = { full_punch_interval = 1, @@ -305,12 +323,12 @@ minetest.register_tool("default:sword_wood", { }, damage_groups = {fleshy=2}, }, - groups = {flammable = 2}, sound = {breaks = "default_tool_breaks"}, + groups = {sword = 1, flammable = 2} }) minetest.register_tool("default:sword_stone", { - description = "Stone Sword", + description = S("Stone Sword"), inventory_image = "default_tool_stonesword.png", tool_capabilities = { full_punch_interval = 1.2, @@ -321,10 +339,11 @@ minetest.register_tool("default:sword_stone", { damage_groups = {fleshy=4}, }, sound = {breaks = "default_tool_breaks"}, + groups = {sword = 1} }) minetest.register_tool("default:sword_bronze", { - description = "Bronze Sword", + description = S("Bronze Sword"), inventory_image = "default_tool_bronzesword.png", tool_capabilities = { full_punch_interval = 0.8, @@ -335,10 +354,11 @@ minetest.register_tool("default:sword_bronze", { damage_groups = {fleshy=6}, }, sound = {breaks = "default_tool_breaks"}, + groups = {sword = 1} }) minetest.register_tool("default:sword_steel", { - description = "Steel Sword", + description = S("Steel Sword"), inventory_image = "default_tool_steelsword.png", tool_capabilities = { full_punch_interval = 0.8, @@ -349,10 +369,11 @@ minetest.register_tool("default:sword_steel", { damage_groups = {fleshy=6}, }, sound = {breaks = "default_tool_breaks"}, + groups = {sword = 1} }) minetest.register_tool("default:sword_mese", { - description = "Mese Sword", + description = S("Mese Sword"), inventory_image = "default_tool_mesesword.png", tool_capabilities = { full_punch_interval = 0.7, @@ -363,10 +384,11 @@ minetest.register_tool("default:sword_mese", { damage_groups = {fleshy=7}, }, sound = {breaks = "default_tool_breaks"}, + groups = {sword = 1} }) minetest.register_tool("default:sword_diamond", { - description = "Diamond Sword", + description = S("Diamond Sword"), inventory_image = "default_tool_diamondsword.png", tool_capabilities = { full_punch_interval = 0.7, @@ -377,10 +399,11 @@ minetest.register_tool("default:sword_diamond", { damage_groups = {fleshy=8}, }, sound = {breaks = "default_tool_breaks"}, + groups = {sword = 1} }) minetest.register_tool("default:key", { - description = "Key", + description = S("Key"), inventory_image = "default_key.png", groups = {key = 1, not_in_creative_inventory = 1}, stack_max = 1, diff --git a/mods/default/torch.lua b/mods/default/torch.lua index 5de5f89..fcdc1fe 100644 --- a/mods/default/torch.lua +++ b/mods/default/torch.lua @@ -1,3 +1,8 @@ +-- default/torch.lua + +-- support for MT game translation. +local S = default.get_translator + local function on_flood(pos, oldnode, newnode) minetest.add_item(pos, ItemStack("default:torch 1")) -- Play flame-extinguish sound if liquid is not an 'igniter' @@ -14,7 +19,7 @@ local function on_flood(pos, oldnode, newnode) end minetest.register_node("default:torch", { - description = "Torch", + description = S("Torch"), drawtype = "mesh", mesh = "torch_floor.obj", inventory_image = "default_torch_on_floor.png", diff --git a/mods/default/trees.lua b/mods/default/trees.lua index 564b714..ad3e3f4 100644 --- a/mods/default/trees.lua +++ b/mods/default/trees.lua @@ -1,3 +1,8 @@ +-- default/trees.lua + +-- support for MT game translation. +local S = default.get_translator + local random = math.random -- @@ -560,9 +565,12 @@ function default.sapling_on_place(itemstack, placer, pointed_thing, interval) then minetest.record_protection_violation(pos, player_name) -- Print extra information to explain +-- minetest.chat_send_player(player_name, +-- itemstack:get_definition().description .. " will intersect protection " .. +-- "on growth") minetest.chat_send_player(player_name, - itemstack:get_definition().description .. " will intersect protection " .. - "on growth") + S("@1 will intersect protection on growth.", + itemstack:get_definition().description)) return itemstack end diff --git a/mods/doors/README.txt b/mods/doors/README.txt index 9c114b0..f9caaff 100644 --- a/mods/doors/README.txt +++ b/mods/doors/README.txt @@ -40,8 +40,10 @@ Following textures created by PenguinDad (CC BY-SA 4.0): Following textures created by sofar (CC-BY-SA-3.0): doors_trapdoor_steel.png - doors_trapdoor_steel_side.png + +Following textures created by paramat (CC-BY-SA-3.0): door_trapdoor_side.png + doors_trapdoor_steel_side.png Obsidian door textures by red-001 based on textures by Pilzadam and BlockMen (CC BY-SA 3.0): door_obsidian_glass.png diff --git a/mods/doors/depends.txt b/mods/doors/depends.txt deleted file mode 100644 index 5e28bee..0000000 --- a/mods/doors/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -screwdriver? diff --git a/mods/doors/init.lua b/mods/doors/init.lua index 0205ec7..85af0ef 100644 --- a/mods/doors/init.lua +++ b/mods/doors/init.lua @@ -1,9 +1,15 @@ +-- doors/init.lua + -- our API object doors = {} doors.registered_doors = {} doors.registered_trapdoors = {} +-- Load support for MT game translation. +local S = minetest.get_translator("doors") + + local function replace_old_owner_information(pos) local meta = minetest.get_meta(pos) local owner = meta:get_string("doors_owner") @@ -71,7 +77,7 @@ end -- this hidden node is placed on top of the bottom, and prevents -- nodes from being placed in the top half of the door. minetest.register_node("doors:hidden", { - description = "Hidden Door Segment", + description = S("Hidden Door Segment"), -- can't use airlike otherwise falling nodes will turn to entities -- and will be forever stuck until door is removed. drawtype = "nodebox", @@ -327,7 +333,7 @@ function doors.register(name, def) if def.protected then meta:set_string("owner", pn) - meta:set_string("infotext", "Owned by " .. pn) + meta:set_string("infotext", def.description .. "\n" .. S("Owned by @1", pn)) end if not (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) then @@ -401,7 +407,7 @@ function doors.register(name, def) -- verify placer is owner of lockable door if owner ~= pname then minetest.record_protection_violation(pos, pname) - minetest.chat_send_player(pname, "You do not own this locked door.") + minetest.chat_send_player(pname, S("You do not own this locked door.")) return nil end @@ -411,7 +417,7 @@ function doors.register(name, def) meta:set_string("key_lock_secret", secret) end - return secret, "a locked door", owner + return secret, S("a locked door"), owner end def.node_dig_prediction = "" else @@ -449,7 +455,7 @@ end doors.register("door_wood", { tiles = {{ name = "doors_door_wood.png", backface_culling = true }}, - description = "Wooden Door", + description = S("Wooden Door"), inventory_image = "doors_item_wood.png", groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, recipe = { @@ -461,7 +467,7 @@ doors.register("door_wood", { doors.register("door_steel", { tiles = {{name = "doors_door_steel.png", backface_culling = true}}, - description = "Steel Door", + description = S("Steel Door"), inventory_image = "doors_item_steel.png", protected = true, groups = {cracky = 1, level = 2}, @@ -477,7 +483,7 @@ doors.register("door_steel", { doors.register("door_glass", { tiles = {"doors_door_glass.png"}, - description = "Glass Door", + description = S("Glass Door"), inventory_image = "doors_item_glass.png", groups = {cracky=3, oddly_breakable_by_hand=3}, sounds = default.node_sound_glass_defaults(), @@ -492,7 +498,7 @@ doors.register("door_glass", { doors.register("door_obsidian_glass", { tiles = {"doors_door_obsidian_glass.png"}, - description = "Obsidian Glass Door", + description = S("Obsidian Glass Door"), inventory_image = "doors_item_obsidian_glass.png", groups = {cracky=3}, sounds = default.node_sound_glass_defaults(), @@ -580,7 +586,7 @@ function doors.register_trapdoor(name, def) local pn = placer:get_player_name() local meta = minetest.get_meta(pos) meta:set_string("owner", pn) - meta:set_string("infotext", "Owned by "..pn) + meta:set_string("infotext", def.description .. "\n" .. S("Owned by @1", pn)) return (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) end @@ -599,7 +605,7 @@ function doors.register_trapdoor(name, def) -- verify placer is owner of lockable door if owner ~= pname then minetest.record_protection_violation(pos, pname) - minetest.chat_send_player(pname, "You do not own this trapdoor.") + minetest.chat_send_player(pname, S("You do not own this trapdoor.")) return nil end @@ -609,7 +615,7 @@ function doors.register_trapdoor(name, def) meta:set_string("key_lock_secret", secret) end - return secret, "a locked trapdoor", owner + return secret, S("a locked trapdoor"), owner end def.node_dig_prediction = "" else @@ -642,10 +648,14 @@ function doors.register_trapdoor(name, def) type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} } - def_closed.tiles = {def.tile_front, - def.tile_front .. '^[transformFY', - def.tile_side, def.tile_side, - def.tile_side, def.tile_side} + def_closed.tiles = { + def.tile_front, + def.tile_front .. '^[transformFY', + def.tile_side, + def.tile_side, + def.tile_side, + def.tile_side + } def_opened.node_box = { type = "fixed", @@ -655,11 +665,14 @@ function doors.register_trapdoor(name, def) type = "fixed", fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} } - def_opened.tiles = {def.tile_side, def.tile_side, - def.tile_side .. '^[transform3', - def.tile_side .. '^[transform1', - def.tile_front .. '^[transform46', - def.tile_front .. '^[transform6'} + def_opened.tiles = { + def.tile_side, + def.tile_side .. '^[transform2', + def.tile_side .. '^[transform3', + def.tile_side .. '^[transform1', + def.tile_front .. '^[transform46', + def.tile_front .. '^[transform6' + } def_opened.drop = name_closed def_opened.groups.not_in_creative_inventory = 1 @@ -672,7 +685,7 @@ function doors.register_trapdoor(name, def) end doors.register_trapdoor("doors:trapdoor", { - description = "Wooden Trapdoor", + description = S("Wooden Trapdoor"), inventory_image = "doors_trapdoor.png", wield_image = "doors_trapdoor.png", tile_front = "doors_trapdoor.png", @@ -681,7 +694,7 @@ doors.register_trapdoor("doors:trapdoor", { }) doors.register_trapdoor("doors:trapdoor_steel", { - description = "Steel Trapdoor", + description = S("Steel Trapdoor"), inventory_image = "doors_trapdoor_steel.png", wield_image = "doors_trapdoor_steel.png", tile_front = "doors_trapdoor_steel.png", @@ -694,24 +707,25 @@ doors.register_trapdoor("doors:trapdoor_steel", { }) minetest.register_craft({ - output = 'doors:trapdoor 2', + output = "doors:trapdoor 2", recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, - {'', '', ''}, + {"group:wood", "group:wood", "group:wood"}, + {"group:wood", "group:wood", "group:wood"}, + {"", "", ""}, } }) minetest.register_craft({ - output = 'doors:trapdoor_steel', + output = "doors:trapdoor_steel", 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"}, } }) ----fence gate---- +local fence_collision_extra = minetest.settings:get_bool("enable_fence_tall") and 3/8 or 0 function doors.register_fencegate(name, def) local fence = { @@ -735,7 +749,7 @@ function doors.register_fencegate(name, def) end, selection_box = { type = "fixed", - fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4}, + fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4} }, } @@ -761,7 +775,7 @@ function doors.register_fencegate(name, def) fence_closed.sound = "doors_fencegate_open" fence_closed.collision_box = { type = "fixed", - fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4}, + fixed = {-1/2, -1/2, -1/8, 1/2, 1/2 + fence_collision_extra, 1/8} } local fence_open = table.copy(fence) @@ -771,8 +785,8 @@ function doors.register_fencegate(name, def) fence_open.groups.not_in_creative_inventory = 1 fence_open.collision_box = { type = "fixed", - fixed = {{-1/2, -1/2, -1/4, -3/8, 1/2, 1/4}, - {-1/2, -3/8, -1/2, -3/8, 3/8, 0}}, + fixed = {{-1/2, -1/2, -1/8, -3/8, 1/2 + fence_collision_extra, 1/8}, + {-1/2, -3/8, -1/2, -3/8, 3/8, 0 }} } minetest.register_node(":" .. name .. "_closed", fence_closed) @@ -781,42 +795,42 @@ function doors.register_fencegate(name, def) minetest.register_craft({ output = name .. "_closed", recipe = { - {"default:stick", def.material, "default:stick"}, - {"default:stick", def.material, "default:stick"} + {"group:stick", def.material, "group:stick"}, + {"group:stick", def.material, "group:stick"} } }) end doors.register_fencegate("doors:gate_wood", { - description = "Apple Wood Fence Gate", + description = S("Apple Wood Fence Gate"), texture = "default_wood.png", material = "default:wood", groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} }) doors.register_fencegate("doors:gate_acacia_wood", { - description = "Acacia Wood Fence Gate", + description = S("Acacia Wood Fence Gate"), texture = "default_acacia_wood.png", material = "default:acacia_wood", groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} }) doors.register_fencegate("doors:gate_junglewood", { - description = "Jungle Wood Fence Gate", + description = S("Jungle Wood Fence Gate"), texture = "default_junglewood.png", material = "default:junglewood", groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} }) doors.register_fencegate("doors:gate_pine_wood", { - description = "Pine Wood Fence Gate", + description = S("Pine Wood Fence Gate"), texture = "default_pine_wood.png", material = "default:pine_wood", groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3} }) doors.register_fencegate("doors:gate_aspen_wood", { - description = "Aspen Wood Fence Gate", + description = S("Aspen Wood Fence Gate"), texture = "default_aspen_wood.png", material = "default:aspen_wood", groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3} diff --git a/mods/doors/locale/doors.de.tr b/mods/doors/locale/doors.de.tr new file mode 100644 index 0000000..79707ce --- /dev/null +++ b/mods/doors/locale/doors.de.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Verborgenes Türsegment +Owned by @1=Eigentum von @1 +You do not own this locked door.=Diese abgeschlossene Tür gehört Ihnen nicht. +a locked door=eine abgeschlossene Tür +Wooden Door=Holztür +Steel Door=Stahltür +Glass Door=Glastür +Obsidian Glass Door=Obsidianglastür +You do not own this trapdoor.=Diese Falltür gehört Ihnen nicht. +a locked trapdoor=eine abgeschlossene Falltür +Wooden Trapdoor=Holzfalltür +Steel Trapdoor=Stahlfalltür +Apple Wood Fence Gate=Apfelholzzauntor +Acacia Wood Fence Gate=Akazienholzzauntor +Jungle Wood Fence Gate=Dschungelholzzauntor +Pine Wood Fence Gate=Kiefernholzzauntor +Aspen Wood Fence Gate=Espenholzzauntor diff --git a/mods/doors/locale/doors.es.tr b/mods/doors/locale/doors.es.tr new file mode 100644 index 0000000..677f2df --- /dev/null +++ b/mods/doors/locale/doors.es.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Segmento de puerta oculta +Owned by @1=Propiedad de @1 +You do not own this locked door.=Esta puerta cerrada no te pertenece. +a locked door=una puerta cerrada +Wooden Door=Puerta de madera +Steel Door=Puerta de acero +Glass Door=Puerta de vidrio +Obsidian Glass Door=Puerta de vidrio de obsidiana +You do not own this trapdoor.=Esta trampilla no te pertenece. +a locked trapdoor=una trampilla cerrada +Wooden Trapdoor=Trampilla de madera +Steel Trapdoor=Trampilla de acero +Apple Wood Fence Gate=Puerta de cerca de manzano +Acacia Wood Fence Gate=Puerta de cerca de acacia +Jungle Wood Fence Gate=Puerta de cerca de madera tropical +Pine Wood Fence Gate=Puerta de cerca de pino +Aspen Wood Fence Gate=Puerta de cerca de álamo diff --git a/mods/doors/locale/doors.fr.tr b/mods/doors/locale/doors.fr.tr new file mode 100644 index 0000000..930f75c --- /dev/null +++ b/mods/doors/locale/doors.fr.tr @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment=Segment de porte cachée +Owned by @1=Possédée par @1 +You do not own this locked door.=Cette porte vérouillée ne vous appartient pas. +a locked door=une porte verouillée +Wooden Door=Porte en bois +Steel Door=Porte en acier +Glass Door=Porte en verre +Obsidian Glass Door=Porte en verre d'obsidienne +You do not own this trapdoor.=Vous ne possédez pas cette trappe. +a locked trapdoor=une trappe verouillée +Wooden Trapdoor=Trappe en bois +Steel Trapdoor=Trappe en acier +Apple Wood Fence Gate=Porte de clôture en bois de pommier +Acacia Wood Fence Gate=Porte de clôture en bois d'acacia +Jungle Wood Fence Gate=Porte de clôture en bois de la jungle +Pine Wood Fence Gate=Porte de clôture en bois de pin +Aspen Wood Fence Gate=Porte de clôture en bois de tremble diff --git a/mods/doors/locale/doors.it.tr b/mods/doors/locale/doors.it.tr new file mode 100644 index 0000000..e894283 --- /dev/null +++ b/mods/doors/locale/doors.it.tr @@ -0,0 +1,19 @@ +# textdomain: doors +Hidden Door Segment=Segmento di porta nascosto +Owned by @1=Di proprietà di @1 +You do not own this locked door.=Non sei il proprietario di questa porta chiusa a chiave. +a locked door=una porta chiusa a chiave +Wooden Door=Porta di legno +Steel Door=Porta d'acciacio +Glass Door=Porta di vetro +Obsidian Glass Door=Porta di vetro d'ossidiana +Owned by @1=Di proprietà di @1 +You do not own this trapdoor.=Non sei il proprietario di questa botola. +a locked trapdoor=una botola chiusa a chiave +Wooden Trapdoor=Botola di legno +Steel Trapdoor=Botola d'acciaio +Apple Wood Fence Gate=Cancello della recinzione di legno di melo +Acacia Wood Fence Gate=Cancello della recinzione di legno d'acacia +Jungle Wood Fence Gate=Cancello della recinzione di legno della giungla +Pine Wood Fence Gate=Cancello della recinzione di legno di pino +Aspen Wood Fence Gate=Cancello della recinzione di legno di pioppo \ No newline at end of file diff --git a/mods/doors/locale/template.txt b/mods/doors/locale/template.txt new file mode 100644 index 0000000..8b5c349 --- /dev/null +++ b/mods/doors/locale/template.txt @@ -0,0 +1,18 @@ +# textdomain: doors +Hidden Door Segment= +Owned by @1= +You do not own this locked door.= +a locked door= +Wooden Door= +Steel Door= +Glass Door= +Obsidian Glass Door= +You do not own this trapdoor.= +a locked trapdoor= +Wooden Trapdoor= +Steel Trapdoor= +Apple Wood Fence Gate= +Acacia Wood Fence Gate= +Jungle Wood Fence Gate= +Pine Wood Fence Gate= +Aspen Wood Fence Gate= diff --git a/mods/doors/mod.conf b/mods/doors/mod.conf new file mode 100644 index 0000000..de053c2 --- /dev/null +++ b/mods/doors/mod.conf @@ -0,0 +1,4 @@ +name = doors +description = Minetest Game mod: doors +depends = default +optional_depends = screwdriver diff --git a/mods/doors/textures/doors_trapdoor_side.png b/mods/doors/textures/doors_trapdoor_side.png index 4a8b99f2836e47737f494f2c1959486337994e6e..55981ea32cb49b8227fe85beafafb2ee599653c7 100644 GIT binary patch delta 88 zcmZ3Cm9$R7?Zr+T^Kr8Wj%l#&H|6f zVg?3oVGw3ym^DWND9B#o>Fdh=kd1>=hGUOwpaxJ#!PCVtgyVX0L7`z;VPRoeVn9$z mKv0lSh>O94ppp<~h8{C<&-)9@KLOP;c)GIrxvX diff --git a/mods/doors/textures/doors_trapdoor_steel_side.png b/mods/doors/textures/doors_trapdoor_steel_side.png index 44c4344b2b4f4ba16d9ea1427d94ad5abcff8ef3..e29c59e014db2e8b1aee99b652af4138e85a3f76 100644 GIT binary patch delta 62 zcmYdInxJXPz`(G5`}T9^&WThV69;lcJY5_^IIbs0u(I$hbU5I^*)W@l!Syiv&xgg= RX949IJYD@<);T3K0RW`~6<+`V delta 65 zcmYdFouFy6ef#!v=g!@`cdtb>)SQ8VLEO{DF@)oKasoqRfI>n9D~kZr8C8EKhCO@5 VUoyE{UjQm$@O1TaS?83{1OQ2k7OMaN diff --git a/mods/dungeon_loot/depends.txt b/mods/dungeon_loot/depends.txt deleted file mode 100644 index 4ad96d5..0000000 --- a/mods/dungeon_loot/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/dungeon_loot/loot.lua b/mods/dungeon_loot/loot.lua index 3fe0bff..7eb08cd 100644 --- a/mods/dungeon_loot/loot.lua +++ b/mods/dungeon_loot/loot.lua @@ -1,10 +1,13 @@ dungeon_loot.registered_loot = { -- buckets {name = "bucket:bucket_empty", chance = 0.55}, - -- water in deserts or above ground, lava otherwise - {name = "bucket:bucket_water", chance = 0.45, types = {"sandstone", "desert"}}, - {name = "bucket:bucket_water", chance = 0.45, y = {0, 32768}, types = {"normal"}}, - {name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1}, types = {"normal"}}, + -- 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"}}, -- various items {name = "default:stick", chance = 0.6, count = {3, 6}}, @@ -16,8 +19,10 @@ dungeon_loot.registered_loot = { {name = "farming:string", chance = 0.5, count = {1, 8}}, {name = "farming:wheat", chance = 0.5, count = {2, 5}}, {name = "default:apple", chance = 0.4, count = {1, 4}}, - {name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, types = {"normal"}}, - {name = "default:cactus", chance = 0.4, count = {1, 4}, types = {"sandstone", "desert"}}, + {name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, + types = {"normal"}}, + {name = "default:cactus", chance = 0.4, count = {1, 4}, + types = {"sandstone", "desert"}}, -- minerals {name = "default:coal_lump", chance = 0.9, count = {1, 12}}, @@ -31,10 +36,16 @@ dungeon_loot.registered_loot = { {name = "default:axe_diamond", chance = 0.05}, -- natural materials - {name = "default:sand", chance = 0.8, count = {4, 32}, y = {-64, 32768}, types = {"normal"}}, - {name = "default:desert_sand", chance = 0.8, count = {4, 32}, y = {-64, 32768}, types = {"sandstone"}}, - {name = "default:desert_cobble", chance = 0.8, count = {4, 32}, types = {"desert"}}, - {name = "default:dirt", chance = 0.6, count = {2, 16}, y = {-64, 32768}}, + {name = "default: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}}, } diff --git a/mods/dungeon_loot/mapgen.lua b/mods/dungeon_loot/mapgen.lua index 366d4ce..624e9a8 100644 --- a/mods/dungeon_loot/mapgen.lua +++ b/mods/dungeon_loot/mapgen.lua @@ -15,12 +15,8 @@ local function random_sample(rand, list, count) end local function find_walls(cpos) - local wall = minetest.registered_aliases["mapgen_cobble"] - local wall_alt = minetest.registered_aliases["mapgen_mossycobble"] - local wall_ss = minetest.registered_aliases["mapgen_sandstonebrick"] - local wall_ds = minetest.registered_aliases["mapgen_desert_stone"] local is_wall = function(node) - return table.indexof({wall, wall_alt, wall_ss, wall_ds}, node.name) ~= -1 + 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}} @@ -29,7 +25,6 @@ local function find_walls(cpos) local ret = {} local mindist = {x=0, z=0} local min = function(a, b) return a ~= 0 and math.min(a, b) or b end - local wallnode for _, dir in ipairs(dirs) do for i = 1, 9 do -- 9 = max room size / 2 local pos = vector.add(cpos, {x=dir.x*i, y=0, z=dir.z*i}) @@ -50,7 +45,6 @@ local function find_walls(cpos) else mindist.z = min(mindist.z, i-1) end - wallnode = node.name end -- abort even if it wasn't a wall cause something is in the way break @@ -58,14 +52,21 @@ local function find_walls(cpos) end end - local mapping = { - [wall_ss] = "sandstone", - [wall_ds] = "desert" - } + local biome = minetest.get_biome_data(cpos) + biome = biome and minetest.get_biome_name(biome.biome) or "" + local type = "normal" + if 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 = mapping[wallnode] or "normal" + type = type, } end @@ -75,8 +76,8 @@ local function populate_chest(pos, rand, dungeontype) local item_list = dungeon_loot._internal_get_loot(pos.y, dungeontype) -- take random (partial) sample of all possible items - assert(#item_list >= dungeon_loot.STACKS_PER_CHEST_MAX) - item_list = random_sample(rand, item_list, dungeon_loot.STACKS_PER_CHEST_MAX) + 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 = {} diff --git a/mods/dungeon_loot/mod.conf b/mods/dungeon_loot/mod.conf new file mode 100644 index 0000000..79d8089 --- /dev/null +++ b/mods/dungeon_loot/mod.conf @@ -0,0 +1,3 @@ +name = dungeon_loot +description = Minetest Game mod: dungeon_loot +depends = default diff --git a/mods/dye/depends.txt b/mods/dye/depends.txt deleted file mode 100644 index e69de29..0000000 diff --git a/mods/dye/init.lua b/mods/dye/init.lua index 42f59cf..f0affe8 100644 --- a/mods/dye/init.lua +++ b/mods/dye/init.lua @@ -1,16 +1,21 @@ +-- 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"}, + {"dark_grey", "Dark Grey"}, {"black", "Black"}, {"violet", "Violet"}, {"blue", "Blue"}, {"cyan", "Cyan"}, - {"dark_green", "Dark green"}, + {"dark_green", "Dark Green"}, {"green", "Green"}, {"yellow", "Yellow"}, {"brown", "Brown"}, @@ -30,7 +35,7 @@ for _, row in ipairs(dye.dyes) do minetest.register_craftitem("dye:" .. name, { inventory_image = "dye_" .. name .. ".png", - description = description .. " Dye", + description = S(description .. " Dye"), groups = groups }) @@ -94,7 +99,29 @@ local dye_recipes = { for _, mix in pairs(dye_recipes) do minetest.register_craft({ type = "shapeless", - output = 'dye:' .. mix[3] .. ' 2', - recipe = {'dye:' .. mix[1], 'dye:' .. mix[2]}, + 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/mods/dye/locale/dye.de.tr b/mods/dye/locale/dye.de.tr new file mode 100644 index 0000000..f73fb57 --- /dev/null +++ b/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/mods/dye/locale/dye.es.tr b/mods/dye/locale/dye.es.tr new file mode 100644 index 0000000..bd04ef4 --- /dev/null +++ b/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/mods/dye/locale/dye.fr.tr b/mods/dye/locale/dye.fr.tr new file mode 100644 index 0000000..390fa07 --- /dev/null +++ b/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/mods/dye/locale/dye.it.tr b/mods/dye/locale/dye.it.tr new file mode 100644 index 0000000..bd856ee --- /dev/null +++ b/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 \ No newline at end of file diff --git a/mods/dye/locale/template.txt b/mods/dye/locale/template.txt new file mode 100644 index 0000000..c20bab5 --- /dev/null +++ b/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/mods/dye/mod.conf b/mods/dye/mod.conf new file mode 100644 index 0000000..32bb816 --- /dev/null +++ b/mods/dye/mod.conf @@ -0,0 +1,2 @@ +name = dye +description = Minetest Game mod: dye diff --git a/mods/env_sounds/README.txt b/mods/env_sounds/README.txt new file mode 100644 index 0000000..42835d2 --- /dev/null +++ b/mods/env_sounds/README.txt @@ -0,0 +1,13 @@ +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 diff --git a/mods/env_sounds/init.lua b/mods/env_sounds/init.lua new file mode 100644 index 0000000..546e990 --- /dev/null +++ b/mods/env_sounds/init.lua @@ -0,0 +1,64 @@ +-- Parameters + +local radius = 8 -- Water node search radius around player + +-- End of parameters + + +local river_source_sounds = minetest.settings:get_bool("river_source_sounds") + + +-- Update sound for player + +local function update_sound(player) + local player_name = player:get_player_name() + local ppos = player:get_pos() + local areamin = vector.subtract(ppos, radius) + local areamax = vector.add(ppos, radius) + local water_nodes = {"default:water_flowing", "default:river_water_flowing"} + if river_source_sounds then + table.insert(water_nodes, "default:river_water_source") + end + local wpos, _ = minetest.find_nodes_in_area(areamin, areamax, water_nodes) + local waters = #wpos + if waters == 0 then + return + end + + -- Find average position of water positions + local wposav = vector.new() + for _, pos in ipairs(wpos) do + wposav.x = wposav.x + pos.x + wposav.y = wposav.y + pos.y + wposav.z = wposav.z + pos.z + end + wposav = vector.divide(wposav, waters) + + minetest.sound_play( + "env_sounds_water", + { + pos = wposav, + to_player = player_name, + gain = math.min(0.04 + waters * 0.004, 0.4), + } + ) +end + + +-- Update sound 'on joinplayer' + +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/mods/env_sounds/license.txt b/mods/env_sounds/license.txt new file mode 100644 index 0000000..ff8867d --- /dev/null +++ b/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/mods/env_sounds/mod.conf b/mods/env_sounds/mod.conf new file mode 100644 index 0000000..ad6feb3 --- /dev/null +++ b/mods/env_sounds/mod.conf @@ -0,0 +1,3 @@ +name = env_sounds +description = Minetest Game mod: env_sounds +depends = default diff --git a/mods/env_sounds/sounds/env_sounds_water.1.ogg b/mods/env_sounds/sounds/env_sounds_water.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aa808825e220458a73b20560146d2661cfffe8e8 GIT binary patch literal 80221 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%0A4=sX4d1GNF;SO3^LQ_ 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 Clj-RI literal 0 HcmV?d00001 diff --git a/mods/env_sounds/sounds/env_sounds_water.2.ogg b/mods/env_sounds/sounds/env_sounds_water.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b3ff114fe9723d317c825fbb10699ee31372d518 GIT binary patch literal 84658 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

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/mods/env_sounds/sounds/env_sounds_water.3.ogg b/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| zJ0|(KTr%U(z(7;%H|V$98_OSF=YJmjJLX<$KdUD9I9Q;?tIi8VJ5M61>)LrDA%e+( zD&bAvh}ExWRTZHh<2iR$sLvw1YO~9I(BFBw_^%p-h4uYwwdJeKx1g3;Jm{TH$D42o z*(1YBsMGAJdxFun9W`_NYBq)rDl>VpbW!O(NBM-`d4gg2mpsHc!z+)bA@)=q)b4;1 zAl5%JJlb4Hx3)`cQ4cKfuKRw|S&D~x8^e|-O*k{c%h|+uLtJF!S^I)J;*0vZkkb_a zN~z_#Q`tZzZ#>!AF9RrA3Es=nQ#xL}a?L}jyBus;pX6`m#1V&60fNFFbUW3(v+3VX zZ;UV`e+v2&%SYrFagzL8k>J_N_2)Pj#Ja&ckj#Uir1n6wAK}!{$)EFpm0L-SUoS0l zmh`R5W8vC)Lwm?M>54Rh7x_jE_Kr7RQ^Lp#i`ooiRxWxyokLuu!Tz{172^`QF%RfO zszhvF;%Yy&W2%?8$^<8|+{OTdBpyd27+Qe}^W*B5Si!N9QLD>PQ_c1^v^^?;*V~v8 zIT4*c;8+*rw{o=-8yK4!GrIw>%vyAl;# zb0}Z=uh%_e61tq>mlqK!SliGB=Hl#aW6+t$wUB$Zay6UGW?GMP(xbU<62}zlKX;pw zHX-1|W$@!;vn*7j);?aWOz z&A?zat&xot_xahACiGKO?7%-KA2yRbFuqV$kXGn0-}B})QCiJ!%l0yyX0fn=dfyGF zR9%vSmeOeUMq= zorOn#xt&~@qdAE*mqP%DYG59Y|KUdS&BxB)r)9rfZ16U8@_b@cab%rj|*W zuWLoP{XjdlJ2T5+bysj*og1m0@5^0R*#|VbgPk?K`$T5(l;H7ik4#U$Q4Rsvp;3ZC zvI_XuKurZ6a~w=f_zQQCFpJ2FtADY5=jiq~#Ul*6@s!S3Q2GU<%fTUMD@Ff0W>0H*K@?by_Ekt-9xa(km5mJwU%MF9zHeOYrUJX_r1Rj zTsr^R556muz3`p2>K#M-i^gR?75rkP!z0&0Qp_uLs-$>l>9OUGHkH$*%@&midn| zw=#7WBdv{n!qJ3>196n=oxR4;%h2y8l?_00Yx8mGSBM^->%+B1g^Tgs?yUsto2PXN zrqysN-73XO!Gg#+vc3s)6IRlqOvf=%i?d9!V#<%jEc+pw+kLK0-lIKd{3fgbWZQMnhCJOpeuxKHJg+>Z3| zBb}Z1Y!@)W;uj?r?4i+2VJ+FT8fCTYBKp|xKQ-x8q>;Cu2_+Oh8yL0_g!Hgw0lgwg z<`6$f+K(|sHPHdj9R|AmO(CE~PG~a$(e3^xo7eKU_<}Go)t(iFk6D|GO!nX}k*kJ* zcg~@`hwY_@V%tw55|2lYgeK=JE-V{i+rYFcJ%RDSJ&b&3hj z%6cw!_e}EPxOibs%u8?MOWTT3(Zx%v zd8^mTd@xv^qj`K^X9mP=S|U=s{JQaGPt6xJMg2;2)_v*Fqwpv{^hDE0M1;f!>J-Ud zC6ikF$jB3`a2!cj#QrQ&zssehFRWfpRFpKf@o%#Xg8rY9%U==yr#T>kGzSg%OC3Qv zc2@TPc0xg#11sCX);beA2Rj`Isi39f;5ekAWoKpG*xjLHVPge_8`waF4z$#Cv@9GP zTQt=4v>j-m`h-b*$~kcBIXfv+M8Z)=>!gbEiaTrMM}H;J2uBR@WduTggjN{_ z=XDBit%`zz%qNGKbM3Z8yG?b^) z1b$`FKjxi|L)8W8<}~IbpHI&;L*oLaF_oCjVU+k|(UrWr?(@4~lJb60n@FE;lMq%{ z3K7cA@y09GKx!DZj=vO?;nQ$7(!^UkAtIDTOPlE1D9sM zkXA}SEzefSxQ#EL(%P~Si=SK_k0yFDC!YE$nw(2ZYd*1IIl(Mh z5%RBlRiyGCI=W~uP_Kcg#5W`QK}Tq6>DxS%swuPKA-aF-S2$1Y!i$swg+q{kiv<9T z^y6~HxI9oi|AuHt$y+VMDD%TSLvjQJ=0>*&*)`ufFnv&7UXMYBEJ7=Gkk5YH+#(Mk zYR7Y!P-}_(VM_emuZsR)FO0>wF-foKo-Yo7Nj=UnSY-sBII7(P1(TloJxsELn2N|0 zUzwX;a*?UrE>hi?DGjgyY94WyDvp(}snP?RyXE{aRvNq$esAiTAMU;<(n#P-8r+Tghf}b?Jv_AMh?%q=x)jmex@MJWEd&Ul-3g;jJFDme- z)*Aa2!0_ES?xRfR98qziuFP;RJ3A4Brj(iGqV~{p_v4|)|H7$oA6c?|R>y2!OZ}N= z+%oK#Rlol3tmV3KzrFQZ`Qo2Gwa`_ z;}Fzqa;}>iOoi}B0s+bSBlaZQQBzWC!{mUjrj6$~r>L#t_qqP38X4CQaJU|wf7ZJV zOLeAwVE0&I1!dJ%i)WU+Pvs?94lGsL7)tf#t1AtRtx{rg`$0!97~#iUd=Xrx$J0|b za4&O6XnuNVN5+y$Az!5q=B$bPc8LBbt8%tDC=PgMx^kSEwS9$uHvE}(fn%$2zJ>=v zZcq{Y={Km2`kVsqM0WyiLsLT$Og%)&wJzvaoAjwwoC54eKue6Ey}fltJ_#seltPjj z1Bt1w5C!kXgjG!q1Zx)?91b~s+-$yu0aj1v$|dy}E=}ZLv8dGyc8^IL`;5iXBAo2s zQ3${Kr;ffnGud3BF;J_2Mh9Z0Xa=i%ac^TeyC|<4tp5G7`8et^s!)n|9$@Ek<@EVM zD7WlL!@XO5Y&_g625#M$=B@ct<=tTnz|hGPPl=Xn!rdNS%gKk_CS}xEET_n6qh@ui zsqPW#Q9>PrHOD?SLP)p-#&5{e)m2!%gH|;oFb}1E(7NC8xpz#ng(j-(Co=*k6yJ+S z`zk~+v2ItCl6pNAOE~C1s(#ergAD+*O0JRU|EUCSD1#k?W&c3*X}_t;*H|ADz`Hty ztfUH{^%Qn>uMbA7IzV;vbT<5$gm11wX#ilf+b6B7|IVFm65W)c%sXJ#RJf`Nk zi)VWuvGOxx=@dRQ@h`m9BCKt*@=J1FbLoO_+!7E%Yzx|+Dleeek-;d1$8~-kN}#FX zy!B^!5KjfT@jV^JuJ9xnUQ?00R(%a~rUlf-?b;MIzca5xz`xl*oGSsj!c{kEmOru_ zcIb&ODSRCv^def({Qr0%))f}YHk6N#wZDs}0VugW=v6K)$2ps0|HWUi_dN+0Jze?!oqs?-FK;mZ=14kkKGslC z#9!hWn+FDZphnX~IXpF-*5XlB?{4kqS+CLio*L0Vl^e@QHXukGkK#e)aaGq~fS4E3 z?7Tosva2IOK-TZCW*%t@L$5PWE2ZHIj@Fgoy|dC%RMtlkNOqteioijgLdKbLGPptf z=JBDv+LF|f`J2qHcGebbgPvZibrm)v=sB%$(qodDZkGC5nh=v^n1+b|r0k{zM#tOr zE!+3(!Etz4;eNl|dJhNRb4DcA^(#1R#5*r^)uESMGo~nU>qeQwNHCn zB|N>B#IthHNj;;@(n0PQk8A#t9Cp@n#@`UBsC}^GK5PW!y9798o>mb5-hM03+ zR6SjO2i=k+%YIX*U}@=SE4KO!4oeJADc|&b@-r2TklG_};)m;BDdyledJ{^6%qapF zOBdg?$Xb!JDos_jA!&W$ODif|kPZ5en7@UjpAgU4m;0?;4pkeDcT&WY4ALjnC5RvpvoWF(Q;_)YUePqXJ z8}TSyvxTR?v$-SgAxz(4ukrWGxjV;`t2~j0cV_dH^&FG@popk&RF-mpE1#+`^h>S+G@A6 zD6e!?g#13Zv#!IaWodQM_*boV7TmvhgA*d~kBdS0CxrYqgow=gM2P5j!VK%EqN;C& z_h83A3R|N#Ki*bisP9TV%9u`Kn|gh{RH>`*QjYPS4UOqB<0;O(AF2>I!6C&5eE4 zvbccP*Ufqk{J;}*%5Nmg4J{CyVbY!Z%|6m_h=(z#(LdH_X~-YsVm5#5iuPz^%Q4HZ z{t7ejQ4j7Cd~bxWl!WF(5lCE8R9Z~K9RBA#>`i#ZCuy5mpi?jj;eNPLNG37rZiYpo zi1rY0+7=^#ReMK^0W}jkKkGtmW0ofTW!#kf5qMP*6m^zWz1K~lt>u#t44kqHOE?wg zLUt2jK#L!W2+(*Sko@t}Gr(xv`grG}`P5x7U!Ff?&S;TS^bprK|KhK=f z&jVRq0HTSK?0_S9`LbUa4s~mp#NYHysnRQ59b?lm6w!{M_PHdHz?+oq^bYwd{8G>b zzHI0oh$YDta5*fOIK{IcxT1z&?o>?mJQf<&{vY~Ib_`@P{BcQ32 z5@9PECr#|XJ{T-HC;ZDXvz2Mi|7tq&+F)Rqmb$!O`(E#&XtNo4|8Nw|ln#M}d^sd!A9cFgv&-Pp8| z7MvLPy5R|n8SZ%LdgkWy%WLLp+}#FkB$uO-$NWhKwF8XE<7TXK2&gkj zkgV1^{G;Up^{MItY>xfG@Kv8k)rG>riin{?rLyCE)>d$!`mCC*Jt^cGJMi=dfXF`% z77H%3Xc~WyMnB-|^=NHzN9h5l-pCxBz~8*ZbxFq6()ID?URU#rwx7vW9YCoim8!s3 zDxny$y+-w?)a(BP+FLK!Rd_8v-1dmN^1J2|FP-|KOTZgvQpB3$kWU=;R{ z^U34?CQf|sXF|!ci0D)fdy?_1J%v8t=NN9+)IlsS&hKK=N}zq#t~W7u- zYeVGEFNgO6YI%k_(t3g9?ZLu=HkiN%i~QSuj0~`IA&+qrcwkoEQ1N2S-p1{5&~n#$ z4MA%+4c_#JQ_rw>yvus}BwF(Mw=$gY71=a@8>G5JP-*PJW+u$&8iK+}zyyn1rU(;- zP&?J{ruTv6;!4z*pX~Kaz8P&(nbeDAp#ePdUOBCeF4jP~jSa-9d@)1!NS*9f1vdC^ z%Tlr#a@ytX9qt|vhmUWXVXCx2eTwS#Pd;aa-kA>b=wxsg^af2>+5>3PYA&%qLo%fa zdNrokTr`J5-m{T~PFyS{i`~w8ovo=tMJbAY%B@R!@m@_lR-Nsll};X|wV==9VcIeB z@8!fcLfF&Qu3yc~AbIqbAY2v+^9sR_y?83|$sMmUyV}t)kHh z4tJz$7m<0FK8u>-%6$n72E!EgfKmyzMWMbg`knMn?zA~aU7T*(w@s)iw1&Po?2v5f z#R41h_2q*4E(c6zHe$-TTX=aM}Sp}dYzzxrGzR7-##XgP(zQ!M)b*@@Br z(-n|Fy23wH@)lMWw!O9W&E1`IY7job#m>&jxkXJ&L&eF)LQM^l8uqqnXxX?pSy`Al zIQBr{2D)=P&`q$wciD+|vY>BAZ_5pY=1pnbaV@^8SVclv2#8SLCzZmr2Uz*MYl`YZ zVyZoOzkM5r<_Z4j6s13EE%TC#lC2Y(b9t%lK4i7^(>foY`4#)@(JCrt!_Pf@4T%rE z*&q?hB0vI*67PlbR&lbN|7SS@vS&q0J6R{(REF2?AsM541NTSQh+uJO(0%|xKTFJ{ z5BXi8`e14n<&~x)W}!uC+W5v<=D_}5zhqOaR*rFY$nv{RYdmPH)Pm($g7gtw9JxN`5&TZ(*PH%D0Z$PGTYms@R99N|Zm+*dd*%aV;8uZKB{RNIi zLd)bhu?~?W4W27;1!h11091y@S#DW$^#1@WLDar>LC-+xf6#X~+7k#g2$x@_h^2hX z6hOuQ>5J^u=&1Y0AFjQva$V+JJanT*>F7U4M)00g;7{V16kR}>>>$&;uNqr-a81JB zp5-bmbXzQ~9vP&?a|WunFGic$N6YVASl>=b4aGX0=ajmTg@Zxy=K0?@1Af-rG#hw+=JC;pAH5L%2Tmfz z5Xk}33KN5L6jrig!U3>8ChxRhdb*|fV~WAw2aQ?Pe0bpAEJIqXV#k5LV*Ur9-<~=W zPF_^!q*Rfb-P7O7DQTM|*5R=6WwOxVGl*U#(CNxayypj^o9mF3eHUVXR;X)zlAh5D z&6*qkqzoVsx9QN^%u%85UrMSJ=INKnpumoM;`#^QM)tmu@8YIeka_@SH4l@c(SU6>_kmDHT)MLvCaezP8-toMyN4 zb|GF2_>SeR8~|fgS|P1vt+ez3ZT|8Xnb!y2j2ScS_4L1qTe~Lf%=mF58+!-UV-=Af zh+%rT)|*az$bEB)?V9g?Gs_>F3_6k=sekl18BV7m5`@b_Skns1dt4KYekZ|C?8m1% zyz0F^LF8G%c#prK)J-U%H1^%WX4qg$eh7B=b?qHvT;uBnceBu0syLtSBB2K<_ga;U z>Y@LDasgIwi5eQa3JG1jHWY*&TWd#(|iFd5Ch|o#F-gXm; zpJi!_0G^iIxIxS<=JE)?d^{*gd`p&Z7<#xW^|fphSqtd{)~6SLAK0F>eGB&pZcD<8!eennr0-NY_gg1RK-es%lV@3sS-~f* z{Dh~GNZEa+>CjFX`aY&pQu9i+)=*w>62=EI{SKNOO=I|9uO`=*9dhB}vLLyD%FohS z&&V{J9C-rC-`%%m+s(YY%!<=)vgkx55K*gYN@ncWf>p8wwrXpYF!5sGa(((4I?WJj zQ$mJLmB>V^B-KkOp!ie|HjITlq^}E}mfTntacBOx^21_5xUk%@n7+3F^vX}m$xera zkUn6Q`tOAo4>CW!vwtY0o%?BcmYTZQjQ+y#@}uee{%IU;y^iCfZdhgdTof zCzbsmzGUtb4~$VGdu{Jxyu3300RY7Jfdigg{1PLLCQ($#Dg%SowcPY9Ca&rx(2Igd z-jlh$?okIv4ZxU6!)yqb^0gc_OW*(BUty!rj^4)1w&|y~I5_dpk@IzKJ!|ukD0olp ztL%PFW!y`omM2#dQxbHb?^Ypn0JEFQ16_NL4o3#wohp#pk2%$rgMq#NRq3!GSs(M{`xEp4$phMS9^lusD$`XVW zPWu)zfgS&fZH)Mo;+;yp)$Q{70f!atzZN}Bho3yDqfXK@zf&&&knXSe9hdrkF0T+f`I1Fhp|2nX)9`wBvJNFLUJXfjRnkUYJ_h!@SX4~Z z00a`RIuB6O$b@fS9U_9)|Jgc&c145^&Tzx4*}(|l8tirzX8Qp8p7bGK2_CglH6@K4 zO0)2RCa~9jKWtSQPQG6*rartol8isl`3|TD=Mw?^HLt?p=JIeTS!k9+CwcJl1$$YO ztR!Jk2S?{|;yBH;4HL&x z)0g~j>cr=T3t_&F@5P1K*ebIF1U}1=fK_&$@YO`w?G->Yc~fX8Bop3i_$&@*S16q? zEBvCScdX?~9GGTcYc2hRVFAP`U$H?=f#NECp;4B9{@I=~-?E20T7>@NpQezJdBgXZ zG*wg#n0iXT6_2pfzTt37`~APh5*OV_Uh`$*1|4B>pSmatTi4a^+`C9X)mYJpM6oc0_nhwX z4GNEg9FYL-d1jw;xK&Z)QeBP!Tj9iJAi1e))h?FkYg^I+94dDzF*Fyo#Lm7;KquKAyhd&*A-cj4$~>gu!(RvQ342WH zdIvNBL@EodQ2_>Q-vANG`^%xb4W2%pbG+qj{Q7ChfgF|x93p*)Ej4SWx!Z|4`E@0<58PRIhNwdp zdp@R@kGYLo>ORA}rVpyEC9gZiapp-+OhGjoEJ}A;k1fO|IEH=OP>%g`FEMR|I~s)1 zkaImP8^y*;mHP*$GimKa=u3UYLpJ`D0z^v7DP_QAI-NUP08PNTg6%d(>@DX~`)2x7 zFYlZjqaqp|TV(?}w5m|WnM`N`Tr!J^f#e!0pzjeu`MQR9Tyl|SWWdxPeoz23E`5}TH}~iqDbm_OqnzIdZq155 zxF=T+2KJX+EH|aXj_o{&q*QB`U2oB<0wdakb_{W{Y?8 zxyIaM%|~&Bv*?d0zRRvIHfFik2zoKFpd@d z652(p2)9Si2lLAKaXRKAKOMM^v3?v*-tD`6{^3|{QJvsIqI!+eXxtID=sw;aSToKM zA0lYB)Z9Rq_CtlaNTl@fx{YNA6V45S9Xi=8jY2&s`7165_RSx!F&_4%Ve2!ip@kW4 z?>wOJn2gdP>9#abd{Kfp&WUr6OzJf9S5zFb5?Ts|t#PX|a3j2jl^*_rpsvtA)*$)z zv3y-^yAM$XQ4yE7J3TO1Z%wy|9?F_IsMZxMVQyzokWY3i?njJ+zkjM6&9()YZz^+U7yJtocbr;oex_vid2Ey4O{cd+IcmFw05 zazhBM5weL+P1-CO$VmI9WmS0KLDzGaLxPuEzywU00`Z3=pqu}RCVriMYx%r)H|3cO zqL$7MFVP=pYX-bDBrV)n9FPBW*wPw$K^E%GO+~zq}njz|#hxUFU z(kBY8SAhX69(MzlWA1_@ym3YU@1yEiF`Kk1AEnXYP*T8;mysL1Vy$cLJ{Un&ZiU<*z)*}I=s}cls0o>@lw;o)aP|eNbDg1*pVkuKdle z4a3ph{e-$E&eIYD_5b}Da9)Ge-z)%+S@EByh)DX+rdiok%>v?QI6!#T6e)APRel{|<2*>|^k zwr?Zp_Xo$^9OVPubtv-%Dyi zas>6{(k9_H%xD!1isKlvb==H3z@6p}8t^^z>pxGF#eAp60nm>*(2mU0`?s$;xu+2uUDC&8>4eIG;?%NW2UfpBF47d+3IE3(QZ zjjG`?T8*^`<_jWk2qUS&w9o7SG%j};EeYQf1jHL95y@Le22!GQ>B_bU>)w)uXu6Pa zd{9APtD9_?uhQTUJpoT=XHx(Gzy$*U00000 z$Xy2^4gdfEug;_3H#0CZGT|mCCnhN~G%(aOG3MXU;xjNdCnhH`G%+bOF)=DACM_o? zG&3?X;U_mRFX7!OC^InL^f7l4L$dy31+i~?l*PXIV(V#t+;pR!{h&ZkFX=JIp1iF@ zl?x`}AN}cCifA&dxaa}YNncf-S~3}d4y5Vm;Jm4s%O}~(p6WoFwe!Kvl%`lU2u3Hq zQ(Nx~s-NWF=^z07J$D1o#^OgmGSVULYZOv}m$yvqP3w424u73mBFxKtu8BUs;CdPE z$DXEh{eii4uL2}8%cRXV2Tz3vO1H}t=%^4!y=2&t{Dkd66Q;Sb|MOnD)1f;{n^&5a zb5Xp5m45MwNOCD-wQ*Xy_*H4lUe}`zqpuJ3 zmEXl>_82qMyjO9Lnf-*0b21B+x&(QriLuf-$d^fw z#fn_P!+gr%hrg$sgfzf%%tG{3{VWz1%U4fpEfK1n90QJ{V7@`>mUVn-Mn725erF`$9VnLE0*6Fp6BI757-e(Q7zp8c0&o<@ zu`7XwR@8nohva>3bsriOh03>L&EXO>Hp@eMS!EPM!Zuq1o#37P+lP{9s+jd1|8aA6 z;?8)hmh=f@m0FqrOioLrZOdX`p&IrjEbREJY zSHM;(9LqAU?Gyn_P78@~S6t8Cj3K=eD5Ks#WU}v)t~$;Y6VD$yGL{*G_o%Qid_FeG zM0AW%OKV!09fvR!Qp=!cPjFeiP)K`6>S=f7$SS4HXXBW{ddKF^-8`NyUslgw(tSuE z*6r7pnMDV32Hm8bW?j_-0N-;Q$8l1gaySw+F!rU@YAu*(nO;8kY#*8mCucUx?qpJN z&f8|cJ*QtIF|I)LpFVq05r_>08oG4F3KmkoYzW_|9hHL>M5mOyc4a78o6qM7_$ul% z?vWzD59IE|a!v11wX}Sudp!$3{3l|o{_54L2!aSIqDx9Fmu$7P50JWTJf*7%3rtH9 zuboBW5IYPTC!N3<}y97CEUZc_v_9*a;mt2=hPJqA@`Vx!AnbIIKbWKzaI z{C`r%@-`hp;u-)nE(@>+gMTsDsGZwd2p}DfJV~Dp3G3~aR>E+(*re=ROsjD1H}7BP zy;gfSk}=N!`WD@!0m-NR(-#mSlHRlPZ0C7;&w>995M5v6X^!mUAaA&vI`e#TY;E^DtI=1vko^Ri>LHmmulgf6il7EyKa}{0!8z>HoB~|;r6q=>g-{P zNW6XhdI{ryA}b5Fyg(f4N`O7|`{+!(`6Q5~Y7oQS`s}6Uq=YulpGfIjPN)n; zi#Z41A5kB=Q>PaSzEe9-0J0t?tTD~iQUIs!l?9$w+~f@4O)Q=3LEI zqU=&5oE*zbiAY#yAlS*!HzL2P)Cq3mluZ>sV08BSGjFXfnJ)i(J_dlU1O67>z{b26 zaU*y=dON-c^Rs$fHGp+OTYefFEwrzg0ygOgAI2netTUfHla_l-o&9lJHmIqHu6dd% z_gG{IcgAxn5B?E_KAz|UB?^Y+NMraX8djGB*lT}$+CwDTRzJCFE7L7yi{u4w6!tU) z7Z?t|lTmF$Q^l!aB$^!DnA8qDEez=JbIq+BAqp(WmM$9Zi*1KLdB|7t722DXLVOnJsL z^czW!iSNNPSH3Ac(NYIg+E$`XSO5I)?XqG2i)qwGSU%`!g=81>j{Z9Quf*K1?ULBs9L;q1K`b)U{q?fk-6z{>8IEOge3l4KtJ z8kYvD`~)_s(;EpKMoSSRg7Aq9()xsTY}40iHeGyGmvB2DrXoVCbdKMvW~~DtGJaV+fQKy(0F*u{LWs>|f;2kQWWJU#S%T~o;JyqWt=~!KCxoJ5#xD#h>H2HbAil}Y6 z@PORk&+wLv$)Wb(=K*I`0Bklj2c)%)Gz#&T2>`D2>W#usL&Sk{H`w(e$zNHWaxOyu z8EiJ*|9%u63uwQWwV&aP08~N+U|`_I!?rHoBqXF`3r84oOm65ZrnPQzxu#n#Ei$jp zs9ku>u{Bi&^60ml=m2Co{l-A1D8$}!0wAI>_g?Y6N<#S|dLrBS02CQ^2dy zS_uG5Hhq!x8H>3J8Xro6}ClTzG;bnzSKKO3G`ce z+qVP^E=!?jNKufIv2R8>=FbvoS*7OP!NrK~*&AvZ*fuv!hd(=AXHVH7BrofIF%j|& zBr3~s8%oCH+rCCKVYzYOCMK8Z!OP*kGk3N39DBH+zj)iU@|UOzEG7y+hEDi09pnki zG0!RFFhctD`lJELe=aC{`su>qy?K!s67XjDj(=Aac)e756<35P zDM9=L6ax$rcRB-x@J7*^!A3-Im2z+>UTdz!Q z7=zWnVikJ3oKeP6<>fC_Y?O3ZC6l4TV3bNC4nz|C4a)@2Fd_x8^hc%o?d#K1!>RN7 z+)}^!#LC0Bt=A)C2wwe3gvt@&b+W|x9@&l74vORajfw5fPLT5`jaqH?)&qn)-H!{4NoYW!@M!;!IP=mO;f|cUAtoE0e z$-zi}^#JIzKJC+^qBKQHe0Zc3IZw_vz>;<{)qZ7`%z?f0Qrf9wRpa zZfiS$5&Zc!ofqca*Kdofl_tG5CAc3>*1~(sloSB$C9hb|n~g?9M*3@Q572dtmjpCQ{mO&EwLx0md0KR^v~Ps0V60ZF z4`USD>`PZzcA~AGOa-q#_TySciDWQf9Xb}>lmYY55s+bj7=D!XrM2AsTn7NCG$;em z7*8k0Dk{@WUhOG3d(4e4=04{J??1*xR#8nn;V8nUmB~bFd;XAh;n4hf&fT`&c+KAm zPLEIhMSIaM6TcPYHNf|stA^cWfApS9f^F0n?|WGFBG!@(oEBS1J+??9_{YD9y5%T* z_lf=Oz`jbGvl!SauwK|Ln)Pmb41yYBlo$j*ex^J(t+?;Rl=*%imAN)pWolFHT|?#?9th%e7pXzt?d!htvrk3<&PkJ zv;~WzP?f{@rbNNk2OYNGOW!8qjRmz)2WK=0VU0_3Bn88!vKx5Vd{=7Pqo*N_s1Xjh zp+R735v#{#F8J5>cSJ;9M7m_qU?8Knd@o#di=V3;2GZfsj?2;SI_$A@tdXgJY<+tR z(L0)P1M9UHind-lWHR@W4BTl&ax(P%5(N)3?@&o2cm%=XS^6_KZoIAM9xOd1f~iQ6 z8XW)>HvQOh8qYFCq`1vu;F9~Ro7NMA6Aw9pMj8iy!-+BXVp)||+Nn_r1V&3qLR4*m zHn4boOJF4L93ne3O5vYqp2}+8ov%iOVZM7o;#GMQv?Z@W6Ou`B=&1Prw1IT>?dm7= z^>uQ54?@Tzav)H%9*R46??!vP;`Rx>8a0cHFdC!!&aN9h~oDxZOR@JGdRh1XNWb znO&lZLQ9uC#2hUb&eWg0IJ-4OzuOMc)YKy%^Xt-+>*P?&j8htBzoBHzp}5G&32r5F8S)ZY>cqT_4kPTpU@)8 zmdJs_a4~2~bY=Gk{28xc#z0ErS z)CsT9(q7OcfV9>JK!?az&Mu$%nzc?+rfgku82tf;OkKEZdT3Lf0`v{9O45ee26B@A zTEKBIWn^H-qV!f*M&>f`N98`8e2VC$fs2X-3?7SU!w}5Agl(q30?5Q>B)_=~HT!O)=3Y~u(BSd5OGsyQ79>_R!8q(|MNCI%?AxIXc5!CEQl{j<{3?pC z{4uZW>na)#Lz%`&%NR-?LVs!VzA>K+9(P%g$!8PLw-<$V^_TCD%8&h?^!IMF+|RyV z_~sn@96m0=8S^>*y-4?ruJ2#2x(Fm5{n9pOX#hL3OaaKkg55?jOloc_rm}CB+Ucjg z?4eTEcrF1ivL5ZNEH5np`Iczv1`IMwuqTvwzJ!s|C(<&0zLiqpaJT3QR~&lpEe_kh z?Rz60u~%(&TUoCk;xrZe3*04la$^$wnGpL*-v)?U{=WS@aqd(0`QK>ow6mqWn`Cb1 zeID0$-PCN6Bpf1Aux0}?#@ytbX3=&~KjHF!s7KQ;89H1Cfi;ACRb_==2`lNuc+dY_ z$onVlwY9tBF!FQO^W*E)g(oVh>6;oAmZ?Tv{gL|T=DLu2Dq^%5MMWKx|M?%QutI6Fs1yJ*0*@8a#7xGxgjbJ*UrbBc@PYj zdZB!hlZT-jo4J>Nw6dHF28)~KzBdq~z)-ZzC z!}*5BY`6_N$caB^r^XOjZwS>gvovK&3?{ECkGX`*!Z0F_2M8%Kdh?h1;)o#bcxZk` zBQ28dU#HbR18rbLYXIaaOLc*9^V&>^8Tzb{cs?-vf6@(?P{AAPLX>vk&AZcrG0hERaQp}HE#)ls#xkYm9Y=Q`6af4|OFaRa zpLQw@6zLlz<^1Zkd5nZl>5r)Bu*g$h_IbZNLy$2(&-L?)Z)~W-zO@7tPQ79e4EDE5 z@%!c=9e&t7Od=r%RRv3Qbc?7FE??g-BW4N}eyEMulvs4+6%@QZuVaajE*oH5*Jx-! z&j()~mHs>t-%BnGcPTa6?{c@twa|(|sK7JD%|@d2PMVy<0>nLc3yEVy>S9rO2`D_a zaPg?q4TR4xeYYHSm`y)h=xkGf=8Jy)_vtC>djbo|(E$Wn%RE6LUE)J)mYVRb<@qFq zhX<~1JM*{fdMbG=N8iYQ!u6Z#=Z7FN!yY|*Zq0i9T?{n<5{BH=JmgLFunc-(Iem|a z!p{>bLxdxdkj?-qTv{fz%z|*yh^7w)WnMkEjk_^<3(xnm?ZRu@f-J=KknlNmjN`=2 z=|m`kaPJLCN2ImG76*uH^pd&!F}Rx{=TNhUmq&G8!#e)rvvV#f!4Kh7f`VaZWf=J2 z%VtL%q=}(xE2^jT(61GFQz<0l@Ao4cfFWo-yUn?~C=n33{Izc-#tMV&v{A=lB*{7R z%iJxvw*3~`(UxXliD=U7s6i?VUe7LYte9GNZqNjLIbh$p+AG}-_HVg+*+IWYx*V%n zAC%Yu^c}A;fugPfDrKR*N06k=tz!og5}iZ~scA(q7ynJy7_v2Oh|{;g0jxoHfkaP( zYG>fIv3agE^~B(q=Euy+BBB+!(!oM^NZ9M;B>0CB(jqs72u#4+KKXv!Jm!rp6;7eGo?QwL{;pOSQ@+0--HB zyfdk#xzqH+XLc_o0R&EWanJU%BCIjNUtIzkw&+cmOYg&RSbZSD`Q>x2{M%gTRBRVI zF!~diD1WyRm?U5b+&y=Lgoawdm;iBBYasso!$+4C9c(6PkFNJ@^f-xs zYv4jh$3sUMR&uX06Mle&F!u7=MT?*K;2p&n3rkl~_hJE*xsr*tBj1h*M275UHZ%s*rbZ~>$tuZ4+3<4LflSzgCT zw)IzJVvXOt94wj(EjIqxUzdtmMbYL0^eM|=P?07`n$g-dKoeN%puJVKR<>$iqqpFy z^t;R`-}Uf8GGasy#2sHzK_jklproZ)f^f;UIb}w3B(AGSv_TvUSE;w#PHBqFLZOOL z01O_lFF?))u1nG=@ zFtM(F`CvxKPM++VpQ8M1VRfw7KJiJiX}fIhM>c894F{I1>I4MrDX)qiRMiEX+1E(t zt3L)ECiUE|+Ydbi_0#p%wrbB0GVVBDG&5)F8{A*k9SGDBuh90xqC4f}wN|Smu@*b> zTAyq2^Gtb`-|)$XuKn)ouooc9tcMJ~e1HwfZ^85+ZZvYpq!p zGtvian>$K2qRKpR?_>w*%Z0MFQ&*Wa$j1r`fmKZFiWLZ2(8g!`q_QthD!M;PJ%ftO zm9yrwPG%pO0yO1*+CZ7Y7r*Vrsjm>y|6@j4vd3c73lw9Ze=%F5ztvu_pLL#Wk6O6# z;#=|NBRBXttgS`%majGTy0OL2vIz=|w*e;1wGQ9m_oq^nT500eeh$p`&4_Ue96bTH zmE6<;Ov~Gi-qlw~+DBc-r=jW+(sKm}Pt#=NDy6k1{PFoR5;@SE<(h2gZbv<>rDmQP zw~iQ>azm`z*P0gdRE@r#fUk`1k9|)-{i@Q0lQFAze}Erv-EFNB{ zYvMbj-){(kcOz<;|1hlG{!C`%RhaR`c1oe=OU0xD_Gs@%T&{a(3lPtEw_+ z0L(#m5YKt?JsAvl>43zsr~X6LQU^bJHti?Jt!upMbR znr2H9j>!Ah2GetxdoRd{K5ZNEb5C1Zttt@{k0$^;I!ldBNL`9@WHNnA5+u3XmSM;& zkI!LQI^OL39_`x2nW@aOMUp~1#67Q50RlD8Wa@S518Owj*e3I7jWYB6hqU2pv*g+) z&qYY7YV+$a+COV+xx(^7d_@xg{7J8x0Mbu9H_-mDFGD(Z+H!7dPST7^y6=lIEtQP3 zbv?KJkre}-wZH%Wdtn`XnWY!hMXz;<;hzFHZZAm(r}e`u+i`zW!eR{PO6qR8mDXZ( zWMpag;an`ge?p62OSx47+%2!-1TtI?n-Xbx-^`?<*l`ZcM6R0UKYo=QT-JO#wXU^; z%=r0if42rr^q%rM>UsdoHLro5BV-w-sc%Wrs1N>Z8isLjK6uKwEPi_Y=L~VJ?Q`u9 zhC7!s>B4Qr^^07ads>y;EW->Ry#qb?9vem6nXtW)VICSVrd2MHD$B|dj_Q7(WHV#( z8p}V4z03ZSZ(^?IvxoDWJ*tcnh9uX#-{NJ?fXp9(`SU-lDau9@IOr;6*k8qw&&uL2 zmRn{^flh7eg>tuOT}ik&6rXyVR49ABd+@>kaJH*6HbeLcWm^Tt;?N~wZ_nky={>O z(yl>PFsF#Bzlf5qtWh;@MKV&!8)*V1UaA=k%lsqn#=5$Kaf(5!wWXLYDgMvVO|u{3 zUoH9XuIyh1AP};Qb~ZAaQ+jBXUhnE%*tx>>v!>gJ<4=)&u1alm^yB6)NS$aZC+Kp1 zinpt$z`Ks#b*&2zS)$4+hLvBv*F+C?EPOQt3eNRik{yq3OfDfo@bHQ~ziRf$EkJVq z$YB6}mfZBLVbMQ8wI=aB`1X>ZGXW;m8;hM*QD_RFZ`s`cY+8TGs~=Cb$W8K4bCrSC zvapaJ_$f?c_{hg#)M^(}y6&`N+Ggj_WC{K@H1OfIg^Qv$~Gz?LD)ZNV-=36z~k_T?gskQlZ)ewUvbuJ9Tys^ z*<8bqBz@|l5_@X{tf!5U?Hc|4e&HZY>tzaOs&G=IzQ%1QHlytWzIg2?vg2 z7&3FKP8d`7-n9DefYGWo?k`}`M-+3AdwR7ZSd9v0GBjR>+=P&F z#=cz8fq%)CD{^)lK-kl|j0y=&I50gu=)mx`_nFV;Oop$ihrN8kW&CzsNG@l=BZta6 z{rzub4zo6Pw6w3!rr4+>qtglrF5Nw`lPh&20#h5gB@dO=@F7vCvQ z%TvCh)aSl#F_cMNsje$%@W=2ICzpsojH>$UqIIw0wewD9OQ9x|e_8a$-m@ZM2xtiX0R7_+@z{|6GI1Wk}Wo_h@ zD?#l+y|YpL9`snt z)BtG5aD|mt+G&Gwa;{z*_&nl*_uW73ba1odN8U7;k)z%=s!eHFuRQkvyxEByN z^M#=9=a(d0i3qcpB2VO`K<#+JEsUA;$-^G0y*Z^QD`jV)b{WHT2Zy@yL*CWgjBMmj z^Y)qW*<0Li=YFBLtvDD1pt@eHGEr-mDX<<6FQp#)>M>vb)zc?Tj1e>M#Iq<4NCJ6q zgXipY6%XiYjG?J|zi`o}YVxxalrc>=oz9Hu6P}twMLlPMNAZX-rbdhy;T~MDv!u#j z{lxUKX17Py=qHwmo}vbI(WYevJszI1*a$chc1f#40j;8LsdYU{%q+xNc<=%}m>?+s z=qyIXe)7M@iw-DUZNi}110&lpMUdPT6I7yv-arxKC%WY7(hry&s;PtyV`?9lj4*2~ zdNmUkhTOyu^X79Q=|4nR=lnm53H6bCaVPGZ-VfL>+8MmJTX^KD4#jh(uiHq|9j4|h$eOGR?8Fjr$i zVC3J+39y1P@6J|9nLVq_(j|CQ`kv@SOIW5jOIi=ouoUlCu?~pt_&BSm%B7i_KX@Gk z>k_-c^|qJTEKp^^`ASqFQ=F}v4M;P30rUxX)4*jj8CpkZwE$f3)xY#{Ez<3mglbMJ zY&Dzb`&-E$nN}LY1jH4uqdXsQ#59<~3?_?2PY6;j6Y01=3uN-P za$}pAncgP*y2(6mIUcB67cD-j!~~!zyY0kdpXq7m6WmG5>x?_8`o++gU;2il0;?}a z=i{w|mH3pdnsv0btIzV+H6t{=>EBSGNafmor_J4wIadY@9?M}nsXm*59NNANok_3w zWw$xxd~-~yIT=PXvJN|x9%}6qJjP*+najJ18&ze9%e#rqolj`Cz&?$_zA25U&HO?;z&TV zp@}PT?$KFRW|q3*!io)RzIxEF3%dlb+#^>kSO~lguT`EQ<;Nz>sL(b$#D%8g`?+7M zIWeeQQ}+*?fmLeBsq9L@#~4D33uq?P5w8s%E@8#Unr7=HCCq<4XUURhxG4W7y~PS{ zpe^MWuLU-6>d=3#rM!gQd)U#Bxe4IXcC8CR?X>YEjbj>@1m==S;k{red>>s_gmQl$j!?_)58 zKZfeT`O3<2bSNW8{NIB3u$Y@62HXj+!M5fmj-c?;7XoAW^vwQ<2MOFW(OBL!PIV>J zs#7L6_{L6?umJ=buV+A5o`Gtw86u2?uiNpPb&wuqZ$Jr8-X7-S1)P4+;uU#g0t6<@ zxMvu7xJZ6$1(1%tpSzx4iCr%FmTatdi>oc@;@~!y@bj{W=hcVE&vn?1-)%} zCX1ladXT>T=zzz*kV(kzOK!1SS(2???YRlNA`H4<^g%$! zZ$N-Vw-1Kz`s1dDBe#tkK!s(YL&~uwT&Dd$YpX8D(5l%MhfnL$%a;x7%`xe2EZw7h zUMZAc!eLNz$`Xx5pbKn#PMWyOx}j$?N;CmA`E_VwZa2sxEf&+2dZGQP_$Rnzqpp4O zECZ1rgsNJJ?3;z=+tj4%y+YvDN?!X>t*52L)~1-FZ22E) z-3vBa^ToqN$r@GBsM5cv|qT-1d1ZG9lo)AbqavAq{0blj1fi? z4qI>M{~>7j=`PO)YV#i+m`MrK(?6Hhs*f1igvwJ};wG4T_0ljC_h=}E|t& z)ngNF=F%pQz&g&p_ZBwqUhTTpa@y*Vtnhn~=y$^|oyE4rsdz|Gr<+yWrD8}NLhM%d ztj!F_g*04*Ah6ADVs8wI4c7slKNSZ1{-|YRz@~?G9RS=7uR_m?@p}YkxwVxA4I}yR z-G4RDr8jxQ)nZ;#wf}>kO}6bB`DtlD0IV6WrR}$%qr&(yfpqo7Dt}C;x$zSeN6Vw< zda>wVX#D1Pqo04=RB``V^%DU|P01J(F3XT$GKw0M?)srp{grE%GQ$C5(=>-c?iHmL zueN0_L$}OVyuUK0B(^d@AKsUSU>P(*iEaT`7eQaEnZT6o)K|-Q>YZ{qxQO*G@4tGE%EU6Cqo~xD^FIra$%F!H^B@BODH4g z^#U||xa8L3=P5<1-+|UX_q$ykTf)^z1o;;8G_0Bq^cl;ewq5g$hv@YID9gNiTXGv4 z*72@?S5kdGvWF?igDt>kk97cV&*oanFUnbKY5)u-OR%Sg`c!FtYXWQla5p>ikpCoc z{(fRMnZID&=4KDnmj)hH356lQYQZzxcTal)^ci=lQ^%K7JQj>7hde>^wc`m1bX~~+gpVxZd-IJ&!Bp#)IQ@KOe9QdX9;5^GZDMliT?55%UVP5W*5C{)RE^RhS;1Y!$Q z;_Tc2=j)GjzH6VN*yjAMI?YQJ_57=zpN91zz0B!wRmr}tjdaA3%ytX_=KSQ~o~xQT+9_%6=d2%%f9x_!i@ee=qcdlTt|i1lce8|K^Lbp3=}}+k zBrWGW+TUON$=-D7xGBDA`Fy=v&z+j5YIUAdPl=GcrJns`jw$QZG<#@gd7%0fE3^e&oLINlkCw$)lzQagN%ueP}? z-Wu&)>Lv_B9Zm5Tv_V%jrN<|T11T(9-KZ_5PIz}x9lLW@5Hr;tJM^n8bi?4i?I4(llqb;9qK z9OkSOZ=rs&2NOx%`zD|E&!2Wh71-NE3?$IZ^cpG5-sdu zxf9k|E+N+jVf-fc))SF!+VQg14y(`CCoU?gHlG9uUVw3z58+-*eN8)}UM8Ylw3}x^ zV`9m35#R0>X+mq$MJjZme}7sBH!&6? zzRY$P0GtV5V?4u`9m`5g@KFOUApiJRG&t%9lXv0*3DawK11BiL_PjIz+yP5a4+;=m)B`0&+^{m%d7r5kq{XuG~ zu@f~`+GYI`(YoOR_ItfKpj4#W1M~%VaC=Coog!i`>CMd?meE@$OJmfgHI? zuIZvr3=9svlpzfkIgH`E0IaK@y_dJFZLoJ8mazpYzT{6ZO1=Nrr!s{LtEae`qmcR~9{fEq@+ z?L$Ob?BZ>G-6!W4rWWL~F3+29?2^~z->>N}ZsV>&$QOcMMl$j&0vfj5xDBZQEZXZD z^t#aa9=x4n7$4IP0MuCFibgA~nZj1D@rA(j%lMeRJ4OSRpYMC@_x{tZbK@$zYF+~2wn|pSvMR(B_MxBdmSm^WyfxMH zhmzCxE_fTpJ+qB*KRFTd(rND35_Vvi{vXJ)B(uh(8nAb4p8AAYYybAnw|~P2`g=Wo z2k^$IEnAj5qO;@WUx5va6DPuAR#RuLk{`f7u5u`gw2wr>9VP{jXrNWj;U+Gfy_i$3 z-ThX@lqXWg-zp~>=ZA;yHF1m|lm%&W8# znrr~n6?a>E)EZoJVxcukC{ps%=||Ospy$eCLRL}YdI7wJ4?DZTnwZAsyCQUoH4IDmK_g1+O} zSCGYD+4y5WFIT}2rF5pH>d;eRJk>?{9Z|O=;f9M<4rX;u0OT3Vuw5}~yMStXH=vx| zXI2wv+Y^fTEfis$1w?08xqAV1DBF}Nwz#&gzv24T4xABps{}<7DW5X-g+)63*Y=BN zuCL~|bxrt(mNHB=X+I|{f_v3HDDYajcW-pn1l$cvum^_C3GSk=AYFZM?!X3jjSzod zRkn5$IUdmR1B$4=CwQ9}cLbw)wN#&Icf1<>5lavaX+Es6SNzU_(qqOYuT;ja6a3K1 ztlM_p!x1W$({72ayEVyjYi!HhcOK<;*ah4fOGto3>;+5JeY1vMi55%t^2Ga!K1yM$ z6di5C&%~SBmO)^PbpZ4Y_4>fLrwDMHwHJ|mJWG=r-tZU?M;uM5I-XM)SC&jNU!jiT zwgc1=uMGiIEe=Zah)7;Jawxw{G}4ZH@QsPLV;J>uslMI?t9P4t0HiT@@<1~cp>kgOw=>#;Js{o`eU&B1noiPg{@1qP* zmcKKLT*Q9~&fbEeP3PP`gw8{&(OJNUm@aYO1m&Pp!z>9pmE4Ss;NG?exWM-V0Puiu z99>zWE~NzF=#P8XB`wY7xA*JQo!I6tPO_t9Q?MQJ_bc;fEj(t|tptD9=@_tgmV7M+ zbn1$&hp50-KuA5`WEnGW%`NR(k;-3LjR5_Ya*hqDjYS!w#dG+Nd!lzWTUA%b)fFk} z`Ai~$VAdQGCbBIzO==Y-0lUo#ucJ1@vwvzzE5~QWs>D@O`j}d8O?T6cPilB7NX9Ek zWaJ!S+WC;8Ubc&sY zjK~4Xh2(8Ayxhb2QJuW6ggc=&#oFg{oezxUv|>vHRpCHH?q34`I%`w2EXYj36PZ?L z$3_|>Hk{>xFCUgD6^-N}rp3*jNvC2R=yK>KeGW^CjoV+X`z>fRQVDwu{7lq+!&t+}LejQZDXoOfVYXTRFu1lo>(i8TgJ z0~6kb+%yB8+xtP~s>=Ki{O7BXG8#ZtC9)PUnqJIs4F^m84<&=Wa5Rm#LJ!OYO!s!c2qf9ggu42i~uhK2#JC;@2&rOdh zU1*KSco&RgN%Vne2o&XD3$5E}?v%Si^Jpu&ZZSn4oyuuE#XXm{6KT)VD;h1+E}Wq^ z#DVmy>KEglrrc-_vrKzHek_pa9+)#kIRb$2w5qtY_7xKjfc}4kCKI-4b~?w@@3tD# z=i~6{yxIL@GDgIwwu|Y)x2&VvPG*EgOm-wTIJ~Vnsquq4ZvdwU&-v(n5iB8g! zp+Ou?*&YA8TFGUNJ)r`6xrjermfXmY;6ytfgL?Jw9Rn)rbU`*=u z$pgdL?{~|li_L`mUm`&Vrd89HWvxs| zP(Wq{^hH26cAAR$T4yg6fw4b_;beE>kv;XQF z_nWG}))qKW+{oVVqWQZ9m48ERh%983no9H%{Bc!(Siw;%jyLtkdH`1Gl_k#J-rIr^ zGyXZuoL)Md4sS960{t_hn8-XM$8p=mSp<4usgfsyDs38GmfVOfdEjvY@Exm3XG$RL zdDY6YY*{k}o*(-=mH)zl>lWvdSKilqbiLl!F%bk25yPp6?~^_S!JP7dJ+^TFxYhF=7*64FinyMc3r`J9 zGpX^MX$yEW$8IUhQMWW;`^EXb;tz${7U^opu*ALGX~~U-F=606vCaRpE8)G2TgI_Us z?^>31UUu9#OY&^a;~GK#qQrafN@w?g256_%l+opkVhUhmup@je=!-fkRu~W1CTkAVt<&X3* zTkH`@Q-4b`6eM>>-QiHr`N)X&ni0H2o93q3uAPZsRKPsJi;+>-(tcbYLlz!M27|3= z5!uQcv3L0L=XHBm^5+vzXJ=CY06+x<000000LWbjArb%p0EEW~c_!E4+~MOXCn+;C z+S%OL+|}AABqt{)CMh#AG%qSLH7_wWF)rNLK9=0LoM0zz7c%gU7H#kN2H}!iTKSbQ zYr=v3S^xgE|H5|Ti2be8X*!?o*TH*sli9m5IqA919}B%O_qe;v(?}EZW>EL~%xM@R zb9)eVOiQe^z7`r1ll#27kyoLc_H0$9P@H3`@ZjZ(u&u$nv>3Wf3hI017iDuiwpE66N1}qS_JgQ9mH;-M~adjHm^BXoT=GDuTSz)Ig9mCLL^GPKL2J% z++Ghsq=41qgQ+hmyUF&;x9=sAs~|YsvN}37N*$+xd(x`4|Zzp zJ|zHpT~J@^v~i>s(g&bD_%Y25AFF}Oh!~$7df-sLC*K!OKAIMWODv)@UYfl!R&1(n z1l>7T`#ljV3~E!@zMWgkWQL!zYrddi3QJX5CTfGN_qb}m}Hdwfv+ z4w!t}$wBoq;lP;%y3+;jIf9gTu0^*sQy4-fxAijEAwy)FyJ&;O!N!TBP{Dd|bE}yM z9+up=3}q*FkS@?Z@Vl6WUA+S6(r}d`OV+Fj2k?6O%UzGUr1V+ydh=psf7^FHYhJ^S zr6$T)zQ4YQNK0yFaQL~m`GKsfP}3X%aOaYbseYds2aqHpGY^QvZs_?Z{tAPW(Wa@> zXu1I=UeKxWs2_e7OhT|T>w&tuXldz(M2Wk-(oAV(01#0#QXa>}9T1dMov39!#4JKO zq%O{+ELuR8>Gt*t{l3O$B`rR2^%0uYvzSz$)Dkid3c+{n*dRyT*7m>T)~$5pt@8xC z@b%;a-6Fa}fbdTPUWVK#Z#dW5!c=7>liq_`5g`CS2vyVR0zk-4L?;Lb@NQtM*>+BB zU#+*`|AEb4hFf=j+UE}?BE)K_A74UhB~2NZarE!Ym9F;rt-zmM*xgWb-q9}iIQ?Rc zYT4no^83g>h&2U*OxQny>BZwt%* zo$IV~h3q-c{8+$%CLpZfU1&0yUerlrz>5QBFxaMJ%cL=*VYLm%doo}@`61CldoXLW zE}U}9eLH|Cf52d_ckEbmsq+l56v`_r%!X?!?gN(RjW+&K;}z}5TSlG%Ff`( z_sYV=qWk)ohr;(;w_DrfYedK}G=(+Umbu99nVj=I~;}X{)TRO@r?Wy zQfGCWi^zhzL5L^mqu=!@U5GZUG@Kp+OTyV@%ientl2M?8WECMsz}IXV&8txzE7G8B z$d(MMGSMxAwxh5@-m*wU4+%n*c@gC*xB9#@$S$pd^|SE`vUF6^CQAPL{dEEWqyb+m z6@-a_jQnXJVz}1aXSE_xA$G$03@(+{$j$nz!6D36BI4Uk<~xc=RIrmE1U6e{cv8KK5h1JUe}{p=Cj0th5sCmo-AIMb{Z8u^fWiDVDL1OACSP|CUUds=;% zhbZFr=p^S~77Cy23}v5j{CyL&_3r(E$74Gux4clc`{i*Tt8PhGeK%F3xZi4d@KEt; zl0kFec)fDxV68|}5#Dl2+h4u1?p>d8W{xn*y3px@idM6|LpJp0T9??r-GGOo@{7}@ zlH~vsFM6q^ZFXM+ti5IeS64{T0RENSxU9Gn(1j==Nt>EVH| z($8%^zLZPzDc`vGyjSH1meO{B2qgZM+_)^}_V$7blHajq9fAOQaXOX| z6(^GOO2EtEHWEF{%WKy=50;kZ6^SLD_ z!P25v>Ap??aK6WV&ahRy3#L+mKyLt&h_8hx6lsSKWuAv=G0X-4x*$~>`Ls(-T~ z?2y$WFF1=@kd#cr=G;!dUoS_Ac~wPj6H5>R<+E%_a9ZTqVID=_BmGNM$(PlDin7tw zwsfl-0%gm_{LZHYYB07Sk10lH%4*B+1b(hft;(#;ZEh71|AyY+0ZKsM-+aR z9ByL{{Q=9X8Yq7chO!fO13AJE&DiXXVb%OPDU`;r+>PJ>CI^G4KjsGVY*Jyp#9)xlx(~iy~F-1tCzS?B>BxW~%I6+8vP)2hTX+9|6jaCdh+@1yPYtskF~^6}d7 zy9`eG6L#ZgjoLK-4I_5v$D-$yA!~p{ZJE)1YzcL~kj6X7cDU-t(^i@W+5hz zEihh$65>;nv2oZM<9iJ@mfR?zd5857v4}Xx;XSDTJPd=d$Ke6JNrj7rs;HRSQ|+m_*XsXR%ViDaX!Hl-AwBc3ZoX7^SyrXc1p zBO)?~O1P}b#Dqow-e23VG2;Mo#veILuuKhW!+j#%g3dp!*|A6}Gy-a!LPzo5>r-$x z5Ev|ND+lqrm-9tX!an98kTIb;LKEseTq0J#N3=OR3GdfePTWc5j&BHpdfn-TifpSl zWLZWunyNIHjNS@KKpFCox5@I%bCvJD z`Nf;9ELAT|tZj_}yajhC8%{JpX=cMnCjZStSAt5{(Tcmr*M_$V8ovHtwdo)L#0kp* zBXDVrUvE|lMuY5@XMLO(N>y|G>seKESJhp~`&sl9FxUXh0n4~2#?AtSNSi%$f`ja~ zH%k;JNV*uO%%Sn5y9E&*9?BGhwyz|m9Ruf!3H^0u`kw~Bc zMZmtjQ)oA>0Hh6fvIM|!hcF_J%k<>2MkVv1op&k%Fr;kV{?pYA=02z(i@XP(pCrc(0T+5^h5sZUqe z^RvTvHgELFn^g8MO3Bk5nIv?s_z)Wz9xgj~-BWOJL392p4_mW@N`=cDYoo0|^wu93i-;p>>d@A*6*sa|r z3H+ANs|q*oJT}6R#%+!S#1V^mK&|y41x#&WwR#FD#}1EIl2MXAznYrwtq+_F#8vH} z*CU5u!+^(=DaNtZl)axd57ZG0i3e7v!q}IgoIf78DrF8n7d<;NKCaSK|D$jxcXh(r zJO^?6ew+%mPaF>btP#tsXDUV7%_xHReF5pbekp zAouBat~B*L53~)-nCF9(n`EerZ*3bOT|M#ka`V{okJD>ouSSm7j*QNo_?+hh&h?B6 z05d?ZW?1tQX92VYOSuhz0nwE)*Yy5Z>sRIhSu|EZInqK?$~1Y^ z06LZ2B$a-*6Ilnq{Q&@YKwC8?M*GSrMIlQkWJ;t5Zg1^TC;P)$Nu;JCnbjUHuJy^i zIdyil$K`wRHnoht7M}4d2emCyrD;}~Zf$5@U3kNc!%@*^)vbUWK0`oR&MbdXKWu4} zRW&+ef9B7=afeew7t6e%S+!e#(H}=|)`cXep*YER%tx}C#<@O)qka0#vFAL*gc#X& zb8%g~PcjVkNK%to(ZvZ<7f7?PR$;j%$~DCB_$;=F)=SMFD)`LF)}bRF)=eSFefD^C?zH^HZC$RFeouG)F>q@D<~!~G%_SI zF())J*wEJgmD~j0^V$2gmMC1Di1*-HmIjHI(y>iCWo0?UOaaiN3GaI6Xx6Te=H`-L zWEi8T$c%hwb7Iq1OxQJi-39&d^shNJ0H-`kywPFE9g=jj_^V)?Tkh+7tr?3>BLyR=G(yyBZiT@@6pZLC)Nra?(VtP{=anyP8Ln3=WLRs{yLz7Dkb`V_jxl8Gr zy?vSTnNxSBGL&E@*m3imKuaRJ)6-opp(!cgO^geP?j+1}OGO5?na00zwZ{%w`>iuR zy9)Q);ohyj+1-yKvPMM$-j&=q&hcIJ&#U19_OZ#38+pLA!bxhQc19@*$XDi^i~rd^ zeEa^!tY07AkCUnMNlOj!gOSYU1)ZjV+AqWaLqi<)j0vI9ASWl zp&2^$ZO74>)$=$j;5Kas-O3&bc2+eSzLnf4uRlYP3o@9G#XfvE02Neu7v&gBF@QKf zCwI}ZX+Hgdo%w8a)i%58^WTZEv=KM*`;HoSLBh+tZd=!A2EV#Io^=m4-_0$+@IWP{cRInY31< z8O|7gzx3KoXrckbXW+|_?Mm@rQuIY-P%nH@Z5%f5m|xH&s}V&X4i*Nqf-J(3MOlk^ zUoo#Id#~&eC5*r3zohX37yY!?VRy1=!t%y*ZIbebPTksMX^gh>%?{KBOPw~TZc~J? z%yldY5CpR!AdyeGe4oFXy;5Vl%0Gtua zxP~BYh|X2mS5SKF)sHbbnU8t)^>OlLcyC4@RBokAS6gVzU!4bQL7bPe8vvXI%V;Ck zicBByeUG%*ru{U=TfSv@n&pr$isdrfxo~mFvu#&}jv*Q|lT?Idx{nQH8LvXmfWJ3X z@jg5$=YL;pGk1OCS&+e9@+`2tKrH8~IK*U7+$OP2?4SL<3JJUw%c32|8kBz6m!tH& zzWu;-yqOH=h-{ONrvN?Knuq5TySL5><72BaRUbFv0kj>9m6oQmU;M?20#GQYeC`DM zFsLu{aw%N@orr*0Q3p<05nqt8~JYuI`LTk)}Yfga$fb9wjHF^Us3We z%bV3kKIY%;*0-Lx)>s+7H0=P~5j{p?aFT%TU>_kJdok5)hq<9Ox||1&P9lN*naGLgqeyzChtwTheBYZPd4J6)lfJw8nQ8k05L5 zoo={j{~OE3&O1lq0jwE|pp8-I66d5S`d$?;^d>0>W{U_OO0@DM|8>g$e9k_>0gNV zQ+T3|`_TZz6?ZVD3%9;dXZAHxP2k?E`K;!LXy}xE%uXp66@A%xNn+agcyQ2K#L3E) z-zu|h0E`WHu>`o2Busr-PY7lFm^s~PEvylkIgUrQ=m7_;HuaZjsjI=f~+aU?z{iepREj>4GR&^ z;>l?aQ{RMiK9n!tV_bSl`?}Hc-c}H=Ddzt7R7qQ%ZvxsB*1SzF_LH7j*Sw;wBO_^ z)3@eI=MzT`%bnnej1mB>4a+M#D(J`<+hzwNc{P2@YQD8~)by1cPxz;bimSzF^dKul zGXP`}ciVtEHR=Xse;xsJD&AfFvYs%hQ~3T_>4LS1Ds8nZv>Rhf2mmYvUmFtwP(V|I zPB~-_|FsRFx}90!-7Y608-D8|5jO4f>M;P66-%RyorA;J>=IXTy4&0mOVt^7^8Wte zR&%G28ZSkQL2Sqp2}B*Qi$O)2!xfxBW3R)VZS$P`=6N$$wF}S1>gUry`@aMBi1p<+ z`rWu&(VRYv4P*t&NJ7z6DZ`dBq-IN@;aUED_}6rz5}Ws0)Q!)n@@TR7;ny(hN7zT2 z=#r9!yd0uUyNv;K4U2dH0}Qx-1*9{NvmR9pG*YP_czoMB(dl4;`L$@HdVQ0d3)v%B zep3Dx0IV5{h-8G?awt0%-vWpSj*(T`myAeb+X$hXiL^>-xW45Sd95q)Go8I>vvZ-< zyQ~0YA$Mu^$O^a(Dsq2Z64II990)2Ww(#u2U!#lNpA^Z3$p34%U~Z{8=UOkE`FwN@ z%R^6Phn<4o3)1p|V_VZyvJTEu+;-7h+tRl&l)RAe&@XL6|8%PN3x!}O-vML^U&lNM zb*o`!Z*Bl1_;bH*)`*Pf(7!w_dtpBwnu5X93yqGedT;gHl z>Hl9H+oskYHm6UbtuL=rE)wZHl0q#7lp5IpGL_sYCw^mdK!s%V2LN~g05z#_v__c3 zP#}-*8iY)sjjcJ-^|G6Es<7*{m{x^fI`HQ&g<79CyOYAviZGqHt2|yCURouh>2<+Z zehQ(Sw*c_Y(n=Ygdx1$VcSFa5&28bBf>cevE)LN_R^^Q#`QFYUq+SHfS!>ehA0!Av z$4tF0F){AcjC*BS7zXTYcYld8RvyYq0gQ37oMA!T)SDBS8uq$Afxl&`D{2#^s-fJp z2H1;VGS1A*^d9h6H4oX!e(aHfHpio_-S*gbA-9b_ug7DfgRg!brGl@A;P+8K8DS!5vqVa@vRZ zDHxMA02~FcMQl%-NyM9wtTzA%Np>3B0+vzj3Q4oj??CByiaP<(c{vv-B+bqOED5h6 z0j$>ul)0H2wo@+Pl0$2zJ(eY+5?Ze+CXS^bfo$8^^AupUgQp3E33oz|vUe+|z3eM6 zhMUq82ZQv`NP{z1iJ!Zzh%CK!7EXk7co{a71$RLk##Uj7m)mbgIVgeHesc?rq+_%Mbo@{Z-41eRX>$ z($Nv&tqnf)=d}09iczxXj7*!72O+TgSzpqIcW6KQ7jdv`l=oF3+eSf+c|RYP16Ery8r6Q^x|-8ogy|6Dkek;uT>skJq*~X-hjcw z_Sa*cRi#)W;r0%dmq*z~@%9W==1(hV0CX7(XnQ%zW=WmC_-lcNrZ~UaRBy`>$xM`d zs3mb-wt3^vnAoUP8w@b<=JkIl>FFE{6{v!sk`OI*wTzuu@~e-nF`>akxbRoCX;@DIs%=LS!i zg6ri9IX^8sfUTezkOkS6#;IJJmm-(0Gr|2|Mg# z;)S#;^5Q$i;SxI2Nx8(|O;ek)Pjzro$`=<8las75Y{cC9_v%^gX*W)kYGaY?_0A!m6d29$V}fhwa@Y^f1UVcF zq{5}3cRXM{jr0W^xGL?VVS2^nV-RCM1AU}zQ2@S`+|WuAnqUvK${;dujE6Bq+XPI) z6-(=iF+>5}di;}r@KomP$(Jv^zBrm;Wuu=gX^fuJT8hk;E9~+5{vbkjb%3Yo+HrL% z6Z6+uy^Xeb&g)PpgKlg(y@(NfB;I_LM%ixs&u|m}3_rI(kKw{V8T;??lV^aFfm;#^ z3=?7C3MK zAx&1wS7q@4G9<{#g7nPGJga3za2g4W7jEjd7+hmBF#GHPPiJRS00byt1ONa40078c z2O$&y0070ey;}&+&&JBiz`?a1mdx@_;-(Z>g~s?;*qSA*x(I~F3PhG=FFFcf-|{4V z>+QjV{u;Z?TkpTjob{Nj;5MoO)Rp<4RoJK0YS%VLrO0`9Dnk`V5`<o{TxSynh))C@U%=ZKHbM$4{?cNica;m5$AkrU|JqpC{^qo^;oOHNnnGTR2 z_P6ogo=LpuCpPIB<~ke{@e26Pc1>Y!C&rIsks$kAv1WJ?)v6hCln6DmwQV6aJXGW& zJfec+D%&hppUvAdz@Eva6a=1?+#swHSqkz4jE^NPpbE5Om7F-D>@)>%EB{~1p7HO_ za{cu~wvz{s>N86AD-jx=JeBwhx3#vQH5gSR9E<6q4yTFWu)_s>^Y%SX+9YLoY@vAi z#V-f$!Av*KQ%9Dr1*-+^*Q#5oTC5{hBd07zElLCWD>Vo7+7%mVlq_sUBbpmM41T7?1_kd#Nqh9wLA0;q{xQ4_UdO#zr^Q*$0# zU5>ZgZ{PRj>&&f}U(KIWXGD4A&)hG@&Bajd zwDj>|MOOg6mCOJq>1wjov4}>f$EYJwU@}RolpJDN698ywQj?b-*qz;d|8bVCR%cSV z-^b&0i*57`{lun0rcrbAJWLSu+W-W`s;v3uJpMi|@p*2&9&q&@F^4Hvpy!sH zp&;&3CX$5dFHA`U=`pyfB>;?Fcx;uNuu~KOgC2bUJ^a(3{j$kTUe4M+^|1Bq?#k4m zZRX;`nSIh?50__D0J*K2fwEy*QwVs6b~=oGi*HiY@lw~y2HL>kY}O}tpTIS%hv#iA zkPDB?HUCYS#2__|#2#jWj_4tCA!l!&ZPuB7jY#Y#i2IipJO9g4Ftp1-8gRF0n~v{J z#2V>KUT@a#POMn@GGe{kqrVECp58=Cy{-EvTw)M*!LK9uXnbvUN$7w=xtj-_OX>hU!v+kw9h==6=ZK(VabzA-Aw zvzZaNCdl(8mMoOqj0GsHjX#l*`TFRwebVBaAM>L{H8B?6*g7%xF4l4{WJI3m5v^w$ zAnH6aYc3+`qK7RaWBdUCeuc!QNN6;)S4LAy4d`LL<0FB#tuav|>JR{+-JN+qzxC@a zFfr%+zV$^9$+K{{!n9Hsj?;}=(e4MJ(OMeUSYyf_`#jgcnrdAGnUwd(P}0y+T70mS zVhI%WEiR&dX^}#%iC<@g@le9|GxT)qaZ&gStsFO2+FPvaa4n*)$?nGUAY&-C>csUi sd<1xtDS16>l=2d6$PG>10PuPyOm5&6c~eui&`?SWDAZOXnd%-64=lV)O#lD@ literal 0 HcmV?d00001 diff --git a/mods/farming/api.lua b/mods/farming/api.lua index 4a7b93d..c2c549e 100644 --- a/mods/farming/api.lua +++ b/mods/farming/api.lua @@ -1,3 +1,7 @@ +-- farming/api.lua + +-- support for MT game translation. +local S = farming.get_translator -- Wear out hoes, place soil -- TODO Ignore group:flower @@ -78,7 +82,7 @@ farming.register_hoe = function(name, def) end -- Check def table if def.description == nil then - def.description = "Hoe" + def.description = S("Hoe") end if def.inventory_image == nil then def.inventory_image = "unknown_item.png" @@ -251,7 +255,10 @@ farming.register_plant = function(name, def) -- Check def table if not def.description then - def.description = "Seed" + 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" @@ -321,7 +328,7 @@ farming.register_plant = function(name, def) -- Register harvest minetest.register_craftitem(":" .. mname .. ":" .. pname, { - description = pname:gsub("^%l", string.upper), + description = def.harvest_description, inventory_image = mname .. "_" .. pname .. ".png", groups = def.groups or {flammable = 2}, }) diff --git a/mods/farming/depends.txt b/mods/farming/depends.txt deleted file mode 100644 index 301d971..0000000 --- a/mods/farming/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -default -wool -stairs diff --git a/mods/farming/hoes.lua b/mods/farming/hoes.lua index d6a6565..d005f6d 100644 --- a/mods/farming/hoes.lua +++ b/mods/farming/hoes.lua @@ -1,23 +1,30 @@ +-- farming/hoes.lua + +-- support for MT game translation. +local S = farming.get_translator + farming.register_hoe(":farming:hoe_wood", { - description = "Wooden Hoe", + description = S("Wooden Hoe"), inventory_image = "farming_tool_woodhoe.png", max_uses = 30, material = "group:wood", - groups = {flammable = 2}, + groups = {hoe = 1, flammable = 2}, }) farming.register_hoe(":farming:hoe_stone", { - description = "Stone Hoe", + description = S("Stone Hoe"), inventory_image = "farming_tool_stonehoe.png", max_uses = 90, - material = "group:stone" + material = "group:stone", + groups = {hoe = 1} }) farming.register_hoe(":farming:hoe_steel", { - description = "Steel Hoe", + description = S("Steel Hoe"), inventory_image = "farming_tool_steelhoe.png", max_uses = 500, - material = "default:steel_ingot" + material = "default:steel_ingot", + groups = {hoe = 1} }) -- The following are deprecated by removing the 'material' field to prevent @@ -26,22 +33,22 @@ farming.register_hoe(":farming:hoe_steel", { -- release. farming.register_hoe(":farming:hoe_bronze", { - description = "Bronze Hoe", + description = S("Bronze Hoe"), inventory_image = "farming_tool_bronzehoe.png", max_uses = 220, - groups = {not_in_creative_inventory = 1}, + groups = {hoe = 1, not_in_creative_inventory = 1}, }) farming.register_hoe(":farming:hoe_mese", { - description = "Mese Hoe", + description = S("Mese Hoe"), inventory_image = "farming_tool_mesehoe.png", max_uses = 350, - groups = {not_in_creative_inventory = 1}, + groups = {hoe = 1, not_in_creative_inventory = 1}, }) farming.register_hoe(":farming:hoe_diamond", { - description = "Diamond Hoe", + description = S("Diamond Hoe"), inventory_image = "farming_tool_diamondhoe.png", max_uses = 500, - groups = {not_in_creative_inventory = 1}, + groups = {hoe = 1, not_in_creative_inventory = 1}, }) diff --git a/mods/farming/init.lua b/mods/farming/init.lua index 723201d..e6dfd57 100644 --- a/mods/farming/init.lua +++ b/mods/farming/init.lua @@ -1,8 +1,13 @@ +-- 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 @@ -14,7 +19,8 @@ dofile(farming.path .. "/hoes.lua") -- WHEAT farming.register_plant("farming:wheat", { - description = "Wheat Seed", + description = S("Wheat Seed"), + harvest_description = S("Wheat"), paramtype2 = "meshoptions", inventory_image = "farming_wheat_seed.png", steps = 8, @@ -26,13 +32,13 @@ farming.register_plant("farming:wheat", { }) minetest.register_craftitem("farming:flour", { - description = "Flour", + description = S("Flour"), inventory_image = "farming_flour.png", groups = {food_flour = 1, flammable = 1}, }) minetest.register_craftitem("farming:bread", { - description = "Bread", + description = S("Bread"), inventory_image = "farming_bread.png", on_use = minetest.item_eat(5), groups = {food_bread = 1, flammable = 2}, @@ -55,7 +61,8 @@ minetest.register_craft({ -- Cotton farming.register_plant("farming:cotton", { - description = "Cotton Seed", + description = S("Cotton Seed"), + harvest_description = S("Cotton"), inventory_image = "farming_cotton_seed.png", steps = 8, minlight = 13, @@ -65,7 +72,7 @@ farming.register_plant("farming:cotton", { }) minetest.register_craftitem("farming:string", { - description = "String", + description = S("String"), inventory_image = "farming_string.png", groups = {flammable = 2}, }) diff --git a/mods/farming/locale/farming.de.tr b/mods/farming/locale/farming.de.tr new file mode 100644 index 0000000..13a363b --- /dev/null +++ b/mods/farming/locale/farming.de.tr @@ -0,0 +1,25 @@ +# textdomain: farming +Wooden Hoe=Holzhacke +Stone Hoe=Steinhacke +Steel Hoe=Stahlhacke +Bronze Hoe=Bronzehacke +Mese Hoe=Mesehacke +Diamond Hoe=Diamanthacke +Wheat Seed=Weizensamen +Flour=Mehl +Bread=Brot +Cotton Seed=Baumwollsamen +String=Faden +Soil=Ackerboden +Wet Soil=Nasser Ackerboden +Dry Soil=Trockener Ackerboden +Wet Dry Soil=Nasser trockener Ackerboden +Desert Sand Soil=Wüsensandackerboden +Wet Desert Sand Soil=Nasser Wüstensandackerboden +Straw=Stroh +Straw Stair=Strohtreppe +Straw Slab=Strohplatte +Inner Straw Stair=Innere Strohtreppe +Outer Straw Stair=Äußere Strohtreppe +Wheat=Weizen +Cotton=Baumwolle diff --git a/mods/farming/locale/farming.es.tr b/mods/farming/locale/farming.es.tr new file mode 100644 index 0000000..f935a7b --- /dev/null +++ b/mods/farming/locale/farming.es.tr @@ -0,0 +1,25 @@ +# textdomain: farming +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 +Flour=Harina +Bread=Pan +Cotton Seed=Semilla de algodón +String=Hilo +Soil=Tierra de cultivo +Wet Soil=Tierra de cultivo humeda +Dry Soil=Tierra de cultivo seca +Wet Dry Soil=Tierra de cultivo seca-humeda +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 +Straw Slab=Losa de paja +Inner Straw Stair=Escalera de paja interior +Outer Straw Stair=Escalera de paja exterior +Wheat=Trigo +Cotton=Algodón diff --git a/mods/farming/locale/farming.fr.tr b/mods/farming/locale/farming.fr.tr new file mode 100644 index 0000000..cd05997 --- /dev/null +++ b/mods/farming/locale/farming.fr.tr @@ -0,0 +1,25 @@ +# textdomain: farming +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é +Flour=Farine +Bread=Pain +Cotton Seed=Graine de coton +String=Ficelle +Soil=Sol +Wet Soil=Sol humide +Dry Soil=Sol sec +Wet Dry Soil=Sol sec et 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 +Straw Slab=Dalle de paille +Inner Straw Stair=Escalier intérieur en paille +Outer Straw Stair=Escalier extérieur en paille +Wheat=Blé +Cotton=Coton diff --git a/mods/farming/locale/farming.it.tr b/mods/farming/locale/farming.it.tr new file mode 100644 index 0000000..3e3f247 --- /dev/null +++ b/mods/farming/locale/farming.it.tr @@ -0,0 +1,25 @@ +# textdomain: farming +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 +Flour=Farina +Bread=Pane +Cotton Seed=Seme di cotone +String=Filo +Soil=Terreno +Wet Soil=Terreno bagnato +Dry Soil=Terreno asciutto +Wet Dry Soil=Terreno asciutto bagnato +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 +Wheat=Grano +Cotton=Cotone \ No newline at end of file diff --git a/mods/farming/locale/template.txt b/mods/farming/locale/template.txt new file mode 100644 index 0000000..92d113e --- /dev/null +++ b/mods/farming/locale/template.txt @@ -0,0 +1,25 @@ +# textdomain: farming +Wooden Hoe= +Stone Hoe= +Steel Hoe= +Bronze Hoe= +Mese Hoe= +Diamond Hoe= +Wheat Seed= +Flour= +Bread= +Cotton Seed= +String= +Soil= +Wet Soil= +Dry Soil= +Wet Dry Soil= +Desert Sand Soil= +Wet Desert Sand Soil= +Straw= +Straw Stair= +Inner Straw Stair= +Outer Straw Stair= +Straw Slab= +Wheat= +Cotton= diff --git a/mods/farming/mod.conf b/mods/farming/mod.conf new file mode 100644 index 0000000..c26c28f --- /dev/null +++ b/mods/farming/mod.conf @@ -0,0 +1,3 @@ +name = farming +description = Minetest Game mod: farming +depends = default, wool, stairs diff --git a/mods/farming/nodes.lua b/mods/farming/nodes.lua index cc9d1f6..22dd51c 100644 --- a/mods/farming/nodes.lua +++ b/mods/farming/nodes.lua @@ -1,3 +1,8 @@ +-- farming/nodes.lua + +-- support for MT game translation. +local S = farming.get_translator + minetest.override_item("default:dirt", { soil = { base = "default:dirt", @@ -38,8 +43,24 @@ minetest.override_item("default:dirt_with_coniferous_litter", { } }) +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 = "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}, @@ -52,7 +73,7 @@ minetest.register_node("farming:soil", { }) minetest.register_node("farming:soil_wet", { - description = "Wet Soil", + 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}, @@ -64,6 +85,32 @@ minetest.register_node("farming:soil_wet", { } }) +minetest.register_node("farming:dry_soil", { + description = S("Dry 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 Dry 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 = { @@ -73,7 +120,7 @@ minetest.override_item("default:desert_sand", { } }) minetest.register_node("farming:desert_sand_soil", { - description = "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}, @@ -86,7 +133,7 @@ minetest.register_node("farming:desert_sand_soil", { }) minetest.register_node("farming:desert_sand_soil_wet", { - description = "Wet Desert Sand Soil", + 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}, @@ -99,23 +146,28 @@ minetest.register_node("farming:desert_sand_soil_wet", { }) minetest.register_node("farming:straw", { - description = "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(), }) -stairs.register_stair_and_slab( - "straw", - "farming:straw", - {snappy = 3, flammable = 4}, - {"farming_straw.png"}, - "Straw Stair", - "Straw Slab", - default.node_sound_leaves_defaults(), - true -) +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", @@ -175,8 +227,8 @@ 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'}}, + {items = {"farming:seed_wheat"},rarity = 5}, + {items = {"default:grass_1"}}, } }}) end @@ -184,7 +236,7 @@ end minetest.override_item("default:junglegrass", {drop = { max_items = 1, items = { - {items = {'farming:seed_cotton'},rarity = 8}, - {items = {'default:junglegrass'}}, + {items = {"farming:seed_cotton"},rarity = 8}, + {items = {"default:junglegrass"}}, } }}) diff --git a/mods/fire/depends.txt b/mods/fire/depends.txt deleted file mode 100644 index 4ad96d5..0000000 --- a/mods/fire/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/fire/init.lua b/mods/fire/init.lua index 612e052..3c8a8fc 100644 --- a/mods/fire/init.lua +++ b/mods/fire/init.lua @@ -1,7 +1,13 @@ +-- 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") @@ -82,7 +88,7 @@ minetest.register_node("fire:basic_flame", { }) minetest.register_node("fire:permanent_flame", { - description = "Permanent Flame", + description = S("Permanent Flame"), drawtype = "firelike", tiles = { { @@ -113,7 +119,7 @@ minetest.register_node("fire:permanent_flame", { -- Flint and steel minetest.register_tool("fire:flint_and_steel", { - description = "Flint and Steel", + description = S("Flint and Steel"), inventory_image = "fire_flint_steel.png", sound = {breaks = "default_tool_breaks"}, @@ -320,7 +326,7 @@ if fire_enabled then interval = 7, chance = 12, catch_up = false, - action = function(pos, node, active_object_count, active_object_count_wider) + action = function(pos) local p = minetest.find_node_near(pos, 1, {"air"}) if p then minetest.set_node(p, {name = "fire:basic_flame"}) @@ -337,17 +343,18 @@ if fire_enabled then interval = 5, chance = 18, catch_up = false, - action = function(pos, node, active_object_count, active_object_count_wider) + action = function(pos) local p = minetest.find_node_near(pos, 1, {"group:flammable"}) - if p then - local flammable_node = minetest.get_node(p) - local def = minetest.registered_nodes[flammable_node.name] - if def.on_burn then - def.on_burn(p) - else - minetest.remove_node(p) - minetest.check_for_falling(p) - end + 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, }) diff --git a/mods/fire/locale/fire.de.tr b/mods/fire/locale/fire.de.tr new file mode 100644 index 0000000..d6f8dde --- /dev/null +++ b/mods/fire/locale/fire.de.tr @@ -0,0 +1,3 @@ +# textdomain: fire +Permanent Flame=Permanente Flamme +Flint and Steel=Feuerstein und Stahl diff --git a/mods/fire/locale/fire.es.tr b/mods/fire/locale/fire.es.tr new file mode 100644 index 0000000..8c1b604 --- /dev/null +++ b/mods/fire/locale/fire.es.tr @@ -0,0 +1,3 @@ +# textdomain: fire +Permanent Flame=Llama permanente +Flint and Steel=Yesca y pedernal diff --git a/mods/fire/locale/fire.fr.tr b/mods/fire/locale/fire.fr.tr new file mode 100644 index 0000000..268e823 --- /dev/null +++ b/mods/fire/locale/fire.fr.tr @@ -0,0 +1,3 @@ +# textdomain: fire +Permanent Flame=Flamme permanente +Flint and Steel=Briquet à silex en acier diff --git a/mods/fire/locale/fire.it.tr b/mods/fire/locale/fire.it.tr new file mode 100644 index 0000000..a5e35c6 --- /dev/null +++ b/mods/fire/locale/fire.it.tr @@ -0,0 +1,3 @@ +# textdomain: fire +Permanent Flame=Fiamma permanente +Flint and Steel=Acciarino \ No newline at end of file diff --git a/mods/fire/locale/template.txt b/mods/fire/locale/template.txt new file mode 100644 index 0000000..79ea7a2 --- /dev/null +++ b/mods/fire/locale/template.txt @@ -0,0 +1,3 @@ +# textdomain: fire +Permanent Flame= +Flint and Steel= diff --git a/mods/fire/mod.conf b/mods/fire/mod.conf new file mode 100644 index 0000000..c70f23b --- /dev/null +++ b/mods/fire/mod.conf @@ -0,0 +1,3 @@ +name = fire +description = Minetest Game mod: fire +depends = default diff --git a/mods/fireflies/depends.txt b/mods/fireflies/depends.txt deleted file mode 100644 index e0585b4..0000000 --- a/mods/fireflies/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -vessels \ No newline at end of file diff --git a/mods/fireflies/init.lua b/mods/fireflies/init.lua index 44d4a31..1c533a1 100644 --- a/mods/fireflies/init.lua +++ b/mods/fireflies/init.lua @@ -1,6 +1,11 @@ --- firefly +-- firefly/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("fireflies") + + minetest.register_node("fireflies:firefly", { - description = "Firefly", + description = S("Firefly"), drawtype = "plantlike", tiles = {{ name = "fireflies_firefly_animated.png", @@ -47,7 +52,7 @@ minetest.register_node("fireflies:firefly", { }) minetest.register_node("fireflies:hidden_firefly", { - description = "Hidden Firefly", + description = S("Hidden Firefly"), drawtype = "airlike", inventory_image = "fireflies_firefly.png", wield_image = "fireflies_firefly.png", @@ -84,7 +89,7 @@ minetest.register_node("fireflies:hidden_firefly", { -- bug net minetest.register_tool("fireflies:bug_net", { - description = "Bug Net", + description = S("Bug Net"), inventory_image = "fireflies_bugnet.png", on_use = function(itemstack, player, pointed_thing) if not pointed_thing or pointed_thing.type ~= "node" or @@ -113,14 +118,14 @@ minetest.register_craft( { recipe = { {"farming:string", "farming:string"}, {"farming:string", "farming:string"}, - {"default:stick", ""} + {"group:stick", ""} } }) -- firefly in a bottle minetest.register_node("fireflies:firefly_bottle", { - description = "Firefly in a Bottle", + description = S("Firefly in a Bottle"), inventory_image = "fireflies_bottle.png", wield_image = "fireflies_bottle.png", tiles = {{ @@ -137,7 +142,7 @@ minetest.register_node("fireflies:firefly_bottle", { sunlight_propagates = true, light_source = 9, walkable = false, - groups = {dig_immediate = 3, attached_node = 1}, + 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} diff --git a/mods/fireflies/locale/fireflies.de.tr b/mods/fireflies/locale/fireflies.de.tr new file mode 100644 index 0000000..c5d116a --- /dev/null +++ b/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/mods/fireflies/locale/fireflies.es.tr b/mods/fireflies/locale/fireflies.es.tr new file mode 100644 index 0000000..95d053e --- /dev/null +++ b/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/mods/fireflies/locale/fireflies.fr.tr b/mods/fireflies/locale/fireflies.fr.tr new file mode 100644 index 0000000..3deda66 --- /dev/null +++ b/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/mods/fireflies/locale/fireflies.it.tr b/mods/fireflies/locale/fireflies.it.tr new file mode 100644 index 0000000..af33943 --- /dev/null +++ b/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 \ No newline at end of file diff --git a/mods/fireflies/locale/template.txt b/mods/fireflies/locale/template.txt new file mode 100644 index 0000000..91aa8ff --- /dev/null +++ b/mods/fireflies/locale/template.txt @@ -0,0 +1,5 @@ +# textdomain: fireflies +Firefly= +Hidden Firefly= +Bug Net= +Firefly in a Bottle= diff --git a/mods/fireflies/mod.conf b/mods/fireflies/mod.conf new file mode 100644 index 0000000..a533588 --- /dev/null +++ b/mods/fireflies/mod.conf @@ -0,0 +1,3 @@ +name = fireflies +description = Minetest Game mod: fireflies +depends = default, vessels diff --git a/mods/flowers/depends.txt b/mods/flowers/depends.txt deleted file mode 100644 index 4ad96d5..0000000 --- a/mods/flowers/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/flowers/init.lua b/mods/flowers/init.lua index 3ad4bf6..9731750 100644 --- a/mods/flowers/init.lua +++ b/mods/flowers/init.lua @@ -1,3 +1,5 @@ +-- flowers/init.lua + -- Minetest 0.4 mod: default -- See README.txt for licensing and other information. @@ -6,6 +8,9 @@ flowers = {} +-- Load support for MT game translation. +local S = minetest.get_translator("flowers") + -- Map Generation @@ -46,7 +51,6 @@ local function add_simple_flower(name, desc, box, f_groups) paramtype = "light", walkable = false, buildable_to = true, - stack_max = 99, groups = f_groups, sounds = default.node_sound_leaves_defaults(), selection_box = { @@ -59,49 +63,49 @@ end flowers.datas = { { "rose", - "Red Rose", + S("Red Rose"), {-2 / 16, -0.5, -2 / 16, 2 / 16, 5 / 16, 2 / 16}, {color_red = 1, flammable = 1} }, { "tulip", - "Orange Tulip", + S("Orange Tulip"), {-2 / 16, -0.5, -2 / 16, 2 / 16, 3 / 16, 2 / 16}, {color_orange = 1, flammable = 1} }, { "dandelion_yellow", - "Yellow Dandelion", + S("Yellow Dandelion"), {-4 / 16, -0.5, -4 / 16, 4 / 16, -2 / 16, 4 / 16}, {color_yellow = 1, flammable = 1} }, { "chrysanthemum_green", - "Green Chrysanthemum", + S("Green Chrysanthemum"), {-4 / 16, -0.5, -4 / 16, 4 / 16, -1 / 16, 4 / 16}, {color_green = 1, flammable = 1} }, { "geranium", - "Blue Geranium", + S("Blue Geranium"), {-2 / 16, -0.5, -2 / 16, 2 / 16, 2 / 16, 2 / 16}, {color_blue = 1, flammable = 1} }, { "viola", - "Viola", + S("Viola"), {-5 / 16, -0.5, -5 / 16, 5 / 16, -1 / 16, 5 / 16}, {color_violet = 1, flammable = 1} }, { "dandelion_white", - "White Dandelion", + S("White Dandelion"), {-5 / 16, -0.5, -5 / 16, 5 / 16, -2 / 16, 5 / 16}, {color_white = 1, flammable = 1} }, { "tulip_black", - "Black Tulip", + S("Black Tulip"), {-2 / 16, -0.5, -2 / 16, 2 / 16, 3 / 16, 2 / 16}, {color_black = 1, flammable = 1} }, @@ -181,7 +185,7 @@ minetest.register_abm({ -- minetest.register_node("flowers:mushroom_red", { - description = "Red Mushroom", + description = S("Red Mushroom"), tiles = {"flowers_mushroom_red.png"}, inventory_image = "flowers_mushroom_red.png", wield_image = "flowers_mushroom_red.png", @@ -190,7 +194,7 @@ minetest.register_node("flowers:mushroom_red", { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = {snappy = 3, attached_node = 1, flammable = 1}, + groups = {mushroom = 1, snappy = 3, attached_node = 1, flammable = 1}, sounds = default.node_sound_leaves_defaults(), on_use = minetest.item_eat(-5), selection_box = { @@ -200,7 +204,7 @@ minetest.register_node("flowers:mushroom_red", { }) minetest.register_node("flowers:mushroom_brown", { - description = "Brown Mushroom", + description = S("Brown Mushroom"), tiles = {"flowers_mushroom_brown.png"}, inventory_image = "flowers_mushroom_brown.png", wield_image = "flowers_mushroom_brown.png", @@ -209,7 +213,7 @@ minetest.register_node("flowers:mushroom_brown", { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = {food_mushroom = 1, snappy = 3, attached_node = 1, flammable = 1}, + 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 = { @@ -222,8 +226,10 @@ minetest.register_node("flowers:mushroom_brown", { -- Mushroom spread and death function flowers.mushroom_spread(pos, node) - if minetest.get_node_light(pos, nil) == 15 then - minetest.remove_node(pos) + 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( @@ -235,8 +241,7 @@ function flowers.mushroom_spread(pos, node) end local pos2 = positions[math.random(#positions)] pos2.y = pos2.y + 1 - if minetest.get_node_light(pos, 0.5) <= 3 and - minetest.get_node_light(pos2, 0.5) <= 3 then + if minetest.get_node_light(pos2, 0.5) <= 3 then minetest.set_node(pos2, {name = node.name}) end end @@ -266,8 +271,8 @@ minetest.register_alias("mushroom:red_natural", "flowers:mushroom_red") -- Waterlily -- -minetest.register_node("flowers:waterlily", { - description = "Waterlily", +local waterlily_def = { + description = S("Waterlily"), drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", @@ -294,7 +299,6 @@ minetest.register_node("flowers:waterlily", { local pos = pointed_thing.above local node = minetest.get_node(pointed_thing.under) local def = minetest.registered_nodes[node.name] - local player_name = placer and placer:get_player_name() or "" if def and def.on_rightclick then return def.on_rightclick(pointed_thing.under, node, placer, itemstack, @@ -303,8 +307,10 @@ minetest.register_node("flowers:waterlily", { 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", + minetest.set_node(pos, {name = "flowers:waterlily" .. + (def.waving == 3 and "_waving" or ""), param2 = math.random(0, 3)}) if not (creative and creative.is_enabled_for and creative.is_enabled_for(player_name)) then @@ -318,4 +324,13 @@ minetest.register_node("flowers:waterlily", { 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/mods/flowers/locale/flowers.de.tr b/mods/flowers/locale/flowers.de.tr new file mode 100644 index 0000000..18afb2a --- /dev/null +++ b/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/mods/flowers/locale/flowers.es.tr b/mods/flowers/locale/flowers.es.tr new file mode 100644 index 0000000..e9c345d --- /dev/null +++ b/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/mods/flowers/locale/flowers.fr.tr b/mods/flowers/locale/flowers.fr.tr new file mode 100644 index 0000000..41e0d00 --- /dev/null +++ b/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/mods/flowers/locale/flowers.it.tr b/mods/flowers/locale/flowers.it.tr new file mode 100644 index 0000000..07aa381 --- /dev/null +++ b/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 \ No newline at end of file diff --git a/mods/flowers/locale/template.txt b/mods/flowers/locale/template.txt new file mode 100644 index 0000000..a3a687f --- /dev/null +++ b/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/mods/flowers/mapgen.lua b/mods/flowers/mapgen.lua index ad759c2..85e19b7 100644 --- a/mods/flowers/mapgen.lua +++ b/mods/flowers/mapgen.lua @@ -60,7 +60,7 @@ local function register_mgv6_waterlily() }, y_max = 0, y_min = 0, - decoration = "flowers:waterlily", + decoration = "flowers:waterlily_waving", param2 = 0, param2_max = 3, place_offset_y = 1, @@ -146,7 +146,7 @@ local function register_waterlily() biomes = {"rainforest_swamp", "savanna_shore", "deciduous_forest_shore"}, y_max = 0, y_min = 0, - decoration = "flowers:waterlily", + decoration = "flowers:waterlily_waving", param2 = 0, param2_max = 3, place_offset_y = 1, diff --git a/mods/flowers/mod.conf b/mods/flowers/mod.conf new file mode 100644 index 0000000..cdafe64 --- /dev/null +++ b/mods/flowers/mod.conf @@ -0,0 +1,3 @@ +name = flowers +description = Minetest Game mod: flowers +depends = default diff --git a/mods/game_commands/init.lua b/mods/game_commands/init.lua index 609c4a7..139a879 100644 --- a/mods/game_commands/init.lua +++ b/mods/game_commands/init.lua @@ -1,5 +1,11 @@ +-- game_commands/init.lua + +-- Load support for MT game translation. +local S = minetest.get_translator("game_commands") + + minetest.register_chatcommand("killme", { - description = "Kill yourself to respawn", + description = S("Kill yourself to respawn"), func = function(name) local player = minetest.get_player_by_name(name) if player then @@ -15,11 +21,11 @@ minetest.register_chatcommand("killme", { -- There doesn't seem to be a way to get a default spawn pos -- from the lua API - return false, "No static_spawnpoint defined" + return false, S("No static_spawnpoint defined") end else -- Show error message if used when not logged in, eg: from IRC mod - return false, "You need to be online to be killed!" + return false, S("You need to be online to be killed!") end end }) diff --git a/mods/game_commands/locale/game_commands.de.tr b/mods/game_commands/locale/game_commands.de.tr new file mode 100644 index 0000000..24b0e25 --- /dev/null +++ b/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/mods/game_commands/locale/game_commands.es.tr b/mods/game_commands/locale/game_commands.es.tr new file mode 100644 index 0000000..702a2ef --- /dev/null +++ b/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/mods/game_commands/locale/game_commands.fr.tr b/mods/game_commands/locale/game_commands.fr.tr new file mode 100644 index 0000000..0e295d6 --- /dev/null +++ b/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/mods/game_commands/locale/game_commands.it.tr b/mods/game_commands/locale/game_commands.it.tr new file mode 100644 index 0000000..fd009b1 --- /dev/null +++ b/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! \ No newline at end of file diff --git a/mods/game_commands/locale/template.txt b/mods/game_commands/locale/template.txt new file mode 100644 index 0000000..903f160 --- /dev/null +++ b/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/mods/game_commands/mod.conf b/mods/game_commands/mod.conf new file mode 100644 index 0000000..5571ff5 --- /dev/null +++ b/mods/game_commands/mod.conf @@ -0,0 +1,2 @@ +name = game_commands +description = Minetest Game mod: game_commands diff --git a/mods/give_initial_stuff/depends.txt b/mods/give_initial_stuff/depends.txt deleted file mode 100644 index 3a7daa1..0000000 --- a/mods/give_initial_stuff/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default - diff --git a/mods/give_initial_stuff/init.lua b/mods/give_initial_stuff/init.lua index 4815bd8..74421dc 100644 --- a/mods/give_initial_stuff/init.lua +++ b/mods/give_initial_stuff/init.lua @@ -1,3 +1,5 @@ +-- gave_initial_stuff/init.lua + local stuff_string = minetest.settings:get("initial_stuff") or "default:pick_steel,default:axe_steel,default:shovel_steel," .. "default:torch 99,default:cobble 99" diff --git a/mods/give_initial_stuff/mod.conf b/mods/give_initial_stuff/mod.conf new file mode 100644 index 0000000..51d31ae --- /dev/null +++ b/mods/give_initial_stuff/mod.conf @@ -0,0 +1,3 @@ +name = give_initial_stuff +description = Minetest Game mod: give_initial_stuff +depends = default diff --git a/mods/map/README.txt b/mods/map/README.txt index c91e0d9..068439a 100644 --- a/mods/map/README.txt +++ b/mods/map/README.txt @@ -20,7 +20,7 @@ map:mapping_kit default:glass G default:paper P -default:stick S +group:stick S default:steel_ingot I group:wood W dye:black D diff --git a/mods/map/depends.txt b/mods/map/depends.txt deleted file mode 100644 index 4b15f6a..0000000 --- a/mods/map/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -default -dye -creative? diff --git a/mods/map/init.lua b/mods/map/init.lua index 72b04c7..7c1e36f 100644 --- a/mods/map/init.lua +++ b/mods/map/init.lua @@ -1,8 +1,14 @@ +-- map/init.lua + -- Mod global namespace map = {} +-- Load support for MT game translation. +local S = minetest.get_translator("map") + + -- Cache creative mode setting local creative_mode_cache = minetest.settings:get_bool("creative_mode") @@ -49,7 +55,7 @@ minetest.after(5.3, cyclic_update) -- Mapping kit item minetest.register_craftitem("map:mapping_kit", { - description = "Mapping Kit\nUse with 'Minimap' key", + description = S("Mapping Kit") .. "\n" .. S("Use with 'Minimap' key"), inventory_image = "map_mapping_kit.png", stack_max = 1, groups = {flammable = 3}, @@ -65,7 +71,7 @@ minetest.register_craftitem("map:mapping_kit", { minetest.register_craft({ output = "map:mapping_kit", recipe = { - {"default:glass", "default:paper", "default:stick"}, + {"default:glass", "default:paper", "group:stick"}, {"default:steel_ingot", "default:paper", "default:steel_ingot"}, {"group:wood", "default:paper", "dye:black"}, } diff --git a/mods/map/locale/map.de.tr b/mods/map/locale/map.de.tr new file mode 100644 index 0000000..1a784ab --- /dev/null +++ b/mods/map/locale/map.de.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Kartenset +Use with 'Minimap' key=Mit „Karte an/aus“-Taste benutzen diff --git a/mods/map/locale/map.es.tr b/mods/map/locale/map.es.tr new file mode 100644 index 0000000..0faed52 --- /dev/null +++ b/mods/map/locale/map.es.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Kit de cartografía +Use with 'Minimap' key=Usar con la tecla 'Minimapa' diff --git a/mods/map/locale/map.fr.tr b/mods/map/locale/map.fr.tr new file mode 100644 index 0000000..29f8e20 --- /dev/null +++ b/mods/map/locale/map.fr.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Kit de carthographie +Use with 'Minimap' key=Utiliser avec le bouton « Minimap » diff --git a/mods/map/locale/map.it.tr b/mods/map/locale/map.it.tr new file mode 100644 index 0000000..f16c665 --- /dev/null +++ b/mods/map/locale/map.it.tr @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit=Kit di mappatura +Use with 'Minimap' key=Usalo col tasto 'Minimappa' \ No newline at end of file diff --git a/mods/map/locale/template.txt b/mods/map/locale/template.txt new file mode 100644 index 0000000..2dbe2ee --- /dev/null +++ b/mods/map/locale/template.txt @@ -0,0 +1,3 @@ +# textdomain: map +Mapping Kit= +Use with 'Minimap' key= diff --git a/mods/map/mod.conf b/mods/map/mod.conf new file mode 100644 index 0000000..2099c19 --- /dev/null +++ b/mods/map/mod.conf @@ -0,0 +1,4 @@ +name = map +description = Minetest Game mod: map +depends = default, dye +optional_depends = creative diff --git a/mods/player_api/api.lua b/mods/player_api/api.lua index e309b08..0afd679 100644 --- a/mods/player_api/api.lua +++ b/mods/player_api/api.lua @@ -54,6 +54,7 @@ function player_api.set_model(player, model_name) 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, diff --git a/mods/player_api/init.lua b/mods/player_api/init.lua index 7a1f353..783ff7e 100644 --- a/mods/player_api/init.lua +++ b/mods/player_api/init.lua @@ -1,3 +1,5 @@ +-- player/init.lua + dofile(minetest.get_modpath("player_api") .. "/api.lua") -- Default player appearance diff --git a/mods/player_api/mod.conf b/mods/player_api/mod.conf new file mode 100644 index 0000000..198b86d --- /dev/null +++ b/mods/player_api/mod.conf @@ -0,0 +1,2 @@ +name = player_api +description = Minetest Game mod: player_api diff --git a/mods/screwdriver/init.lua b/mods/screwdriver/init.lua index 634edf8..82fbaab 100644 --- a/mods/screwdriver/init.lua +++ b/mods/screwdriver/init.lua @@ -1,5 +1,11 @@ +-- screwdriver/init.lua + screwdriver = {} +-- Load support for MT game translation. +local S = minetest.get_translator("screwdriver") + + screwdriver.ROTATE_FACE = 1 screwdriver.ROTATE_AXIS = 2 screwdriver.disallow = function(pos, node, user, mode, new_param2) @@ -144,8 +150,9 @@ end -- Screwdriver minetest.register_tool("screwdriver:screwdriver", { - description = "Screwdriver (left-click rotates face, right-click rotates axis)", + description = S("Screwdriver") .. "\n" .. S("(left-click rotates face, right-click rotates axis)"), inventory_image = "screwdriver.png", + groups = {tool = 1}, on_use = function(itemstack, user, pointed_thing) screwdriver.handler(itemstack, user, pointed_thing, screwdriver.ROTATE_FACE, 200) return itemstack diff --git a/mods/screwdriver/locale/screwdriver.de.tr b/mods/screwdriver/locale/screwdriver.de.tr new file mode 100644 index 0000000..3c48ab4 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.de.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Schraubendreher +(left-click rotates face, right-click rotates axis)=(Linksklick dreht Seite, Rechtsklick dreht Achse) diff --git a/mods/screwdriver/locale/screwdriver.es.tr b/mods/screwdriver/locale/screwdriver.es.tr new file mode 100644 index 0000000..868ffc3 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.es.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Destornillador +(left-click rotates face, right-click rotates axis)=(clic-izquierdo gira la cara, clic-derecho rota el eje) diff --git a/mods/screwdriver/locale/screwdriver.fr.tr b/mods/screwdriver/locale/screwdriver.fr.tr new file mode 100644 index 0000000..fe34a9b --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.fr.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Tournevis +(left-click rotates face, right-click rotates axis)=(clic gauche pour changer de face, clic droit pour changer d'axe) diff --git a/mods/screwdriver/locale/screwdriver.it.tr b/mods/screwdriver/locale/screwdriver.it.tr new file mode 100644 index 0000000..077ea11 --- /dev/null +++ b/mods/screwdriver/locale/screwdriver.it.tr @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver=Cacciavite +(left-click rotates face, right-click rotates axis)=(click sinistro ruota la faccia, click destro ruota l'asse) \ No newline at end of file diff --git a/mods/screwdriver/locale/template.txt b/mods/screwdriver/locale/template.txt new file mode 100644 index 0000000..4cc8e2a --- /dev/null +++ b/mods/screwdriver/locale/template.txt @@ -0,0 +1,3 @@ +# textdomain: screwdriver +Screwdriver= +(left-click rotates face, right-click rotates axis)= diff --git a/mods/screwdriver/mod.conf b/mods/screwdriver/mod.conf new file mode 100644 index 0000000..306c52b --- /dev/null +++ b/mods/screwdriver/mod.conf @@ -0,0 +1,2 @@ +name = screwdriver +description = Minetest Game mod: screwdriver diff --git a/mods/sethome/init.lua b/mods/sethome/init.lua index 4563381..bad7806 100644 --- a/mods/sethome/init.lua +++ b/mods/sethome/init.lua @@ -1,6 +1,11 @@ +-- 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 = {} @@ -68,30 +73,30 @@ sethome.go = function(name) end minetest.register_privilege("home", { - description = "Can use /sethome and /home", + description = S("Can use /sethome and /home"), give_to_singleplayer = false }) minetest.register_chatcommand("home", { - description = "Teleport you to your home point", + description = S("Teleport you to your home point"), privs = {home = true}, func = function(name) if sethome.go(name) then - return true, "Teleported to home!" + return true, S("Teleported to home!") end - return false, "Set a home using /sethome" + return false, S("Set a home using /sethome") end, }) minetest.register_chatcommand("sethome", { - description = "Set your home point", + 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, "Home set!" + return true, S("Home set!") end - return false, "Player not found!" + return false, S("Player not found!") end, }) diff --git a/mods/sethome/locale/sethome.de.tr b/mods/sethome/locale/sethome.de.tr new file mode 100644 index 0000000..46279dd --- /dev/null +++ b/mods/sethome/locale/sethome.de.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +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/mods/sethome/locale/sethome.es.tr b/mods/sethome/locale/sethome.es.tr new file mode 100644 index 0000000..7c04ee3 --- /dev/null +++ b/mods/sethome/locale/sethome.es.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +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/mods/sethome/locale/sethome.fr.tr b/mods/sethome/locale/sethome.fr.tr new file mode 100644 index 0000000..852621d --- /dev/null +++ b/mods/sethome/locale/sethome.fr.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +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/mods/sethome/locale/sethome.it.tr b/mods/sethome/locale/sethome.it.tr new file mode 100644 index 0000000..9db1df8 --- /dev/null +++ b/mods/sethome/locale/sethome.it.tr @@ -0,0 +1,8 @@ +# textdomain: sethome +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! \ No newline at end of file diff --git a/mods/sethome/locale/template.txt b/mods/sethome/locale/template.txt new file mode 100644 index 0000000..d04bd50 --- /dev/null +++ b/mods/sethome/locale/template.txt @@ -0,0 +1,8 @@ +# textdomain: sethome +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/mods/sethome/mod.conf b/mods/sethome/mod.conf new file mode 100644 index 0000000..0079925 --- /dev/null +++ b/mods/sethome/mod.conf @@ -0,0 +1,2 @@ +name = sethome +description = Minetest Game mod: sethome diff --git a/mods/sfinv/README.txt b/mods/sfinv/README.txt index a7ac794..a69e3c3 100644 --- a/mods/sfinv/README.txt +++ b/mods/sfinv/README.txt @@ -11,3 +11,8 @@ https://forum.minetest.net/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/mods/sfinv/api.lua b/mods/sfinv/api.lua index cd5b5e8..509cb90 100644 --- a/mods/sfinv/api.lua +++ b/mods/sfinv/api.lua @@ -37,6 +37,14 @@ function sfinv.get_nav_fs(player, context, nav, current_idx) end local theme_inv = [[ + image[0,4.7;1,1;gui_hb_bg.png] + image[1,4.7;1,1;gui_hb_bg.png] + image[2,4.7;1,1;gui_hb_bg.png] + image[3,4.7;1,1;gui_hb_bg.png] + image[4,4.7;1,1;gui_hb_bg.png] + image[5,4.7;1,1;gui_hb_bg.png] + image[6,4.7;1,1;gui_hb_bg.png] + image[7,4.7;1,1;gui_hb_bg.png] list[current_player;main;0,4.7;8,1;] list[current_player;main;0,5.85;8,3;8] ]] @@ -45,11 +53,9 @@ function sfinv.make_formspec(player, context, content, show_inv, size) local tmp = { size or "size[8,8.6]", sfinv.get_nav_fs(player, context, context.nav_titles, context.nav_idx), + show_inv and theme_inv or "", content } - if show_inv then - tmp[#tmp + 1] = theme_inv - end return table.concat(tmp, "") end diff --git a/mods/sfinv/init.lua b/mods/sfinv/init.lua index 0befc7c..426b0d8 100644 --- a/mods/sfinv/init.lua +++ b/mods/sfinv/init.lua @@ -1,22 +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 = "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;gui_furnace_arrow_bg.png^[transformR270] + image[4.75,1.5;1,1;sfinv_crafting_arrow.png] listring[current_player;main] listring[current_player;craft] - image[0,4.7;1,1;gui_hb_bg.png] - image[1,4.7;1,1;gui_hb_bg.png] - image[2,4.7;1,1;gui_hb_bg.png] - image[3,4.7;1,1;gui_hb_bg.png] - image[4,4.7;1,1;gui_hb_bg.png] - image[5,4.7;1,1;gui_hb_bg.png] - image[6,4.7;1,1;gui_hb_bg.png] - image[7,4.7;1,1;gui_hb_bg.png] image_button[0,0;1.6,1.6;inventory_plus_inven.png;inven;] label[0.3,1.5;selection] ]], true) diff --git a/mods/sfinv/license.txt b/mods/sfinv/license.txt index e27dc85..6676d74 100644 --- a/mods/sfinv/license.txt +++ b/mods/sfinv/license.txt @@ -22,3 +22,38 @@ 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/mods/sfinv/locale/sfinv.de.tr b/mods/sfinv/locale/sfinv.de.tr new file mode 100644 index 0000000..1ba6acb --- /dev/null +++ b/mods/sfinv/locale/sfinv.de.tr @@ -0,0 +1,2 @@ +# textdomain:sfinv +Crafting=Fertigung diff --git a/mods/sfinv/locale/sfinv.es.tr b/mods/sfinv/locale/sfinv.es.tr new file mode 100644 index 0000000..b941f4e --- /dev/null +++ b/mods/sfinv/locale/sfinv.es.tr @@ -0,0 +1,2 @@ +# textdomain:sfinv +Crafting=Creación diff --git a/mods/sfinv/locale/sfinv.fr.tr b/mods/sfinv/locale/sfinv.fr.tr new file mode 100644 index 0000000..6d59735 --- /dev/null +++ b/mods/sfinv/locale/sfinv.fr.tr @@ -0,0 +1,2 @@ +# textdomain:sfinv +Crafting=Artisanat diff --git a/mods/sfinv/locale/sfinv.it.tr b/mods/sfinv/locale/sfinv.it.tr new file mode 100644 index 0000000..2a00e91 --- /dev/null +++ b/mods/sfinv/locale/sfinv.it.tr @@ -0,0 +1,2 @@ +# textdomain:sfinv +Crafting=Assemblaggio \ No newline at end of file diff --git a/mods/sfinv/locale/template.txt b/mods/sfinv/locale/template.txt new file mode 100644 index 0000000..913ba9f --- /dev/null +++ b/mods/sfinv/locale/template.txt @@ -0,0 +1,2 @@ +# textdomain:sfinv +Crafting= diff --git a/mods/sfinv/mod.conf b/mods/sfinv/mod.conf new file mode 100644 index 0000000..2934435 --- /dev/null +++ b/mods/sfinv/mod.conf @@ -0,0 +1,2 @@ +name = sfinv +description = Minetest Game mod: sfinv diff --git a/mods/sfinv/textures/sfinv_crafting_arrow.png b/mods/sfinv/textures/sfinv_crafting_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..df1bbdb4be285ca651ec29982267e61da0cc639c GIT binary patch literal 469 zcmeAS@N?(olHy`uVBq!ia0vp^DIm+Rjsxy=p?Y!B@P zQ)k#YDSmOb*K2WFFd;@PlV7onFVgKzPfO0v4NUb4a);CmjS*mXxxB63mrXkTum1YY z+J4?I{D|SnDJiQ8S$3{-XPlX-v9~E9u!_xb(HFiZXF--WB@P}}0f{aJ0};mrjiv(u zER72}n249KzvmUjCUN>ed5+ho(76AbZBNd6GBc(2`L?SMpM2hUktcp9TR-piDao$& zokn{$o{V%B`L4L37HVDd{fns@)uuaJ1B92<9^ZL#R*G;-V`0@I4Gs=x0f}Sz?vckC z%Iz*?macv0e|_^ghizFKtj$6VBzl(Ix96L2`s7WYLk03ohXq*L6ghZ+I@%NrcpMWX znhqGSG$wM8CQ-$HFj3|2zl7!cLd#TbQ=c=@kj+`MMFuE8# MUHx3vIVCg!0F!X3YybcN literal 0 HcmV?d00001 diff --git a/mods/spawn/depends.txt b/mods/spawn/depends.txt deleted file mode 100644 index 548489e..0000000 --- a/mods/spawn/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -beds? diff --git a/mods/spawn/init.lua b/mods/spawn/init.lua index 6707932..0e1261e 100644 --- a/mods/spawn/init.lua +++ b/mods/spawn/init.lua @@ -1,3 +1,5 @@ +-- spawn/init.lua + -- Disable by mapgen, setting or if 'static_spawnpoint' is set -------------------------------------------------------------- @@ -56,6 +58,15 @@ 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 ----------- @@ -100,6 +111,10 @@ local function search() 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 diff --git a/mods/spawn/mod.conf b/mods/spawn/mod.conf new file mode 100644 index 0000000..ec3d564 --- /dev/null +++ b/mods/spawn/mod.conf @@ -0,0 +1,4 @@ +name = spawn +description = Minetest Game mod: spawn +depends = default +optional_depends = beds diff --git a/mods/stairs/depends.txt b/mods/stairs/depends.txt deleted file mode 100644 index 4ad96d5..0000000 --- a/mods/stairs/depends.txt +++ /dev/null @@ -1 +0,0 @@ -default diff --git a/mods/stairs/init.lua b/mods/stairs/init.lua index e9f6dc1..e2984f6 100644 --- a/mods/stairs/init.lua +++ b/mods/stairs/init.lua @@ -1,3 +1,5 @@ +-- stairs/init.lua + -- Minetest 0.4 mod: stairs -- See README.txt for licensing and other information. @@ -6,6 +8,9 @@ stairs = {} +-- Load support for MT game translation. +local S = minetest.get_translator("stairs") + -- Register aliases for new pine node names @@ -44,6 +49,12 @@ local function rotate_and_place(itemstack, placer, pointed_thing) 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 + -- Register stair -- Node will be called stairs:stair_ @@ -73,6 +84,7 @@ function stairs.register_stair(subname, recipeitem, groups, images, description, end 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", @@ -109,7 +121,7 @@ function stairs.register_stair(subname, recipeitem, groups, images, description, if recipeitem then -- Recipe matches appearence in inventory minetest.register_craft({ - output = 'stairs:stair_' .. subname .. ' 8', + output = "stairs:stair_" .. subname .. " 8", recipe = { {"", "", recipeitem}, {"", recipeitem, recipeitem}, @@ -119,10 +131,10 @@ function stairs.register_stair(subname, recipeitem, groups, images, description, -- Use stairs to craft full blocks again (1:1) minetest.register_craft({ - output = recipeitem .. ' 3', + output = recipeitem .. " 3", recipe = { - {'stairs:stair_' .. subname, 'stairs:stair_' .. subname}, - {'stairs:stair_' .. subname, 'stairs:stair_' .. subname}, + {"stairs:stair_" .. subname, "stairs:stair_" .. subname}, + {"stairs:stair_" .. subname, "stairs:stair_" .. subname}, }, }) @@ -135,7 +147,7 @@ function stairs.register_stair(subname, recipeitem, groups, images, description, if baseburntime > 0 then minetest.register_craft({ type = "fuel", - recipe = 'stairs:stair_' .. subname, + recipe = "stairs:stair_" .. subname, burntime = math.floor(baseburntime * 0.75), }) end @@ -167,6 +179,7 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, end 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", @@ -224,7 +237,7 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, if recipeitem then minetest.register_craft({ - output = 'stairs:slab_' .. subname .. ' 6', + output = "stairs:slab_" .. subname .. " 6", recipe = { {recipeitem, recipeitem, recipeitem}, }, @@ -234,8 +247,8 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, minetest.register_craft({ output = recipeitem, recipe = { - {'stairs:slab_' .. subname}, - {'stairs:slab_' .. subname}, + {"stairs:slab_" .. subname}, + {"stairs:slab_" .. subname}, }, }) @@ -248,7 +261,7 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, if baseburntime > 0 then minetest.register_craft({ type = "fuel", - recipe = 'stairs:slab_' .. subname, + recipe = "stairs:slab_" .. subname, burntime = math.floor(baseburntime * 0.5), }) end @@ -283,7 +296,7 @@ end -- Node will be called stairs:stair_inner_ function stairs.register_stair_inner(subname, recipeitem, groups, images, - description, sounds, worldaligntex) + description, sounds, worldaligntex, full_description) -- Set backface culling and world-aligned textures local stair_images = {} for i, image in ipairs(images) do @@ -307,8 +320,14 @@ function stairs.register_stair_inner(subname, recipeitem, groups, images, end 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 = "Inner " .. description, + description = description, drawtype = "nodebox", tiles = stair_images, paramtype = "light", @@ -335,7 +354,7 @@ function stairs.register_stair_inner(subname, recipeitem, groups, images, if recipeitem then minetest.register_craft({ - output = 'stairs:stair_inner_' .. subname .. ' 7', + output = "stairs:stair_inner_" .. subname .. " 7", recipe = { {"", recipeitem, ""}, {recipeitem, "", recipeitem}, @@ -352,7 +371,7 @@ function stairs.register_stair_inner(subname, recipeitem, groups, images, if baseburntime > 0 then minetest.register_craft({ type = "fuel", - recipe = 'stairs:stair_inner_' .. subname, + recipe = "stairs:stair_inner_" .. subname, burntime = math.floor(baseburntime * 0.875), }) end @@ -364,7 +383,7 @@ end -- Node will be called stairs:stair_outer_ function stairs.register_stair_outer(subname, recipeitem, groups, images, - description, sounds, worldaligntex) + description, sounds, worldaligntex, full_description) -- Set backface culling and world-aligned textures local stair_images = {} for i, image in ipairs(images) do @@ -388,8 +407,14 @@ function stairs.register_stair_outer(subname, recipeitem, groups, images, end 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 = "Outer " .. description, + description = description, drawtype = "nodebox", tiles = stair_images, paramtype = "light", @@ -415,7 +440,7 @@ function stairs.register_stair_outer(subname, recipeitem, groups, images, if recipeitem then minetest.register_craft({ - output = 'stairs:stair_outer_' .. subname .. ' 6', + output = "stairs:stair_outer_" .. subname .. " 6", recipe = { {"", recipeitem, ""}, {recipeitem, recipeitem, recipeitem}, @@ -431,7 +456,7 @@ function stairs.register_stair_outer(subname, recipeitem, groups, images, if baseburntime > 0 then minetest.register_craft({ type = "fuel", - recipe = 'stairs:stair_outer_' .. subname, + recipe = "stairs:stair_outer_" .. subname, burntime = math.floor(baseburntime * 0.625), }) end @@ -454,10 +479,23 @@ function stairs.register_stair_and_slab(subname, recipeitem, groups, images, 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, S("Inner " .. desc_stair)) + stairs.register_stair_outer(subname, recipeitem, groups, images, "", + sounds, worldaligntex, S("Outer " .. desc_stair)) + stairs.register_slab(subname, recipeitem, groups, images, S(desc_slab), + sounds, worldaligntex) +end + -- Register default stairs and slabs -stairs.register_stair_and_slab( +my_register_stair_and_slab( "wood", "default:wood", {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, @@ -468,7 +506,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "junglewood", "default:junglewood", {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, @@ -479,7 +517,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "pine_wood", "default:pine_wood", {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, @@ -490,7 +528,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "acacia_wood", "default:acacia_wood", {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, @@ -501,7 +539,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "aspen_wood", "default:aspen_wood", {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, @@ -512,7 +550,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "stone", "default:stone", {cracky = 3}, @@ -523,7 +561,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "cobble", "default:cobble", {cracky = 3}, @@ -534,7 +572,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "mossycobble", "default:mossycobble", {cracky = 3}, @@ -545,7 +583,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "stonebrick", "default:stonebrick", {cracky = 2}, @@ -556,7 +594,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "stone_block", "default:stone_block", {cracky = 2}, @@ -567,7 +605,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "desert_stone", "default:desert_stone", {cracky = 3}, @@ -578,7 +616,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "desert_cobble", "default:desert_cobble", {cracky = 3}, @@ -589,7 +627,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "desert_stonebrick", "default:desert_stonebrick", {cracky = 2}, @@ -600,7 +638,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "desert_stone_block", "default:desert_stone_block", {cracky = 2}, @@ -611,7 +649,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "sandstone", "default:sandstone", {crumbly = 1, cracky = 3}, @@ -622,7 +660,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "sandstonebrick", "default:sandstonebrick", {cracky = 2}, @@ -633,7 +671,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "sandstone_block", "default:sandstone_block", {cracky = 2}, @@ -644,7 +682,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "desert_sandstone", "default:desert_sandstone", {crumbly = 1, cracky = 3}, @@ -655,7 +693,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "desert_sandstone_brick", "default:desert_sandstone_brick", {cracky = 2}, @@ -666,7 +704,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "desert_sandstone_block", "default:desert_sandstone_block", {cracky = 2}, @@ -677,7 +715,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "silver_sandstone", "default:silver_sandstone", {crumbly = 1, cracky = 3}, @@ -688,7 +726,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "silver_sandstone_brick", "default:silver_sandstone_brick", {cracky = 2}, @@ -699,7 +737,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "silver_sandstone_block", "default:silver_sandstone_block", {cracky = 2}, @@ -710,7 +748,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "obsidian", "default:obsidian", {cracky = 1, level = 2}, @@ -721,7 +759,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "obsidianbrick", "default:obsidianbrick", {cracky = 1, level = 2}, @@ -732,7 +770,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "obsidian_block", "default:obsidian_block", {cracky = 1, level = 2}, @@ -743,7 +781,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "brick", "default:brick", {cracky = 3}, @@ -754,7 +792,7 @@ stairs.register_stair_and_slab( false ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "steelblock", "default:steelblock", {cracky = 1, level = 2}, @@ -765,7 +803,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "tinblock", "default:tinblock", {cracky = 1, level = 2}, @@ -776,7 +814,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "copperblock", "default:copperblock", {cracky = 1, level = 2}, @@ -787,7 +825,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "bronzeblock", "default:bronzeblock", {cracky = 1, level = 2}, @@ -798,7 +836,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "goldblock", "default:goldblock", {cracky = 1}, @@ -809,7 +847,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "ice", "default:ice", {cracky = 3, cools_lava = 1, slippery = 3}, @@ -820,7 +858,7 @@ stairs.register_stair_and_slab( true ) -stairs.register_stair_and_slab( +my_register_stair_and_slab( "snowblock", "default:snowblock", {crumbly = 3, cools_lava = 1, snowy = 1}, @@ -840,7 +878,7 @@ stairs.register_stair( {"stairs_glass_split.png", "default_glass.png", "stairs_glass_stairside.png^[transformFX", "stairs_glass_stairside.png", "default_glass.png", "stairs_glass_split.png"}, - "Glass Stair", + S("Glass Stair"), default.node_sound_glass_defaults(), false ) @@ -850,7 +888,7 @@ stairs.register_slab( "default:glass", {cracky = 3}, {"default_glass.png", "default_glass.png", "stairs_glass_split.png"}, - "Glass Slab", + S("Glass Slab"), default.node_sound_glass_defaults(), false ) @@ -862,9 +900,10 @@ stairs.register_stair_inner( {"stairs_glass_stairside.png^[transformR270", "default_glass.png", "stairs_glass_stairside.png^[transformFX", "default_glass.png", "default_glass.png", "stairs_glass_stairside.png"}, - "Glass Stair", + "", default.node_sound_glass_defaults(), - false + false, + S("Inner Glass Stair") ) stairs.register_stair_outer( @@ -874,9 +913,10 @@ stairs.register_stair_outer( {"stairs_glass_stairside.png^[transformR90", "default_glass.png", "stairs_glass_outer_stairside.png", "stairs_glass_stairside.png", "stairs_glass_stairside.png^[transformR90","stairs_glass_outer_stairside.png"}, - "Glass Stair", + "", default.node_sound_glass_defaults(), - false + false, + S("Outer Glass Stair") ) stairs.register_stair( @@ -886,7 +926,7 @@ stairs.register_stair( {"stairs_obsidian_glass_split.png", "default_obsidian_glass.png", "stairs_obsidian_glass_stairside.png^[transformFX", "stairs_obsidian_glass_stairside.png", "default_obsidian_glass.png", "stairs_obsidian_glass_split.png"}, - "Obsidian Glass Stair", + S("Obsidian Glass Stair"), default.node_sound_glass_defaults(), false ) @@ -896,7 +936,7 @@ stairs.register_slab( "default:obsidian_glass", {cracky = 3}, {"default_obsidian_glass.png", "default_obsidian_glass.png", "stairs_obsidian_glass_split.png"}, - "Obsidian Glass Slab", + S("Obsidian Glass Slab"), default.node_sound_glass_defaults(), false ) @@ -908,9 +948,10 @@ stairs.register_stair_inner( {"stairs_obsidian_glass_stairside.png^[transformR270", "default_obsidian_glass.png", "stairs_obsidian_glass_stairside.png^[transformFX", "default_obsidian_glass.png", "default_obsidian_glass.png", "stairs_obsidian_glass_stairside.png"}, - "Obsidian Glass Stair", + "", default.node_sound_glass_defaults(), - false + false, + S("Inner Obsidian Glass Stair") ) stairs.register_stair_outer( @@ -920,7 +961,152 @@ stairs.register_stair_outer( {"stairs_obsidian_glass_stairside.png^[transformR90", "default_obsidian_glass.png", "stairs_obsidian_glass_outer_stairside.png", "stairs_obsidian_glass_stairside.png", "stairs_obsidian_glass_stairside.png^[transformR90","stairs_obsidian_glass_outer_stairside.png"}, - "Obsidian Glass Stair", + "", default.node_sound_glass_defaults(), - false + 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/mods/stairs/locale/stairs.de.tr b/mods/stairs/locale/stairs.de.tr new file mode 100644 index 0000000..41c055b --- /dev/null +++ b/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=Mosige Kopfsteinpflastertreppe +Inner Mossy Cobblestone Stair=Innere mosige Kopfsteinpflastertreppe +Outer Mossy Cobblestone Stair=Äußere mosige Kopfsteinpflastertreppe +Mossy Cobblestone Slab=Mosige 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/mods/stairs/locale/stairs.es.tr b/mods/stairs/locale/stairs.es.tr new file mode 100644 index 0000000..374540c --- /dev/null +++ b/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/mods/stairs/locale/stairs.fr.tr b/mods/stairs/locale/stairs.fr.tr new file mode 100644 index 0000000..2dd6594 --- /dev/null +++ b/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=Escalier en bloc de neige diff --git a/mods/stairs/locale/stairs.it.tr b/mods/stairs/locale/stairs.it.tr new file mode 100644 index 0000000..16945ec --- /dev/null +++ b/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/mods/stairs/locale/template.txt b/mods/stairs/locale/template.txt new file mode 100644 index 0000000..ca2c865 --- /dev/null +++ b/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/mods/stairs/mod.conf b/mods/stairs/mod.conf new file mode 100644 index 0000000..7548fa7 --- /dev/null +++ b/mods/stairs/mod.conf @@ -0,0 +1,3 @@ +name = stairs +description = Minetest Game mod: stairs +depends = default diff --git a/mods/tnt/README.txt b/mods/tnt/README.txt index 1970804..df244fe 100644 --- a/mods/tnt/README.txt +++ b/mods/tnt/README.txt @@ -9,8 +9,8 @@ ShadowNinja (MIT) sofar (sofar@foo-projects.org) (MIT) Various Minetest developers and contributors (MIT) -Authors of media (textures) ---------------------------- +Authors of media +---------------- BlockMen (CC BY-SA 3.0): All textures not mentioned below. @@ -26,6 +26,23 @@ 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 to Minetest. TNT is a tool to help the player diff --git a/mods/tnt/depends.txt b/mods/tnt/depends.txt deleted file mode 100644 index 5ff216f..0000000 --- a/mods/tnt/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -default -fire - diff --git a/mods/tnt/init.lua b/mods/tnt/init.lua index 3efc6ec..0e061fa 100644 --- a/mods/tnt/init.lua +++ b/mods/tnt/init.lua @@ -1,5 +1,11 @@ +-- 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 @@ -396,7 +402,7 @@ function tnt.boom(pos, def) minetest.set_node(pos, {name = "tnt:boom"}) end local sound = def.sound or "tnt_explode" - minetest.sound_play(sound, {pos = pos, gain = 1.5, + minetest.sound_play(sound, {pos = pos, gain = 2.5, max_hear_distance = math.min(def.radius * 20, 128)}) local drops, radius = tnt_explode(pos, def.radius, def.ignore_protection, def.ignore_on_blast, owner, def.explode_center) @@ -422,7 +428,7 @@ minetest.register_node("tnt:boom", { }) minetest.register_node("tnt:gunpowder", { - description = "Gun Powder", + description = S("Gun Powder"), drawtype = "raillike", paramtype = "light", is_ground_content = false, @@ -547,7 +553,7 @@ minetest.register_craft({ }) minetest.register_craftitem("tnt:tnt_stick", { - description = "TNT Stick", + description = S("TNT Stick"), inventory_image = "tnt_tnt_stick.png", groups = {flammable = 5}, }) @@ -675,6 +681,6 @@ end tnt.register_tnt({ name = "tnt:tnt", - description = "TNT", + description = S("TNT"), radius = tnt_radius, }) diff --git a/mods/tnt/license.txt b/mods/tnt/license.txt index 2c57df3..e59ec6e 100644 --- a/mods/tnt/license.txt +++ b/mods/tnt/license.txt @@ -26,9 +26,10 @@ DEALINGS IN THE SOFTWARE. For more details: https://opensource.org/licenses/MIT +=================================== -Licenses of media (textures) ----------------------------- +Licenses of media +----------------- Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) Copyright (C) 2014-2016 BlockMen @@ -64,3 +65,36 @@ 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/mods/tnt/locale/template.txt b/mods/tnt/locale/template.txt new file mode 100644 index 0000000..62bcb15 --- /dev/null +++ b/mods/tnt/locale/template.txt @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder= +TNT Stick= +TNT= diff --git a/mods/tnt/locale/tnt.de.tr b/mods/tnt/locale/tnt.de.tr new file mode 100644 index 0000000..09d2ac2 --- /dev/null +++ b/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/mods/tnt/locale/tnt.es.tr b/mods/tnt/locale/tnt.es.tr new file mode 100644 index 0000000..d9f3f20 --- /dev/null +++ b/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/mods/tnt/locale/tnt.fr.tr b/mods/tnt/locale/tnt.fr.tr new file mode 100644 index 0000000..3fe48fb --- /dev/null +++ b/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/mods/tnt/locale/tnt.it.tr b/mods/tnt/locale/tnt.it.tr new file mode 100644 index 0000000..086f4d3 --- /dev/null +++ b/mods/tnt/locale/tnt.it.tr @@ -0,0 +1,4 @@ +# textdomain: tnt +Gun Powder=Polvere da sparo +TNT Stick=Candelotto di TNT +TNT=TNT \ No newline at end of file diff --git a/mods/tnt/mod.conf b/mods/tnt/mod.conf new file mode 100644 index 0000000..9385e82 --- /dev/null +++ b/mods/tnt/mod.conf @@ -0,0 +1,3 @@ +name = tnt +description = Minetest Game mod: tnt +depends = default, fire diff --git a/mods/tnt/sounds/tnt_explode.ogg b/mods/tnt/sounds/tnt_explode.ogg index a414ea046bf76298f6f1406d574f15741c515248..e00a16c1a332404379bc5dfeb74007d6bd3d701d 100644 GIT binary patch literal 13580 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 V+38NfLd4EwiqSafi~lX&{{v}ltsVdX literal 34335 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 DzB1aE literal 29271 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 0 @@ -27,7 +32,7 @@ local function swap(pos, node, name, param2) return end - minetest.set_node(pos, {name = name, param2 = param2}) + minetest.swap_node(pos, {name = name, param2 = param2}) end local function update_pane(pos) @@ -100,7 +105,14 @@ function xpanes.register_pane(name, def) inventory_image = def.inventory_image, wield_image = def.wield_image, paramtype2 = "facedir", - tiles = {def.textures[3], def.textures[3], def.textures[1]}, + 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, @@ -148,7 +160,7 @@ function xpanes.register_pane(name, def) end xpanes.register_pane("pane", { - description = "Glass Pane", + description = S("Glass Pane"), textures = {"default_glass.png","xpanes_pane_half.png","xpanes_edge.png"}, inventory_image = "default_glass.png", wield_image = "default_glass.png", @@ -161,7 +173,7 @@ xpanes.register_pane("pane", { }) xpanes.register_pane("obsidian_pane", { - description = "Obsidian Glass Pane", + description = S("Obsidian Glass Pane"), textures = {"default_obsidian_glass.png","xpanes_pane_half.png","xpanes_edge_obsidian.png"}, inventory_image = "default_obsidian_glass.png", wield_image = "default_obsidian_glass.png", @@ -174,7 +186,7 @@ xpanes.register_pane("obsidian_pane", { }) xpanes.register_pane("bar", { - description = "Steel Bars", + description = S("Steel Bars"), textures = {"xpanes_bar.png","xpanes_bar.png","xpanes_bar_top.png"}, inventory_image = "xpanes_bar.png", wield_image = "xpanes_bar.png", @@ -197,3 +209,45 @@ minetest.register_lbm({ 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 = {cracky = 1, level = 2}, + sounds = default.node_sound_metal_defaults(), + sound_open = "xpanes_steel_bar_door_open", + sound_close = "xpanes_steel_bar_door_close", + 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 = {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", + }) + + 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/mods/xpanes/license.txt b/mods/xpanes/license.txt index dff7227..7e922b9 100644 --- a/mods/xpanes/license.txt +++ b/mods/xpanes/license.txt @@ -34,6 +34,7 @@ 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. diff --git a/mods/xpanes/locale/template.txt b/mods/xpanes/locale/template.txt new file mode 100644 index 0000000..08dfbba --- /dev/null +++ b/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/mods/xpanes/locale/xpanes.de.tr b/mods/xpanes/locale/xpanes.de.tr new file mode 100644 index 0000000..9852753 --- /dev/null +++ b/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/mods/xpanes/locale/xpanes.es.tr b/mods/xpanes/locale/xpanes.es.tr new file mode 100644 index 0000000..9902be7 --- /dev/null +++ b/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/mods/xpanes/locale/xpanes.fr.tr b/mods/xpanes/locale/xpanes.fr.tr new file mode 100644 index 0000000..c751799 --- /dev/null +++ b/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/mods/xpanes/locale/xpanes.it.tr b/mods/xpanes/locale/xpanes.it.tr new file mode 100644 index 0000000..df6ecde --- /dev/null +++ b/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 \ No newline at end of file diff --git a/mods/xpanes/mod.conf b/mods/xpanes/mod.conf new file mode 100644 index 0000000..dcb0716 --- /dev/null +++ b/mods/xpanes/mod.conf @@ -0,0 +1,4 @@ +name = xpanes +description = Minetest Game mod: xpanes +depends = default +optional_depends = doors diff --git a/mods/xpanes/sounds/xpanes_steel_bar_door_close.ogg b/mods/xpanes/sounds/xpanes_steel_bar_door_close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0620bfb8a151b9434bcf0dab73f89d67579e233e GIT binary patch literal 17553 zcmb`ubzEFM_b)o70<>5Qr9jc*+79j%XpzAk1}pARyg0>+yK7-^DKfaU#ogVCySvWW z(C2x7?>+Z^&iUtV!Y0XDSxLTYeUr>)kBpI#0tgB8&$aWlg#0e+@8Nj#fcSxfm5r{6 z?Onx#4~2JsK%jSd5AXk0Kaja=`Jd~qW|FZn zA~iSBRlc`RDo)D$4$Srr{Em&3W--a{QjjMwO^|2=j(90fcPU}-Acf2! zgB&*7Aj?MuMJXlVve#5`Fc^2RA9rw5i}zKpc2leNRiE(HJoDAT^ZO^AyUm~7rTeLq zJ^-bYbHy&vet$#oeUaU zirTWa+wuZQ)b2xPv}EtGB<8=hsgi= z`g$KPz(mMW3}a0_QCPxt?qTr+%;IIB2&4V&2~Y^gSSC#zNIdH0!bn_6&%;R?{`E~U ziMl2)KIz_r=6(1}fG=sg5?a#}1`=)i#L*IAe{)VRl8}q?hJZT!wPcJod>uf~WGE3i zZ&DR#t2U6hnp=Yd zJ$&8+e$$!2YfJGWbqjr>i$j)87Da3qh7pwx?x4*g4ha>3t_6hBe2X>tmY84j-Mp)KtM>nz{=*zm8wwx+%=u_T@n6jO2__T< z*i^b{}8;w*x?+pW$c{_v?t9JmaW5+o(LFk|N*#nK6KLlvQe&6#zB{ z1i}Y_)>{G8u_7~Lp;(P7U0gJ5XIfxGoR&EkSiE4U&3=L|go_5A(+7qHL};kfN4#m# z!QfVsrp*;x8xu!iL|wipl^N*ERd0tlGbDD?ZpQ7N-ZeeXt95ep3j!*KOzVE3KF zfX?BScb!)#%A4G^FfD2WI?n?pXa=qvGYtW^5$g4F!Ep3UY1>Ai!HkuJdWCF`_cO-@ zMg<21jBNlU_oHG2T1XbP5p}}i1aD2IX@w5OJ+f#ZN>9xBZc94W6`$8+hV2BTYQNl)`L1aGi5OGRatZon($N_rM&>(QEqC6xI&;2tLP(dKN&%oyULr&k;D8@c?ZU7^@g~ z6&N%m?{6_${%?_%@=i(yc;`+k1kmoT2!IAjxhrNwM+>0<+XR4|F90|!S`kVI1C#-% zl>g#tS_A^^KSBnjBfVA@<)kHe#&AE!2cVw-mj$1Y>D`@-e1ID;PQ1HuzRN(vAt-wR z5(7?UXu$lD0e0QT7DSx(E-LOKeE@5s&9yY6kZEThv3l8@L&G40w*7MG=l()Gb>_Siw3AY2DR;b3?gOa1bGro{NVmAKB)RBgN*)xCoc#jMtgs-1lV;4 z`kgoaJ!gWm|C9Tly8GPfKZ2e+=LB=D65h2vd;JA7r zM8Ikm$k;|;y8}Q2%m;{1U=f@ERK^m8Y422kiE04N06{N&?G6wiS5%X8XJt&oc8~AQ z3Vb!$1%M%*mlO1!a)PrNGNiU({P`Y-84yT>7MKCXKc0&DOVhuOqXQU!9};&({X72J z{S^px{FlII;Eve$0$Cwi7|;Uw-sxmMvXFlTFCa9q=zmSY?s)l+%8R?elIQ*#CV$T) ze@)#-oIC{euipJ(CHlqPApf=i0`N{RGkHOW=!B-*vO8yj|>My?*fbH*JT~msG+mi$9%s-a? z9mW6u#sAMPK)Ky$$UoOnUmK~4bJG)|Gu?9#7hqg-yk4jvH9%viS-h95(0W$Z5X8Kc z4I+34mOMa{G3NE$=tu~ps1;W)IKf+9o(@<+f%R|4K2yA=V&SoS4%ZX;i zY{+T0SlO@%(-5|`WEU*%^ATuB%__0ofZ!Uj9i#}@1^f7r$z1nq;HqZ5Y-@AgnA|Ay zrUgJ?o9*$PrFvU}fk+g;40^BeE;5|E`^QkgYnh)| zUxD@IDJTHg(1L*l$mg$5bOZlV{lCZzd`O_;1PF(4hLbyyz*P_Y1k}HxWI?)8B zp=ONw9W>P7N*rb%oQf&v2C$s#7L?irgT?b&VAy!xI z$@EZTpj8uD2t^3XOO^2b15{4V1wZP!eV^CK=?aRQcm3RbuKoj{FbR6|Jt1Lfeg7PU z`W&B(7R)6mE(a{fz(oo=2NpqP&j4e?RZebR{`W#3M8qJH(z5c3|9O_+>FIf|`yRM^ zdj5S{@Sga-3Uv3h;7-wsGz#UFiHy9Aq_mW|6=D|Ais(kHA=VKah$)T5^QgGOEa9!v zGsM}qw@a}{DK2^2Hi+21-ExONuBtbub6>l|uCNs>qLl5|>~0Pgm!^%{Cx;^{^0)GR zaJw%g4_;q^B~IBAKKEL&W$!}Bk&AlgJ}Ladh|S#|MR-q12Y-SnR+Mp1dIybRGF^VdeyYE z{VZKpms@Oesj>x~pyHlqaa3emX3*|N2levK&=&2_7bnEZYQBFk8I?i?D+USuS(RuV)yoj zx<^bLy|Prkhd>(70@22ny!EcPv&}Wxvn=A#xvChB3!~21C-t{d_Vzed8qYG-OqVPz z_#kZZt||K7sWV~ila>h}<7OkJZlY}HtpP&F!Q`^j>#`;9b@DKiE4)MV@aSOWNitm? zrvF5R08F)?`6lPL2MKfb&Rj^X-5)~!;!uf`FhPX=d``y4KBV*&=7$fL7~=#k2BZ+B zljnahiT%I#F)r|`ZWRaxdN}6~UGqJtXP<56L(4ht_j%#9{`PYH7`(S!{Y9X!J34tK zW_0}8E&*jsu2@kI6{NAK+dqT9wVS8v%F!tbcX!2M?Omle`m9x*MzQw1Mt}K}X^y!%w=<{( z-q>zO+srp7FCn*Yu$^=N@LDw=#NY&cNw0;s`krVv-x~wh|Y_;p9>p!I~+ zkew41C}3VCTXlG0qU~%szLY;dG7(x;em(p)i#qGs*wlx8yfd1*&%OPk9Ax$+2`uVi9R zKqk+2MbesI@p;2o9tobp#tqGCdIY5 zy1lg-Q@^hb37lTLA^6Y1cG69Ei-7x_#`>e0h1X2>6E8Q`k+S`AtjIEP3)FtsiPq7E zRD4*})9+%B<%4;!N!z^Wk1u;ymaJ;?HMe-O-oE+k_^I&`x$SbbSM(DL!RyAP+3qWU zM{xu9)b_mBwp-oiloGz&Z1 zB<1r%y!fseX>3{B3yIFR7d9Z%XQ|H7=j6-eilP_`E+ba-Z_v~jL@F)}v-)O(KF<}Z z;2Kdb)I^{!nASRUujfh^Ej@;}KxfrRoGdY%kCr!%mAGdawNKqy)8M7WJG&?^T)HPV zH5-bc)4gEt8VeIqjBkSByV9Hwto*!vDpL+s)ur~UF-i*MG{c5cU!_dHz?L^_ae8md zZ=}{m=|Sj73%7vs$6mB+^?bSM7vGChbj7){v)@qgP?hW*xyj*1OPrg~Nqfk2lx9mk zT&VFp$1fZQM8p+a|NS(m%MMOwMKQ(8=$IVCvs!U7C^a-C&Nfk3Wf!NxsG@!*+%E^& z0jJt~oQ_Z9b#j}vGPr4;E$*LO6xG&NM$WFLR?=*W@ciNB8;zF-clo_wvUPBY?YoV> z$er0k9J19nJJ_tNZdzuWb)zG)aCw&ft8@_dG2^w5W=bAC>m|QT*CwSyR>y(V0x^|x|YpmbLE4uFTS!YY?J^2~k znF^xH2>`is>o1Z|?q|S1uB}&HetcCh)S6|%eK7j1&)SH2JlgJt*?>GH=DHF9opAfL zXb#xgwqez7I{7=QU%U8*ozUkV;pwqFRs=xr*Umhis3 zEdifMo#`F2RgJHUemU(slzRDyeyUF%wLQgJ!fj8qvo38Z^KAQQq^^yDN9!Y%Wm?8F zBTXLfbBsw2l_K<~JA?=-jMg7%1CYkEafrwT^dZd$4w%O+dve2lVaw&+|J}Lw~Yx-O>p`83w zLt13dbwldoYw!wET2-0Zk=a$c1-YNjHy@h(Vh9y}G8boPrPW3C>sj{a19ZJD#3265 zsN)pYYtLPQ_Vtv=g+bdTXpR8om+9XMy<#1GE>psAlLm`5iN~iY>XbrsQOFOm3rH-DTg z4gLbP*ChQ!tFVujCS;IO;munXz^$G?Y_(`ABg*D6(V{S!vvf;m zy&j95&0;A)w}?q^5Bt7;cpJZ$CzbP@@g37K1k*gSf_B zR}W*YR{WG1g8N5Vt6xza89%UA*j={e=u5p|-VCfe4Jk_b(Rz&$D*4!~T#@g&T(-GW zVpVgUd4qsapS}1CU&aPy1}62>Prr7?us65xpY~1tpsky7(+-sHN=(X$)zR4Is(Y>! zVb(*5II-c#bZ9uXXJCBh8CzXs9PeVebMD==bePlWJcnDd@bU*nNDAwQXP7L~O0n&^ zkEoRGnS~V#j`nDajIjtAA`U8SxVq-%)>JdRgU@eGuhqw{{vrGi$AjmA35*qKsExn9 zf(CVtAB1&V=kLfS)t2?7#bAL_H(8EZCIoV|uqC;ITH4(56w z8o5hUTYBt}%Rk$A(rw#rC5qxK$)mklq&R&$t*a%&$u0d_ha`GbsIiVj6W2vxCsU6_ zWco9s6mJE;nvyc4Nkcn(8+~-VD?l9Nc#XlUW-Q#HOKN6-(KtAUjRs7lxudC}c zC70t}ZiTE2wb9;dx-yltCl=Z(Hbp^uPg&31wYj1i-!!S|ZVGfg=9<^^L1bRB&qgPs zkL9v~DMqo|*=th-+Q(h+ z7u8Em{)=DxT^+w1DSU_?=6usE4wchld#%nT`O1LoE9s?iNh=i*pL=Oe?!u>}ny)Dui}D#>eWZDQBPzI z7G_}lq+cIJg_}@o>lJ%V2sMPI>Ryzv&N$e{;@k9k=P=Jzl$Ra~CU(Ts$s95^!Qdj{AcBA@DH6Ekv?H!T z=Au@-BJbjf_PX@$$2@sxKS_scFn&Wv}qUxTKfUQswcc9pC`xj8`9b`dF{Y<3?}ULb3Bl2)pU^RbxsSrD2soebGeSw@mUU!m3tc ze%;!V-zT&-Ew5#Nd}oiU**D)UA>R40_|YAYXXbn%jIJj{CluXFMb25RJZ?4YNkRyZ z!~!ZEoK-!m_jKADp5T3`*~yYHIVg54?XVMT)6y?N^QfkYWAh6|9A6E+<5Fzh)`JU? z{oJ(}FZY3sylNEC3sTK6aRb~w=Y+^`;QPeSc-;V1bUqXuhP;IJNh@}UgTG49bBb5?&Z zZ;S%XN=MvN7tK8q1m1cFsd27t(FJQV!BHeE=qF|Y)A;*D7H`|QEqcGpbiFd^)X*{S zY2#_zn`)o+Hl^gkq-RT`KiLcYatZagbtTrm{^~f69R#DrT#7(9miA>H)@q(XhN!!v zDitzav@l@1JsVzW7fayGx{cFl_}1+XS5l3-3JROTw4fMjR$<%rte}m0z$(9VPTd(V zGv_6zUP?Yb8vYsXaX^pPTME?o4{}RYp7*=6NR{;(ULuo+k_cwo zqKmtJTUE98x*&f~5HCK5c782DG~-l0`#Yob+-7|uqAFt3C9i6Vn%H2=_vfqxPBj8| zNIWe|h7x`yuuOKTdiLuAW@-U3$`aYK6FMuyTK#a5l{ju7lrrEs1^G=)En-ss7&9wo zbQ3SP#a8ec)_$pV=8Ay!+wJdeC6O;{n|6EpT`P_=4`ZZTkTc{upMNmt^qHQKO>P;q z@T}^DP<2PWiA*K)e1`P|^v^>Ck^gy!aQ8C8nmS!D4q^z=ju=CBa99CR?f2+7ujV&ThF4tCuK7~2?e;Rd$M4PF-2t;NKZFMCYxfU{PA zzuud?jpI>!BNz1skV=jh8$1CMe@%$P-mEob;`M5I|yngNS$JyNU$dkGrFG@;e<%-xI2lCdy6l*`dXok z#w=3JTenh9j@jY!Ok;)g%%uFCUa4!-v24d>W~vYAG#D_SeN0aDVEpW{!V3_#nfEsaTJAr zoz=l>l`AJhjqOIMLaBapbyLg1#srj~l)vh?Bwv&rS9?`uH~mz;oTFadIwC8(K=?EG z!NUTP5*5r&juOL+XvuFzA@wv$(#m{grQJ9dHQ(#v9Ufac#0Qa9Gv&XOPi(=Z01<)JTx;)^bWm3eIsRDNEKFl((GNTb>p_c zZ_j^}4ws~{mnP;Qy6jky{xXe{=#Cc!uaso5;M&7zrVUN3Q|Of#Rp0v|jUI%d@QT`^ z2i01c?^|qEN~=OsB;{+K6mH)UH2>yi*YE`~XD73)dGX?rP!lGx!0bnGzHZ)__pQB2 ziPAFtY3jkaO~cHm{`#TJ$V!IQn2WuY=6Mlz&e%y~zj74RR|ZZqCd|Vr9uJ&S=Fvs3 zg^jISd?s;`iab$|Dr6cX?zNf~9bP#iig59^9TzAcn+bLEI-u_Ei`sbkrAhHut)pcJ3{BA4)+$~D>9}9WW4)cdV@k$V55Ky@lp7=&2A3H2$aL;<~ym#}q$NA98F52GnT(;b8|52;`{FA9#lTv}PQ zFLw*fxK;^5HS2y@lR70lH(@1}4n}$ynMt#nr8@uC%A|+-4M^*9>koY@vEsP(7Jfyw03>PT*onWB1#=sMg^i(V;!t#lX_5Sx+`@;n#%f zdhczg2)C1ykfKHBD9h?gj#_o|936-WZ-Jd@0-oV?)Ksospy{#{Zk3evo+W{a`Lxp1 zXoLn+sQ45k+q0whC=--7ZBtWF!r-An$)s+SnpIJ+t#;%mCcVM0D>2mLk51)C&Rr{P zZT0Mk2=TpL#VklNd6>l?xXw=r2*a8Zw?C|NIQjGcdV27E!r*8)+%YUq=c-t}>s6+( z`kw#p2~H>Kt%NhXLgh%x(p>PazQxH>wkXHNG;2KaIafzWcDx?4ud~<@(NosbZu+AN zZslnm{+ee=gCj-sC0lCMU#S@@&GtKw`zPYuNJ@LFq@F+i)>RiN-1du_qY>#C*QbJ- zG7^tE1cl~JF@uk|RU}P&x0aL#RVwe+_ps81wMO%STHnFwVw!zW_F0knWr=<4v(4eY z+3xR!{=Y6e3U>P{dCT`)3_QS9ic6oIt~i<@ptgWqX0MrDp+WU6v|4&Jlc5(H2`Lo@ zSE0JjBFWaru92yJZze=ImDZg0v#nTGG-1@tZMD;zRX6SC=XgpLpvKFjW0~IaAjO&j z!sDD!%dFI=-^PSFpM-U)x1-wj6uiL8yKZD^{+jF_Va}g*w&&A^F4e7%=;Y>(tWxhD zzN{bb6mVCg&Rzdzk8&aAeDm^`en%}_Evy#KQ(aZmTP`g+b#0An zotw$r?-4VW$v!)^%#M@{xOsJ#l^F{bQn@Bjd%yQ0eha?TDr?p2#XQ5pGG{Nb(3@|Y z-H)}j1mfF?_v$FzjwkFe4WJvmX%2M)Jn``1FZ`{Vbz}OWNU|=kiYB)n8yYZ;O<V zeMYiJbi3r(bN54_N3};W?l=XXrttZ{Bp7U2SElx9-5&i0XX@_79*(W6#~PRBk6A7` z+}d<+CT?{65XcT|O@%oS1@aedh8_B@MtsWuLm^$|;o5$o|D|_%73GhZls&V$S$B)? zPYcrH0X(->_vAR0+m(7(AHTDe;bD6IC#<`60<%{1fm6V{K4|);1!jKN7l$0`a*sEm zLVN0arMaHb>0p}t06q4~Kf_`9f1c}BR&m!|M)TBU89%xSpn61neriM%R>hE1MhZ0# z(hsKokgb42WJ~a6jyTmuPBpl-kixc)Me&0cx8$WvFz-O5=E|oDzP7X@R`eZd?9NfU zMH><;#@E9UKAH=v_I>DXN(~mrQS_Tps}mua;UnoW1m%Ns#8Z+4qJ}fvlfF>g$?!>ys*uyIk_#-1JAr?7mFTzk862sO zq^YKcw)fk%$Gz1&T~*8`p>^a!A%IPKj*3DbeE#@VaWM-~Dt=*Q>Q<-6OJZK2vbmyF zLPs&#Cg7}^>1y8iNjD12_q?46`qm=WceKo&VaYh8JJ|VU%+~fB-SgeV%|?7sBQ3+R z%%_YzYVk+HBnOFP;vZBQd6`+aH5sjEidCG>hG(t$+_t~Nj(nXMetr59Ng?-fM;l+> z-YK-fxHo8_%Up_OvF;X+)&H180P%Sze{eRdk`p}suC>)LB4o^FZVu0H$7UpJNfMjh zzHaBw`i))xCp|sq@XOQenAU+klGf$TZj+s%n)A<8BO~0;j*J^>S^6sL;xPwa^_TtZ zHQN~tMvA9t-)Zw!Dmv6`z3sw|BhPc+BB;%raadr3cAZ?TQLHzPZPKG}a&#@b)<5!2cB6HQI`l5Wt4SwG0<|9aGyi?dMww)rS)LjXT=|VOCgf_ z>+$yE-Yd?_{@!es~m{peLF65dP` zu{ac2x76buUpjhUu0!FckQHhPrFM2ik!Xg9&9YsNXOAVNm~nB41V@co;WnBWg(9L! zj#qvsI3T1qFX>2n#tkg_j3&1}@g*4(TC{hLc>O<~wHOW@M47XPEHv%UJ}Ww0#GSFd1z$yGpWdq#M+* zFVv2+bto(C`7`j`sWO{EE(yehl5nbshhDL|gl>b|KHQ7drtkUF*Mz)O{b>{H6s6A# z)jVW-x@)9wYio@#5-!kb7}N|*sI8adzcA16zf~Tiiyetdi&$}p+XDse*(c^out^g> zaGA9=X=Xai;ceLUz;}l~82s>%k_^Fy^+V#*31`AFlsqu{wKKAY87SwshHGs|eO~$k}VS!xvJznGmsp{!xPe{uqrp#qeCfpSUB$@22n%N~revJ%M-wH+iM#jA0t_zWa9rETm42t`y zl3t&ruX@A0_$qW7O1dqO5MuD_E`yxFQf-#RlIl2{8Q!d!34>zM96N#bu`XVW2+W2S zJl5qyXi?`+3oBajIa6IiF|+l|fy!gzLjnsoL(GZ0<-@YveNIE-x8w$x zdvB{zQC|k7B%F>VK^}k_FA9!Tu#oAvk-cT?Kfle}6jQ@%7t=drPDreKK6XW&v$r~_ zKI%s)2D5kkIqUQBbO9dW6w|W2-#5GvYDL9HyWHG<+-G+()s;}9J%i}4-$|M>W_YpT zN>Ill@5CpPB0`kMSF~|xXSrv;=3Fpp3R9>8mReTwoe(A6{!TfYQ3tWBtCJx4qnr0q z_?rtwZWN)Fc<&T~DmAp4Uz0FAQ-Kpc+=o9HC((zol?-c3q%e-Xn`n5T7oU8T9dUR* zZ+`v3->M}1abxT0Vu{$GYX_QBCw@aiml~?AOTbQDE8El3{-8q+69FIS$^L0*iPM#4s{_o zU}uo*k$1YX*zTXTWh527`juJSq!)Z0hzEC=dDsqsZc$q2C zps@|#%l>(wGu8Fv74$be5YvX`<*7q41g~WU^3r!tlGG}phJTGpva|Su5sBqPh|0<+HYTD8^|CNT>VlRwn`e|*k2BCTw7hfG+{K$y7N$~XC z@)hGl{ZGY(v*qQ>QGTiE`e)z8PwbjL)hp8T!OOi#)Nl_v-;gwCR}KXL-~}0^+_Bx6R=U87e9jzG2om(^FL|kPGVUVa!SwXFfkq}yY zrcvYGJ~S02kOvu?*m#0We)Mngju4_Yeq$3hQ>0#fr)T73B`pTYv#+(p=1a^9)RU|& zUY{bKl{VSE-qvgl&N$Rw!^nT2p3*EXE0&XDe7vbn=ki}2!9q*F^wBoYObt;nI$es6q@zW z#Eoo~)d-%#qiK}EW!UM)F{e~}HLA&T>6>FOVnJp$-!)WFI(Zz?pEBO{{!(~&)Us|Y znabD~TTg+95kJ8j)67Mu_t191A%{22SSteU=dV9&gfdLOxvNCZwYo@62_9YsXrN~& z=Jt=KrmEM{%zia*y4L1ClP@Xyq*d?74T&n?T13u%{-NEi{EPi+wg(ljQ{6|4ek-b1 z=Ui)s$8VoLuD0yEDBc`W;ay{}-#FcK;eQ+N<^OSkMvXBeIfu5IpheAeD2LWB>WtE00T8x~Vmisy zn-9di&gZl&8P6kdr~Cwd3gn3utipzlI^E!duTKowpNkw+v>Ue`>oU)gP^~E(|1paZ+%l=%Z)ck)FAQ?&z~M zvmM%98mq~~zshW%me1j^W3fnbuqwW!tok-Lb<2){QRn)H_z2a%4l~375t(F+k;pzQ z`wfO#!^bAWbScP7Zr~T(ap-`}U|6?BOLUXUu)JF4vC=z(Xy6qq=F3y#Reug9h=GY^-hgd)`Zh&7jvg%U}{p5m0) zp~VJeuST@1GloV{z!k9F`bX$IJKxlOe6>=6@nkP`#et|?uprCnCWM=w`1gbBMN52{ zMu8F)CJnsol<0CE{3kXZa=Z#0OwotJaa{$Lzf-N?%;`ohm(D&H#(%iBqPsYfOZA4< z$rc;B?fcdbIPzodFQ4ftx-k&UTpgL9ri${vKrCf((dqr>1`Rr#CMBx?L0*uja#_xth?+`U`iaVVhMfURTd&+oehP+AW(!)~$z!Mb^4PF>41 zPuhtM8%Zv1dpU}z*J^sxF{`Auin753Q`bLU!qR$U*1}F#@Tm)6R}DI8UAgt&L|y1y zapJo(c&WoI`rZ{AYPluqiFy5E?SKzC_ITH)CVfU1^~#uU#yJxY*wi4HDg4AW;JRFA zvpJsGAIWnPzsMYFKQrZ4?vGVnrI1Zpi7WD%;#I2hc(^%*+if|TmU?KJe>3HVNqRY_ zcfD-h+v&s@^Miyw2^Q~1`(^LwRl8&f^(aq|r93y4>fWp+XY~uQ$i##WwW=|xNA!sc zEUn2a^v|Amo?9<>rKHps@?{0SSqPOSvZqCJ&>vdb&C9>lccAukg{TCwYBVz6Mw1OB z)W;n+t;io~Uxw38r{+^*v;-%X-)JOc4^xG}5CN{Q*gEKhNSj^6c%km&MC-9p*avTd zd>hbO2_@)_Ua1meqPlYV)4L`?Vqc8ieoRU`yYkosSM8Ll{hCR$6K{Pr6M`4vJ+l~+ z$kg=#vt{f{mhQ!qwJYycWVlqzlZ1FFG{Pgp~^^a&>f@icU9faG#Iy=eRdYiR@Plm)DPwmh9#Tk zBHj82tvh022VeW)l{8CCA16c^4ij)qb57Nae!$LTce){{RTg&6)0#!8d_q=kIl?_2 z(clB`HVh?K#(l)Top1Q=@?90590&Ni%$fv`sJ9c<%a2Lf?ni?zEAzVbG1U}Nsy$0>V$Q#Mz=zZsjnvwMmGY&!D+%}j0%pQdxuF|E{*?9^EErv9+ zH}TmBG!^;x>QboONyc!Y2}jLw4`UsNZBK1qfZx4c8PMe?ny{+(xPst(5NX4pcnoFi zWF;mM@HV)1OLLw+SB)j}=+oMKX}Ht#OVB>lx2kj`VTs!D>HDwkDkKxjLsiON-X6Sd z7tUYa9&uLc1rc+?=S86sJ7ffNR`L-cA1^(FI+d9lA$+t22>OAiav^?MdM$JluGBG* z%padqycHb#_sUG9j4lIdb1@BJEn>=68B=<7wh^jJYcDM0I7lr^(5@JL({@L-cSrXg ztu3|wKqHwXzCC&N(NeRhG9j3k6{F3Az+o+F;9Cr^2}Lmr$C?k?aUN&|B((^5iw~el_f;jH zOrL$ThYZrN_B(BjB1jyc<4^EU9XXDlv}YR}6TMySE5l*-Zhqg)3N=V#eN#Q0@WeWl z&T4Fz_wktff||r|d&bDv0fsucu}hUpw$jZ?-s_T8u8gsqMd!IS;L?Z7x`_h{Bx!(DrBVsrfF+mEn+u>*zqi3d@nR&#tVTgN_ zmVcrE(a!L}?kfI`0HnlNP@XjQgH@+DKF4O9L(7#chw1F%k)qm$$5#7N2g9Fh*Trg{ z&F!bh7}Dnr&A69Mv63g85?Je{Oml438YTXzS=iNS)1q%*il(f&pY|q=CGTY=p)Gwf zI9A_4+cBSXKb(){F}?D#5>m5d*{0lcXC&oF3m_;An;_PFz*+h>;s?o}Cjlf;63U6t zHyA4f7tzWg_=_Kq|AN|G@Kgd$KwjGrMfLeopT^bAQGO|8JSVXN@H{!WZ$!@>aNRaN+b*FV%E2=l<36 zFK#UE!OE6Av{HIggzQZE3dfQXSPxSD&Gu!m9#3F(g=G^b=i{NZ_={8H*^-3OC;iX=v}$a7pbb(K&qo`+f=^D)sa*U8dB;2s1!@hfX?^c#rUlGAGRXES-HW2Voc zEh?Aq_w0*yafXYHnqr#ym6`Ms->TFKo|@bsqPdE4ibWy9L!kVw#@{V zif^syFOp4$%Gm&DtQj0NDrw%9Qw1td>=NLt;^r!hzK=NI=g3RD^1gcb=v8C5@x~?{ zT!wd^NWM=R!!pu))pzK-;pkUNoL?UFR%g`A-m&V?A)Z^i7rCpMBrJ{%)!OtMh%(2v z03MCXkv()ViRXJz5}{MtBPoq+mGRO=v5NecO;-^ma=n=9$#X$z;s$TS)|Ks{*~Ik7 z8v1jLQQ`LL$NOSCe>T(K7x7Vo$X>NwKMoI3kci&h*lpip^N&IPVD-D+?ZuvX+8gKL zZ!DIoS|*Z*4p@I!z4drQP-H>3eo22yP@b=&2`eR&oCcW?G#b)Eze|-*m~2h%F+ zZ5Kb!`+l9(2U_aB;Segn?p(b!=VzcJphb9{O2iZgO@bn^2KG07fgqUw_`S3Rx*c&Mvx zcCk%oj^Jwk-5xFSn_p@Oq+Mx{1E>SBRB0-+m| zXDZqi2Q!ni$20woCcm`^T#o2obQre}-V~oEY3z5nnXDZ#Jry(gQk9zCdPJB9+M~QM zSx2IBcH@*iET9v>9!#BAung#T@pL6te8;YZ8o96-t^J#UTknv!95&R!W(@H zS9ZGY_26xM`}h{(82bc`p~|$0MkWF`q_i|EWr$isS+7^y-J6kM98I}~JE(fgdZXj0 zjOtsAlkJl)LlHB13Sk<}7SYbkaaPJ9ez$XSGCS=-&FD`{+f@9voA~P&$~f8zoeOr7 z`TJcW##0r>mHKNlG*T6`mQqUX^b!t?fp>WKea+84h_w2+*tKN%^L1###)Q{wujLev zoR*?wH?Js>`2Bbmc-Xm6GRc-*jT@)5vOWsC1WA9#wr?^{4k3yW*eP`{C)jG8qti*4 zmcloIg$aGD4s__NeXEuzc{0Hy3LL%+zU6<9YMPL0uv`t|`Hc?}DDSl%surhfTer~O* znO2&9+(&i2clp3Md5)#QGU&E!{@`hryafyYI(esOcYtPEUeoo4pC0;Eufs^#=bTtR zar8sqv#YjsCm}XJpSZ8`jhgPStF-&|+?Z7!1#2#5T6^ZV|5=^XM2s7qHCUbHCf2s9 z{y7(^C$D(SVc@+rt-i#+Z%=}va66{4wQgOiG!L&6FgjlO^dY6_OH$vV({u|XG50iA z9H&KL9l~k-v|q@~cOt1Y3^Dpro9RtOV`hk6K-fuJV4cQAQV(N|FfzCIZA59v36;x% zHL{mu0m~uIOCCl(IYz3wBv&nG4#d&cl{qasZ{zhGl4rG5(bFM5geJ%QcR4(*N=GeM zg7&MlZiS7dX+I2(&DN)ewcxqSqWry?)<2^oZqPT9S!1(pXx1^SnHY_>>ihVKUo$+9 z2C?;wWYDfU0{lz%@J+n9ZYs3#zJnVZ`cp6&`fQ+^6l|+?c{P{d*6S`(!fj^TAK^r^ z@QEvh43Z#jn{lDzh>bsNeH?~pSGA+Ee&rubc8gcZLkf4MSlL9;nK^Wpjg7m{`S*8? z+YE}Gq(D;dKvOvV>u?SK_T=r)DJxfQk$Eu}^c~+*$g{k=_^ow|*J4eEQz{e?tbK)q zft(pcdiKxGu*YP2@N9yuuI<{ft&3Jfa$O8P~i)2~8MpLeFL>6-M} zZkzWDeizF;%0D9ye0=}r%_9)-Ma;YF?&~|i*Dyil1Sj%Hk`Gc9T()=6^S>hXQQ<#) zcqh={#jCp+aa^fiB{;h%IFz#HAU2M+nmbM}tNfh!P-JbU@{GC=B{anxR9)U*-QJ&v Pk$Xc3LBg_rfbqWowMV&q literal 0 HcmV?d00001 diff --git a/mods/xpanes/sounds/xpanes_steel_bar_door_open.ogg b/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/mods/xpanes/textures/xpanes_door_steel_bar.png b/mods/xpanes/textures/xpanes_door_steel_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..435af148df7b0401acfa6cfa4cb23e28f80258cd GIT binary patch literal 605 zcmV-j0;2tiP)Ou#^hu00015P)t-s0000cCMGd4F!>k00DGTPE!Ct=GbNc0004EOGiWqhTfHW z0004eNklP10QtgBc!CG1KwocWzWO2!x@rkCp!wObf#kzR|h*8>Z z-YD}F`g!xhK}v5gZ(2~LZ1)PzFbi) z^mS!_%poMEFE4oeFGzWQfKP}kNSlU+zP^4^Qc`kqa#~tidU|?hW@c7aR(5uFZfa!?aF=@EE#o=nh5-A6*hDkiS31@k2POvSS w&3q+i)=qYvO9CtSCRr7K&q=#Eb8|YwlrJVabEZ`40nKOdboFyt=akR{0Ivv9M*si- literal 0 HcmV?d00001 diff --git a/mods/xpanes/textures/xpanes_trapdoor_steel_bar_side.png b/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