From 5dab77560841d5b9bcb35647c07bbda9d10db7f2 Mon Sep 17 00:00:00 2001 From: Der1248 Date: Mon, 17 Aug 2020 18:09:27 +0200 Subject: [PATCH] Sudoku 1.9.1 upload --- menu/Thumbs.db | Bin 33792 -> 0 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/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 | 85 -- mods/doors/depends.txt | 2 - mods/doors/init.lua | 868 ------------------ mods/doors/license.txt | 164 ---- mods/doors/models/door_a.obj | 40 - mods/doors/models/door_b.obj | 40 - mods/doors/models/doors_fencegate_closed.obj | 106 --- mods/doors/models/doors_fencegate_open.obj | 112 --- mods/doors/sounds/doors_door_close.ogg | Bin 6161 -> 0 bytes mods/doors/sounds/doors_door_open.ogg | Bin 6184 -> 0 bytes mods/doors/sounds/doors_fencegate_close.ogg | Bin 10032 -> 0 bytes mods/doors/sounds/doors_fencegate_open.ogg | Bin 8942 -> 0 bytes mods/doors/sounds/doors_glass_door_close.ogg | Bin 7289 -> 0 bytes mods/doors/sounds/doors_glass_door_open.ogg | Bin 7288 -> 0 bytes mods/doors/sounds/doors_steel_door_close.ogg | Bin 8574 -> 0 bytes mods/doors/sounds/doors_steel_door_open.ogg | Bin 5510 -> 0 bytes mods/doors/textures/doors_blank.png | Bin 95 -> 0 bytes mods/doors/textures/doors_door_glass.png | Bin 499 -> 0 bytes .../textures/doors_door_obsidian_glass.png | Bin 420 -> 0 bytes mods/doors/textures/doors_door_steel.png | Bin 1099 -> 0 bytes mods/doors/textures/doors_door_wood.png | Bin 1662 -> 0 bytes mods/doors/textures/doors_item_glass.png | Bin 232 -> 0 bytes .../textures/doors_item_obsidian_glass.png | Bin 186 -> 0 bytes mods/doors/textures/doors_item_steel.png | Bin 132 -> 0 bytes mods/doors/textures/doors_item_wood.png | Bin 130 -> 0 bytes mods/doors/textures/doors_trapdoor.png | Bin 257 -> 0 bytes mods/doors/textures/doors_trapdoor_side.png | Bin 169 -> 0 bytes mods/doors/textures/doors_trapdoor_steel.png | Bin 153 -> 0 bytes .../textures/doors_trapdoor_steel_side.png | Bin 101 -> 0 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/{bones => flatgen}/depends.txt | 0 mods/flatgen/init.lua | 60 ++ mods/flatgen/init_legacy.lua | 143 +++ mods/flatgen/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/sudoku/init.lua | 146 +-- mods/sudoku/schematics/sector1.mts | Bin 0 -> 480 bytes 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/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 297 files changed, 5092 insertions(+), 2632 deletions(-) delete mode 100644 menu/Thumbs.db 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 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/README.txt delete mode 100644 mods/doors/depends.txt delete mode 100644 mods/doors/init.lua delete mode 100644 mods/doors/license.txt delete mode 100644 mods/doors/models/door_a.obj delete mode 100644 mods/doors/models/door_b.obj delete mode 100644 mods/doors/models/doors_fencegate_closed.obj delete mode 100644 mods/doors/models/doors_fencegate_open.obj delete mode 100644 mods/doors/sounds/doors_door_close.ogg delete mode 100644 mods/doors/sounds/doors_door_open.ogg delete mode 100644 mods/doors/sounds/doors_fencegate_close.ogg delete mode 100644 mods/doors/sounds/doors_fencegate_open.ogg delete mode 100644 mods/doors/sounds/doors_glass_door_close.ogg delete mode 100644 mods/doors/sounds/doors_glass_door_open.ogg delete mode 100644 mods/doors/sounds/doors_steel_door_close.ogg delete mode 100644 mods/doors/sounds/doors_steel_door_open.ogg delete mode 100644 mods/doors/textures/doors_blank.png delete mode 100644 mods/doors/textures/doors_door_glass.png delete mode 100644 mods/doors/textures/doors_door_obsidian_glass.png delete mode 100644 mods/doors/textures/doors_door_steel.png delete mode 100644 mods/doors/textures/doors_door_wood.png delete mode 100644 mods/doors/textures/doors_item_glass.png delete mode 100644 mods/doors/textures/doors_item_obsidian_glass.png delete mode 100644 mods/doors/textures/doors_item_steel.png delete mode 100644 mods/doors/textures/doors_item_wood.png delete mode 100644 mods/doors/textures/doors_trapdoor.png delete mode 100644 mods/doors/textures/doors_trapdoor_side.png delete mode 100644 mods/doors/textures/doors_trapdoor_steel.png delete mode 100644 mods/doors/textures/doors_trapdoor_steel_side.png 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 rename mods/{bones => flatgen}/depends.txt (100%) create mode 100644 mods/flatgen/init.lua create mode 100644 mods/flatgen/init_legacy.lua create mode 100644 mods/flatgen/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 create mode 100644 mods/sudoku/schematics/sector1.mts 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 deleted file mode 100644 index ca38abc2ea0450aebc0a5bee9e17902a1275a3ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33792 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 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 deleted file mode 100644 index 9c114b0..0000000 --- a/mods/doors/README.txt +++ /dev/null @@ -1,85 +0,0 @@ -Minetest Game mod: doors -======================== -See license.txt for license information. - -Authors of source code ----------------------- -Originally by PilzAdam (MIT) - -Modified by BlockMen (MIT): Added sounds, glass doors (glass, obsidian glass) and trapdoor. - -Modified by sofar (sofar@foo-projects.org) (MIT): -Added Steel trapdoor. -Re-implemented most of the door algorithms, added meshes, UV wrapped texture. -Added doors API to facilitate coding mods accessing and operating doors. -Added Fence Gate model, code, and sounds. - -Various Minetest developers and contributors (MIT) - - -Authors of media (textures) ---------------------------- -Following textures created by Fernando Zapata (CC BY-SA 3.0): - door_wood.png - door_wood_a.png - door_wood_a_r.png - door_wood_b.png - door_wood_b_r.png - -Following textures created by BlockMen (CC BY-SA 3.0): - door_trapdoor.png - door_obsidian_glass_side.png - -Following textures created by celeron55 (CC BY-SA 3.0): - door_glass_a.png - door_glass_b.png - -Following textures created by PenguinDad (CC BY-SA 4.0): - door_glass.png - door_obsidian_glass.png - -Following textures created by sofar (CC-BY-SA-3.0): - doors_trapdoor_steel.png - doors_trapdoor_steel_side.png - door_trapdoor_side.png - -Obsidian door textures by red-001 based on textures by Pilzadam and BlockMen (CC BY-SA 3.0): - door_obsidian_glass.png - -Glass door textures by Krock and paramat based on textures by VanessaE (CC BY-SA 3.0): - doors_door_glass.png - doors_item_glass.png - -All other textures (created by PilzAdam) (CC BY-SA 3.0): - -Door textures were converted to the new texture map by sofar, paramat and -red-001, under the same license as the originals. - - -Authors of media (models) -------------------------- -Door 3d models by sofar (CC-BY-SA-3.0) - - door_a.obj - - door_b.obj -Fence gate models by sofar (CC-BY-SA-3.0) - - fencegate_open.obj - - fencegate_closed.obj - - -Authors of media (sounds) -------------------------- -Opening-Sound created by CGEffex (CC BY 3.0), modified by BlockMen - door_open.ogg -Closing-Sound created by bennstir (CC BY 3.0) - door_close.ogg -fencegate_open.ogg: - http://www.freesound.org/people/mhtaylor67/sounds/126041/ - (CC0 1.0) -fencegate_close.ogg: - http://www.freesound.org/people/BarkersPinhead/sounds/274807/ - (CC-BY-3.0) - http://www.freesound.org/people/rivernile7/sounds/249573/ - (CC-BY-3.0) -Steel door sounds open & close (CC-BY-3.0) by HazMatt - - http://www.freesound.org/people/HazMattt/sounds/187283/ - doors_steel_door_open.ogg - doors_steel_door_close.ogg -doors_glass_door_open.ogg, doors_glass_door_close.ogg: - https://www.freesound.org/people/SkeetMasterFunk69/sounds/235546/ (CC0 1.0) diff --git a/mods/doors/depends.txt b/mods/doors/depends.txt 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 deleted file mode 100644 index 0205ec7..0000000 --- a/mods/doors/init.lua +++ /dev/null @@ -1,868 +0,0 @@ --- our API object -doors = {} - -doors.registered_doors = {} -doors.registered_trapdoors = {} - -local function replace_old_owner_information(pos) - local meta = minetest.get_meta(pos) - local owner = meta:get_string("doors_owner") - if owner and owner ~= "" then - meta:set_string("owner", owner) - meta:set_string("doors_owner", "") - end -end - --- returns an object to a door object or nil -function doors.get(pos) - local node_name = minetest.get_node(pos).name - if doors.registered_doors[node_name] then - -- A normal upright door - return { - pos = pos, - open = function(self, player) - if self:state() then - return false - end - return doors.door_toggle(self.pos, nil, player) - end, - close = function(self, player) - if not self:state() then - return false - end - return doors.door_toggle(self.pos, nil, player) - end, - toggle = function(self, player) - return doors.door_toggle(self.pos, nil, player) - end, - state = function(self) - local state = minetest.get_meta(self.pos):get_int("state") - return state %2 == 1 - end - } - elseif doors.registered_trapdoors[node_name] then - -- A trapdoor - return { - pos = pos, - open = function(self, player) - if self:state() then - return false - end - return doors.trapdoor_toggle(self.pos, nil, player) - end, - close = function(self, player) - if not self:state() then - return false - end - return doors.trapdoor_toggle(self.pos, nil, player) - end, - toggle = function(self, player) - return doors.trapdoor_toggle(self.pos, nil, player) - end, - state = function(self) - return minetest.get_node(self.pos).name:sub(-5) == "_open" - end - } - else - return nil - end -end - --- this hidden node is placed on top of the bottom, and prevents --- nodes from being placed in the top half of the door. -minetest.register_node("doors:hidden", { - description = "Hidden Door Segment", - -- can't use airlike otherwise falling nodes will turn to entities - -- and will be forever stuck until door is removed. - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - -- has to be walkable for falling nodes to stop falling. - walkable = true, - pointable = false, - diggable = false, - buildable_to = false, - floodable = false, - drop = "", - groups = {not_in_creative_inventory = 1}, - on_blast = function() end, - tiles = {"doors_blank.png"}, - -- 1px transparent block inside door hinge near node top. - node_box = { - type = "fixed", - fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32}, - }, - -- collision_box needed otherise selection box would be full node size - collision_box = { - type = "fixed", - fixed = {-15/32, 13/32, -15/32, -13/32, 1/2, -13/32}, - }, -}) - --- table used to aid door opening/closing -local transform = { - { - {v = "_a", param2 = 3}, - {v = "_a", param2 = 0}, - {v = "_a", param2 = 1}, - {v = "_a", param2 = 2}, - }, - { - {v = "_b", param2 = 1}, - {v = "_b", param2 = 2}, - {v = "_b", param2 = 3}, - {v = "_b", param2 = 0}, - }, - { - {v = "_b", param2 = 1}, - {v = "_b", param2 = 2}, - {v = "_b", param2 = 3}, - {v = "_b", param2 = 0}, - }, - { - {v = "_a", param2 = 3}, - {v = "_a", param2 = 0}, - {v = "_a", param2 = 1}, - {v = "_a", param2 = 2}, - }, -} - -function doors.door_toggle(pos, node, clicker) - local meta = minetest.get_meta(pos) - node = node or minetest.get_node(pos) - local def = minetest.registered_nodes[node.name] - local name = def.door.name - - local state = meta:get_string("state") - if state == "" then - -- fix up lvm-placed right-hinged doors, default closed - if node.name:sub(-2) == "_b" then - state = 2 - else - state = 0 - end - else - state = tonumber(state) - end - - replace_old_owner_information(pos) - - if clicker and not default.can_interact_with_node(clicker, pos) then - return false - end - - -- until Lua-5.2 we have no bitwise operators :( - if state % 2 == 1 then - state = state - 1 - else - state = state + 1 - end - - local dir = node.param2 - - -- It's possible param2 is messed up, so, validate before using - -- the input data. This indicates something may have rotated - -- the door, even though that is not supported. - if not transform[state + 1] or not transform[state + 1][dir + 1] then - return false - end - - if state % 2 == 0 then - minetest.sound_play(def.door.sounds[1], - {pos = pos, gain = 0.3, max_hear_distance = 10}) - else - minetest.sound_play(def.door.sounds[2], - {pos = pos, gain = 0.3, max_hear_distance = 10}) - end - - minetest.swap_node(pos, { - name = name .. transform[state + 1][dir+1].v, - param2 = transform[state + 1][dir+1].param2 - }) - meta:set_int("state", state) - - return true -end - - -local function on_place_node(place_to, newnode, - placer, oldnode, itemstack, pointed_thing) - -- Run script hook - for _, callback in ipairs(minetest.registered_on_placenodes) do - -- Deepcopy pos, node and pointed_thing because callback can modify them - local place_to_copy = {x = place_to.x, y = place_to.y, z = place_to.z} - local newnode_copy = - {name = newnode.name, param1 = newnode.param1, param2 = newnode.param2} - local oldnode_copy = - {name = oldnode.name, param1 = oldnode.param1, param2 = oldnode.param2} - local pointed_thing_copy = { - type = pointed_thing.type, - above = vector.new(pointed_thing.above), - under = vector.new(pointed_thing.under), - ref = pointed_thing.ref, - } - callback(place_to_copy, newnode_copy, placer, - oldnode_copy, itemstack, pointed_thing_copy) - end -end - -local function can_dig_door(pos, digger) - replace_old_owner_information(pos) - return default.can_interact_with_node(digger, pos) -end - -function doors.register(name, def) - if not name:find(":") then - name = "doors:" .. name - end - - -- replace old doors of this type automatically - minetest.register_lbm({ - name = ":doors:replace_" .. name:gsub(":", "_"), - nodenames = {name.."_b_1", name.."_b_2"}, - action = function(pos, node) - local l = tonumber(node.name:sub(-1)) - local meta = minetest.get_meta(pos) - local h = meta:get_int("right") + 1 - local p2 = node.param2 - local replace = { - {{type = "a", state = 0}, {type = "a", state = 3}}, - {{type = "b", state = 1}, {type = "b", state = 2}} - } - local new = replace[l][h] - -- retain infotext and doors_owner fields - minetest.swap_node(pos, {name = name .. "_" .. new.type, param2 = p2}) - meta:set_int("state", new.state) - -- properly place doors:hidden at the right spot - local p3 = p2 - if new.state >= 2 then - p3 = (p3 + 3) % 4 - end - if new.state % 2 == 1 then - if new.state >= 2 then - p3 = (p3 + 1) % 4 - else - p3 = (p3 + 3) % 4 - end - end - -- wipe meta on top node as it's unused - minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, - {name = "doors:hidden", param2 = p3}) - end - }) - - minetest.register_craftitem(":" .. name, { - description = def.description, - inventory_image = def.inventory_image, - groups = table.copy(def.groups), - - on_place = function(itemstack, placer, pointed_thing) - local pos - - if not pointed_thing.type == "node" then - return itemstack - end - - local node = minetest.get_node(pointed_thing.under) - local pdef = minetest.registered_nodes[node.name] - if pdef and pdef.on_rightclick and - not (placer and placer:is_player() and - placer:get_player_control().sneak) then - return pdef.on_rightclick(pointed_thing.under, - node, placer, itemstack, pointed_thing) - end - - if pdef and pdef.buildable_to then - pos = pointed_thing.under - else - pos = pointed_thing.above - node = minetest.get_node(pos) - pdef = minetest.registered_nodes[node.name] - if not pdef or not pdef.buildable_to then - return itemstack - end - end - - local above = {x = pos.x, y = pos.y + 1, z = pos.z} - local top_node = minetest.get_node_or_nil(above) - local topdef = top_node and minetest.registered_nodes[top_node.name] - - if not topdef or not topdef.buildable_to then - return itemstack - end - - local pn = placer and placer:get_player_name() or "" - if minetest.is_protected(pos, pn) or minetest.is_protected(above, pn) then - return itemstack - end - - local dir = placer and minetest.dir_to_facedir(placer:get_look_dir()) or 0 - - local ref = { - {x = -1, y = 0, z = 0}, - {x = 0, y = 0, z = 1}, - {x = 1, y = 0, z = 0}, - {x = 0, y = 0, z = -1}, - } - - local aside = { - x = pos.x + ref[dir + 1].x, - y = pos.y + ref[dir + 1].y, - z = pos.z + ref[dir + 1].z, - } - - local state = 0 - if minetest.get_item_group(minetest.get_node(aside).name, "door") == 1 then - state = state + 2 - minetest.set_node(pos, {name = name .. "_b", param2 = dir}) - minetest.set_node(above, {name = "doors:hidden", param2 = (dir + 3) % 4}) - else - minetest.set_node(pos, {name = name .. "_a", param2 = dir}) - minetest.set_node(above, {name = "doors:hidden", param2 = dir}) - end - - local meta = minetest.get_meta(pos) - meta:set_int("state", state) - - if def.protected then - meta:set_string("owner", pn) - meta:set_string("infotext", "Owned by " .. pn) - end - - if not (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) then - itemstack:take_item() - end - - minetest.sound_play(def.sounds.place, {pos = pos}) - - on_place_node(pos, minetest.get_node(pos), - placer, node, itemstack, pointed_thing) - - return itemstack - end - }) - def.inventory_image = nil - - if def.recipe then - minetest.register_craft({ - output = name, - recipe = def.recipe, - }) - end - def.recipe = nil - - if not def.sounds then - def.sounds = default.node_sound_wood_defaults() - end - - if not def.sound_open then - def.sound_open = "doors_door_open" - end - - if not def.sound_close then - def.sound_close = "doors_door_close" - end - - def.groups.not_in_creative_inventory = 1 - def.groups.door = 1 - def.drop = name - def.door = { - name = name, - sounds = { def.sound_close, def.sound_open }, - } - if not def.on_rightclick then - def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - doors.door_toggle(pos, node, clicker) - return itemstack - end - end - def.after_dig_node = function(pos, node, meta, digger) - minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) - minetest.check_for_falling({x = pos.x, y = pos.y + 1, z = pos.z}) - end - def.on_rotate = function(pos, node, user, mode, new_param2) - return false - end - - if def.protected then - def.can_dig = can_dig_door - def.on_blast = function() end - def.on_key_use = function(pos, player) - local door = doors.get(pos) - door:toggle(player) - end - def.on_skeleton_key_use = function(pos, player, newsecret) - replace_old_owner_information(pos) - local meta = minetest.get_meta(pos) - local owner = meta:get_string("owner") - local pname = player:get_player_name() - - -- verify placer is owner of lockable door - if owner ~= pname then - minetest.record_protection_violation(pos, pname) - minetest.chat_send_player(pname, "You do not own this locked door.") - return nil - end - - local secret = meta:get_string("key_lock_secret") - if secret == "" then - secret = newsecret - meta:set_string("key_lock_secret", secret) - end - - return secret, "a locked door", owner - end - def.node_dig_prediction = "" - else - def.on_blast = function(pos, intensity) - minetest.remove_node(pos) - -- hidden node doesn't get blasted away. - minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) - return {name} - end - end - - def.on_destruct = function(pos) - minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) - end - - def.drawtype = "mesh" - def.paramtype = "light" - def.paramtype2 = "facedir" - def.sunlight_propagates = true - def.walkable = true - def.is_ground_content = false - def.buildable_to = false - def.selection_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} - def.collision_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} - - def.mesh = "door_a.obj" - minetest.register_node(":" .. name .. "_a", def) - - def.mesh = "door_b.obj" - minetest.register_node(":" .. name .. "_b", def) - - doors.registered_doors[name .. "_a"] = true - doors.registered_doors[name .. "_b"] = true -end - -doors.register("door_wood", { - tiles = {{ name = "doors_door_wood.png", backface_culling = true }}, - description = "Wooden Door", - inventory_image = "doors_item_wood.png", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - recipe = { - {"group:wood", "group:wood"}, - {"group:wood", "group:wood"}, - {"group:wood", "group:wood"}, - } -}) - -doors.register("door_steel", { - tiles = {{name = "doors_door_steel.png", backface_culling = true}}, - description = "Steel Door", - inventory_image = "doors_item_steel.png", - protected = true, - groups = {cracky = 1, level = 2}, - sounds = default.node_sound_metal_defaults(), - sound_open = "doors_steel_door_open", - sound_close = "doors_steel_door_close", - recipe = { - {"default:steel_ingot", "default:steel_ingot"}, - {"default:steel_ingot", "default:steel_ingot"}, - {"default:steel_ingot", "default:steel_ingot"}, - } -}) - -doors.register("door_glass", { - tiles = {"doors_door_glass.png"}, - description = "Glass Door", - inventory_image = "doors_item_glass.png", - groups = {cracky=3, oddly_breakable_by_hand=3}, - sounds = default.node_sound_glass_defaults(), - sound_open = "doors_glass_door_open", - sound_close = "doors_glass_door_close", - recipe = { - {"default:glass", "default:glass"}, - {"default:glass", "default:glass"}, - {"default:glass", "default:glass"}, - } -}) - -doors.register("door_obsidian_glass", { - tiles = {"doors_door_obsidian_glass.png"}, - description = "Obsidian Glass Door", - inventory_image = "doors_item_obsidian_glass.png", - groups = {cracky=3}, - sounds = default.node_sound_glass_defaults(), - sound_open = "doors_glass_door_open", - sound_close = "doors_glass_door_close", - recipe = { - {"default:obsidian_glass", "default:obsidian_glass"}, - {"default:obsidian_glass", "default:obsidian_glass"}, - {"default:obsidian_glass", "default:obsidian_glass"}, - }, -}) - --- Capture mods using the old API as best as possible. -function doors.register_door(name, def) - if def.only_placer_can_open then - def.protected = true - end - def.only_placer_can_open = nil - - local i = name:find(":") - local modname = name:sub(1, i - 1) - if not def.tiles then - if def.protected then - def.tiles = {{name = "doors_door_steel.png", backface_culling = true}} - else - def.tiles = {{name = "doors_door_wood.png", backface_culling = true}} - end - minetest.log("warning", modname .. " registered door \"" .. name .. "\" " .. - "using deprecated API method \"doors.register_door()\" but " .. - "did not provide the \"tiles\" parameter. A fallback tiledef " .. - "will be used instead.") - end - - doors.register(name, def) -end - -----trapdoor---- - -function doors.trapdoor_toggle(pos, node, clicker) - node = node or minetest.get_node(pos) - - replace_old_owner_information(pos) - - if clicker and not default.can_interact_with_node(clicker, pos) then - return false - end - - local def = minetest.registered_nodes[node.name] - - if string.sub(node.name, -5) == "_open" then - minetest.sound_play(def.sound_close, - {pos = pos, gain = 0.3, max_hear_distance = 10}) - minetest.swap_node(pos, {name = string.sub(node.name, 1, - string.len(node.name) - 5), param1 = node.param1, param2 = node.param2}) - else - minetest.sound_play(def.sound_open, - {pos = pos, gain = 0.3, max_hear_distance = 10}) - minetest.swap_node(pos, {name = node.name .. "_open", - param1 = node.param1, param2 = node.param2}) - end -end - -function doors.register_trapdoor(name, def) - if not name:find(":") then - name = "doors:" .. name - end - - local name_closed = name - local name_opened = name.."_open" - - def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - doors.trapdoor_toggle(pos, node, clicker) - return itemstack - end - - -- Common trapdoor configuration - def.drawtype = "nodebox" - def.paramtype = "light" - def.paramtype2 = "facedir" - def.is_ground_content = false - - if def.protected then - def.can_dig = can_dig_door - def.after_place_node = function(pos, placer, itemstack, pointed_thing) - local pn = placer:get_player_name() - local meta = minetest.get_meta(pos) - meta:set_string("owner", pn) - meta:set_string("infotext", "Owned by "..pn) - - return (creative and creative.is_enabled_for and creative.is_enabled_for(pn)) - end - - def.on_blast = function() end - def.on_key_use = function(pos, player) - local door = doors.get(pos) - door:toggle(player) - end - def.on_skeleton_key_use = function(pos, player, newsecret) - replace_old_owner_information(pos) - local meta = minetest.get_meta(pos) - local owner = meta:get_string("owner") - local pname = player:get_player_name() - - -- verify placer is owner of lockable door - if owner ~= pname then - minetest.record_protection_violation(pos, pname) - minetest.chat_send_player(pname, "You do not own this trapdoor.") - return nil - end - - local secret = meta:get_string("key_lock_secret") - if secret == "" then - secret = newsecret - meta:set_string("key_lock_secret", secret) - end - - return secret, "a locked trapdoor", owner - end - def.node_dig_prediction = "" - else - def.on_blast = function(pos, intensity) - minetest.remove_node(pos) - return {name} - end - end - - if not def.sounds then - def.sounds = default.node_sound_wood_defaults() - end - - if not def.sound_open then - def.sound_open = "doors_door_open" - end - - if not def.sound_close then - def.sound_close = "doors_door_close" - end - - local def_opened = table.copy(def) - local def_closed = table.copy(def) - - def_closed.node_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} - } - def_closed.selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} - } - def_closed.tiles = {def.tile_front, - def.tile_front .. '^[transformFY', - def.tile_side, def.tile_side, - def.tile_side, def.tile_side} - - def_opened.node_box = { - type = "fixed", - fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} - } - def_opened.selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} - } - def_opened.tiles = {def.tile_side, def.tile_side, - def.tile_side .. '^[transform3', - def.tile_side .. '^[transform1', - def.tile_front .. '^[transform46', - def.tile_front .. '^[transform6'} - - def_opened.drop = name_closed - def_opened.groups.not_in_creative_inventory = 1 - - minetest.register_node(name_opened, def_opened) - minetest.register_node(name_closed, def_closed) - - doors.registered_trapdoors[name_opened] = true - doors.registered_trapdoors[name_closed] = true -end - -doors.register_trapdoor("doors:trapdoor", { - description = "Wooden Trapdoor", - inventory_image = "doors_trapdoor.png", - wield_image = "doors_trapdoor.png", - tile_front = "doors_trapdoor.png", - tile_side = "doors_trapdoor_side.png", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1}, -}) - -doors.register_trapdoor("doors:trapdoor_steel", { - description = "Steel Trapdoor", - inventory_image = "doors_trapdoor_steel.png", - wield_image = "doors_trapdoor_steel.png", - tile_front = "doors_trapdoor_steel.png", - tile_side = "doors_trapdoor_steel_side.png", - protected = true, - sounds = default.node_sound_metal_defaults(), - sound_open = "doors_steel_door_open", - sound_close = "doors_steel_door_close", - groups = {cracky = 1, level = 2, door = 1}, -}) - -minetest.register_craft({ - output = 'doors:trapdoor 2', - recipe = { - {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'group:wood', 'group:wood'}, - {'', '', ''}, - } -}) - -minetest.register_craft({ - output = 'doors:trapdoor_steel', - recipe = { - {'default:steel_ingot', 'default:steel_ingot'}, - {'default:steel_ingot', 'default:steel_ingot'}, - } -}) - - -----fence gate---- - -function doors.register_fencegate(name, def) - local fence = { - description = def.description, - drawtype = "mesh", - tiles = {}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = false, - drop = name .. "_closed", - connect_sides = {"left", "right"}, - groups = def.groups, - sounds = def.sounds, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - local node_def = minetest.registered_nodes[node.name] - minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2}) - minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3, - max_hear_distance = 8}) - return itemstack - end, - selection_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4}, - }, - } - - - if type(def.texture) == "string" then - fence.tiles[1] = {name = def.texture, backface_culling = true} - elseif def.texture.backface_culling == nil then - fence.tiles[1] = table.copy(def.texture) - fence.tiles[1].backface_culling = true - else - fence.tiles[1] = def.texture - end - - if not fence.sounds then - fence.sounds = default.node_sound_wood_defaults() - end - - fence.groups.fence = 1 - - local fence_closed = table.copy(fence) - fence_closed.mesh = "doors_fencegate_closed.obj" - fence_closed.gate = name .. "_open" - fence_closed.sound = "doors_fencegate_open" - fence_closed.collision_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/4, 1/2, 1/2, 1/4}, - } - - local fence_open = table.copy(fence) - fence_open.mesh = "doors_fencegate_open.obj" - fence_open.gate = name .. "_closed" - fence_open.sound = "doors_fencegate_close" - fence_open.groups.not_in_creative_inventory = 1 - fence_open.collision_box = { - type = "fixed", - fixed = {{-1/2, -1/2, -1/4, -3/8, 1/2, 1/4}, - {-1/2, -3/8, -1/2, -3/8, 3/8, 0}}, - } - - minetest.register_node(":" .. name .. "_closed", fence_closed) - minetest.register_node(":" .. name .. "_open", fence_open) - - minetest.register_craft({ - output = name .. "_closed", - recipe = { - {"default:stick", def.material, "default:stick"}, - {"default:stick", def.material, "default:stick"} - } - }) -end - -doors.register_fencegate("doors:gate_wood", { - description = "Apple Wood Fence Gate", - texture = "default_wood.png", - material = "default:wood", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} -}) - -doors.register_fencegate("doors:gate_acacia_wood", { - description = "Acacia Wood Fence Gate", - texture = "default_acacia_wood.png", - material = "default:acacia_wood", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} -}) - -doors.register_fencegate("doors:gate_junglewood", { - description = "Jungle Wood Fence Gate", - texture = "default_junglewood.png", - material = "default:junglewood", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2} -}) - -doors.register_fencegate("doors:gate_pine_wood", { - description = "Pine Wood Fence Gate", - texture = "default_pine_wood.png", - material = "default:pine_wood", - groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3} -}) - -doors.register_fencegate("doors:gate_aspen_wood", { - description = "Aspen Wood Fence Gate", - texture = "default_aspen_wood.png", - material = "default:aspen_wood", - groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3} -}) - - -----fuels---- - -minetest.register_craft({ - type = "fuel", - recipe = "doors:trapdoor", - burntime = 7, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:door_wood", - burntime = 14, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:gate_wood_closed", - burntime = 7, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:gate_acacia_wood_closed", - burntime = 8, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:gate_junglewood_closed", - burntime = 9, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:gate_pine_wood_closed", - burntime = 6, -}) - -minetest.register_craft({ - type = "fuel", - recipe = "doors:gate_aspen_wood_closed", - burntime = 5, -}) diff --git a/mods/doors/license.txt b/mods/doors/license.txt deleted file mode 100644 index 8ce73c4..0000000 --- a/mods/doors/license.txt +++ /dev/null @@ -1,164 +0,0 @@ -License of source code ----------------------- - -The MIT License (MIT) -Copyright (C) 2012-2016 PilzAdam -Copyright (C) 2014-2016 BlockMen -Copyright (C) 2015-2016 sofar (sofar@foo-projects.org) -Copyright (C) 2012-2016 Various Minetest developers and contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this -software and associated documentation files (the "Software"), to deal in the Software -without restriction, including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or -substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE -FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - -For more details: -https://opensource.org/licenses/MIT - - -Licenses of media (textures, models and sounds) ------------------------------------------------ - -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -Copyright (C) 2011-2016 Fernando Zapata -Copyright (C) 2014-2016 celeron55 -Copyright (C) 2012-2016 PilzAdam -Copyright (C) 2014-2016 BlockMen -Copyright (C) 2015-2016 sofar -Copyright (C) 2016 red-001 -Copyright (C) 2016 paramat - -You are free to: -Share — copy and redistribute the material in any medium or format. -Adapt — remix, transform, and build upon the material for any purpose, even commercially. -The licensor cannot revoke these freedoms as long as you follow the license terms. - -Under the following terms: - -Attribution — You must give appropriate credit, provide a link to the license, and -indicate if changes were made. You may do so in any reasonable manner, but not in any way -that suggests the licensor endorses you or your use. - -ShareAlike — If you remix, transform, or build upon the material, you must distribute -your contributions under the same license as the original. - -No additional restrictions — You may not apply legal terms or technological measures that -legally restrict others from doing anything the license permits. - -Notices: - -You do not have to comply with the license for elements of the material in the public -domain or where your use is permitted by an applicable exception or limitation. -No warranties are given. The license may not give you all of the permissions necessary -for your intended use. For example, other rights such as publicity, privacy, or moral -rights may limit how you use the material. - -For more details: -http://creativecommons.org/licenses/by-sa/3.0/ - ------------------------ - -Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) -Copyright (C) 2014-2016 PenguinDad - -You are free to: -Share — copy and redistribute the material in any medium or format. -Adapt — remix, transform, and build upon the material for any purpose, even commercially. -The licensor cannot revoke these freedoms as long as you follow the license terms. - -Under the following terms: - -Attribution — You must give appropriate credit, provide a link to the license, and -indicate if changes were made. You may do so in any reasonable manner, but not in any way -that suggests the licensor endorses you or your use. - -ShareAlike — If you remix, transform, or build upon the material, you must distribute -your contributions under the same license as the original. - -No additional restrictions — You may not apply legal terms or technological measures that -legally restrict others from doing anything the license permits. - -Notices: - -You do not have to comply with the license for elements of the material in the public -domain or where your use is permitted by an applicable exception or limitation. -No warranties are given. The license may not give you all of the permissions necessary -for your intended use. For example, other rights such as publicity, privacy, or moral -rights may limit how you use the material. - -For more details: -http://creativecommons.org/licenses/by-sa/4.0/ - ------------------------ - -Attribution 3.0 Unported (CC BY 3.0) -Copyright (C) 2014 CGEffex -Copyright (C) 2014 bennstir -Copyright (C) 2016 BarkersPinhead -Copyright (C) 2016 rivernile7 -Copyright (C) 2016 HazMatt - -You are free to: -Share — copy and redistribute the material in any medium or format. -Adapt — remix, transform, and build upon the material for any purpose, even commercially. -The licensor cannot revoke these freedoms as long as you follow the license terms. - -Under the following terms: - -Attribution — You must give appropriate credit, provide a link to the license, and -indicate if changes were made. You may do so in any reasonable manner, but not in any way -that suggests the licensor endorses you or your use. - -No additional restrictions — You may not apply legal terms or technological measures that -legally restrict others from doing anything the license permits. - -Notices: - -You do not have to comply with the license for elements of the material in the public -domain or where your use is permitted by an applicable exception or limitation. -No warranties are given. The license may not give you all of the permissions necessary -for your intended use. For example, other rights such as publicity, privacy, or moral -rights may limit how you use the material. - -For more details: -http://creativecommons.org/licenses/by/3.0/ - ------------------------ - -CC0 1.0 Universal (CC0 1.0) Public Domain Dedication -mhtaylor67 -SkeetMasterFunk69 - -No Copyright - -The person who associated a work with this deed has dedicated the work to the public -domain by waiving all of his or her rights to the work worldwide under copyright law, -including all related and neighboring rights, to the extent allowed by law. - -You can copy, modify, distribute and perform the work, even for commercial purposes, all -without asking permission. See Other Information below. - -Other Information - -In no way are the patent or trademark rights of any person affected by CC0, nor are the -rights that other persons may have in the work or in how the work is used, such as -publicity or privacy rights. -Unless expressly stated otherwise, the person who associated a work with this deed makes -no warranties about the work, and disclaims liability for all uses of the work, to the -fullest extent permitted by applicable law. -When using or citing the work, you should not imply endorsement by the author or the -affirmer. - -For more details: -https://creativecommons.org/publicdomain/zero/1.0/ diff --git a/mods/doors/models/door_a.obj b/mods/doors/models/door_a.obj deleted file mode 100644 index bd5127b..0000000 --- a/mods/doors/models/door_a.obj +++ /dev/null @@ -1,40 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'door_a.blend' -# www.blender.org -mtllib door_a.mtl -o Cube_Cube.001 -v 0.499000 -0.499000 -0.499000 -v 0.499000 1.499000 -0.499000 -v 0.499000 -0.499000 -0.375000 -v 0.499000 1.499000 -0.375000 -v -0.499000 -0.499000 -0.499000 -v -0.499000 1.499000 -0.499000 -v -0.499000 -0.499000 -0.375000 -v -0.499000 1.499000 -0.375000 -vt 0.842105 1.000000 -vt 0.894737 1.000000 -vt 0.894737 0.000000 -vt 0.842105 0.000000 -vt 0.421053 1.000000 -vt 0.421053 0.000000 -vt 0.947368 1.000000 -vt 0.947368 0.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.500000 -vt 0.947368 0.500000 -vt 1.000000 1.000000 -vt 1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -usemtl None -s off -f 2/1/1 4/2/1 3/3/1 1/4/1 -f 4/5/2 8/1/2 7/4/2 3/6/2 -f 8/2/3 6/7/3 5/8/3 7/3/3 -f 6/9/4 2/5/4 1/6/4 5/10/4 -f 1/11/5 3/12/5 7/7/5 5/13/5 -f 6/14/6 8/8/6 4/12/6 2/11/6 diff --git a/mods/doors/models/door_b.obj b/mods/doors/models/door_b.obj deleted file mode 100644 index c5607b8..0000000 --- a/mods/doors/models/door_b.obj +++ /dev/null @@ -1,40 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'door_b.blend' -# www.blender.org -mtllib door_b.mtl -o Cube_Cube.001 -v -0.499000 -0.499000 -0.499000 -v -0.499000 1.499000 -0.499000 -v -0.499000 -0.499000 -0.375000 -v -0.499000 1.499000 -0.375000 -v 0.499000 -0.499000 -0.499000 -v 0.499000 1.499000 -0.499000 -v 0.499000 -0.499000 -0.375000 -v 0.499000 1.499000 -0.375000 -vt 0.842105 1.000000 -vt 0.842105 0.000000 -vt 0.894737 0.000000 -vt 0.894737 1.000000 -vt 0.421053 1.000000 -vt 0.421053 0.000000 -vt 0.947368 0.000000 -vt 0.947368 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 0.500000 -vt 0.947368 0.500000 -vt 1.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -usemtl None -s off -f 2/1/1 1/2/1 3/3/1 4/4/1 -f 4/5/2 3/6/2 7/2/2 8/1/2 -f 8/4/3 7/3/3 5/7/3 6/8/3 -f 6/9/4 5/10/4 1/6/4 2/5/4 -f 1/11/5 5/12/5 7/13/5 3/7/5 -f 6/8/6 2/13/6 4/12/6 8/14/6 diff --git a/mods/doors/models/doors_fencegate_closed.obj b/mods/doors/models/doors_fencegate_closed.obj deleted file mode 100644 index 0050f70..0000000 --- a/mods/doors/models/doors_fencegate_closed.obj +++ /dev/null @@ -1,106 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'gate_closed.blend' -# www.blender.org -mtllib gate_closed.mtl -o Cube_Cube.001 -v -0.625000 -0.500000 0.125000 -v -0.625000 0.500100 0.125000 -v -0.625000 -0.500000 -0.125000 -v -0.625000 0.500100 -0.125000 -v -0.375000 -0.500000 0.125000 -v -0.375000 0.500100 0.125000 -v -0.375000 -0.500000 -0.125000 -v -0.375000 0.500100 -0.125000 -v 0.375000 -0.500000 0.125000 -v 0.375000 0.500100 0.125000 -v 0.375000 -0.500000 -0.125000 -v 0.375000 0.500100 -0.125000 -v 0.625000 -0.500000 0.125000 -v 0.625000 0.500100 0.125000 -v 0.625000 -0.500000 -0.125000 -v 0.625000 0.500100 -0.125000 -v -0.375000 0.187500 0.062500 -v -0.375000 0.312500 0.062500 -v -0.375000 0.187500 -0.062500 -v -0.375000 0.312500 -0.062500 -v 0.375000 0.187500 0.062500 -v 0.375000 0.312500 0.062500 -v 0.375000 0.187500 -0.062500 -v 0.375000 0.312500 -0.062500 -v -0.374831 0.187348 0.062500 -v -0.156342 0.187363 0.062500 -v -0.374831 0.187348 -0.062500 -v -0.156342 0.187363 -0.062500 -v 0.374981 -0.343683 0.062500 -v 0.375065 -0.187304 0.062500 -v 0.374981 -0.343683 -0.062500 -v 0.375065 -0.187304 -0.062500 -vt 0.000000 0.750000 -vt 0.000000 0.500000 -vt 1.000000 0.500000 -vt 1.000000 0.750000 -vt 1.000000 1.000000 -vt -0.000000 1.000000 -vt 1.000000 -0.000000 -vt 1.000000 0.250000 -vt 0.000000 0.250000 -vt -0.000000 0.000000 -vt 0.250000 0.000000 -vt 0.250000 0.250000 -vt 0.250000 0.750000 -vt 0.250000 1.000000 -vt 0.500000 -0.000000 -vt 0.500000 0.250000 -vt 0.500000 0.750000 -vt 0.500000 1.000000 -vt 1.000000 0.625000 -vt 0.000000 0.625000 -vt 1.000000 0.875000 -vt 0.000000 0.875000 -vt -0.000000 0.687500 -vt 0.000000 0.562500 -vt 1.000000 0.562500 -vt 1.000000 0.687500 -vt 0.813740 0.249033 -vt 0.201557 0.249293 -vt 0.120995 0.125498 -vt 0.987404 0.125469 -vt 0.125000 0.375000 -vt 0.812500 0.375000 -vt 0.937500 0.500000 -vt 0.062500 0.500000 -vt 0.000000 0.125000 -vt 1.000000 0.125000 -vt 0.312500 0.437500 -vt 0.312500 0.312500 -vt 1.000000 0.312500 -vt 1.000000 0.437500 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn -0.578000 -0.816100 0.000000 -vn 0.576200 0.817300 0.000000 -usemtl None -s off -f 2/1/1 4/2/1 3/3/1 1/4/1 -f 4/4/2 8/5/2 7/6/2 3/1/2 -f 8/7/3 6/8/3 5/9/3 7/10/3 -f 6/2/4 2/9/4 1/8/4 5/3/4 -f 1/9/5 3/10/5 7/11/5 5/12/5 -f 6/6/6 8/1/6 4/13/6 2/14/6 -f 10/1/1 12/2/1 11/3/1 9/4/1 -f 12/2/2 16/9/2 15/8/2 11/3/2 -f 16/7/3 14/8/3 13/9/3 15/10/3 -f 14/4/4 10/5/4 9/6/4 13/1/4 -f 9/12/5 11/11/5 15/15/5 13/16/5 -f 14/14/6 16/13/6 12/17/6 10/18/6 -f 20/2/2 24/3/2 23/19/2 19/20/2 -f 22/1/4 18/4/4 17/21/4 21/22/4 -f 17/23/5 19/24/5 23/25/5 21/26/5 -f 22/21/6 24/5/6 20/6/6 18/22/6 -f 28/27/2 32/28/2 31/29/2 27/30/2 -f 30/31/4 26/32/4 25/33/4 29/34/4 -f 25/35/7 27/10/7 31/7/7 29/36/7 -f 30/37/8 32/38/8 28/39/8 26/40/8 diff --git a/mods/doors/models/doors_fencegate_open.obj b/mods/doors/models/doors_fencegate_open.obj deleted file mode 100644 index 3fb727f..0000000 --- a/mods/doors/models/doors_fencegate_open.obj +++ /dev/null @@ -1,112 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'gate_open.blend' -# www.blender.org -mtllib gate_open.mtl -o Cube_Cube.001 -v -0.625000 -0.500000 0.125000 -v -0.625000 0.500100 0.125000 -v -0.625000 -0.500000 -0.125000 -v -0.625000 0.500100 -0.125000 -v -0.375000 -0.500000 0.125000 -v -0.375000 0.500100 0.125000 -v -0.375000 -0.500000 -0.125000 -v -0.375000 0.500100 -0.125000 -v 0.375000 -0.500000 0.125000 -v 0.375000 0.500100 0.125000 -v 0.375000 -0.500000 -0.125000 -v 0.375000 0.500100 -0.125000 -v 0.625000 -0.500000 0.125000 -v 0.625000 0.500100 0.125000 -v 0.625000 -0.500000 -0.125000 -v 0.625000 0.500100 -0.125000 -v 0.434859 0.187500 -0.872359 -v 0.434859 0.312500 -0.872359 -v 0.559859 0.187500 -0.872359 -v 0.559859 0.312500 -0.872359 -v 0.434859 0.187500 -0.122359 -v 0.434859 0.312500 -0.122359 -v 0.559859 0.187500 -0.122359 -v 0.559859 0.312500 -0.122359 -v 0.434859 0.187348 -0.872190 -v 0.434859 0.187363 -0.653701 -v 0.559859 0.187348 -0.872190 -v 0.559859 0.187363 -0.653701 -v 0.434859 -0.343683 -0.122379 -v 0.434859 -0.187304 -0.122294 -v 0.559859 -0.343683 -0.122379 -v 0.559859 -0.187304 -0.122294 -v 0.499560 -0.442900 0.005495 -vt 0.000000 0.750000 -vt 0.000000 0.500000 -vt 1.000000 0.500000 -vt 1.000000 0.750000 -vt 1.000000 1.000000 -vt -0.000000 1.000000 -vt 1.000000 -0.000000 -vt 1.000000 0.250000 -vt 0.000000 0.250000 -vt -0.000000 0.000000 -vt 0.250000 0.000000 -vt 0.250000 0.250000 -vt 0.250000 0.750000 -vt 0.250000 1.000000 -vt 0.500000 -0.000000 -vt 0.500000 0.250000 -vt 0.500000 0.750000 -vt 0.500000 1.000000 -vt 1.000000 0.625000 -vt 0.000000 0.625000 -vt 1.000000 0.875000 -vt 0.000000 0.875000 -vt -0.000000 0.687500 -vt 0.000000 0.562500 -vt 1.000000 0.562500 -vt 1.000000 0.687500 -vt 0.813740 0.249033 -vt 0.201557 0.249293 -vt 0.120995 0.125498 -vt 0.987404 0.125469 -vt 0.125000 0.375000 -vt 0.812500 0.375000 -vt 0.937500 0.500000 -vt 0.062500 0.500000 -vt 0.000000 0.125000 -vt 1.000000 0.125000 -vt 0.312500 0.437500 -vt 0.312500 0.312500 -vt 1.000000 0.312500 -vt 1.000000 0.437500 -vt 0.312500 0.625000 -vt 0.312500 0.500000 -vt 0.187500 0.500000 -vt 0.187500 0.625000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.000000 -0.816100 -0.578000 -vn 0.000000 0.817300 0.576200 -usemtl None -s off -f 2/1/1 4/2/1 3/3/1 1/4/1 -f 4/4/2 8/5/2 7/6/2 3/1/2 -f 8/7/3 6/8/3 5/9/3 7/10/3 -f 6/2/4 2/9/4 1/8/4 5/3/4 -f 1/9/5 3/10/5 7/11/5 5/12/5 -f 6/6/6 8/1/6 4/13/6 2/14/6 -f 10/1/1 12/2/1 11/3/1 9/4/1 -f 12/2/2 16/9/2 15/8/2 11/3/2 -f 16/7/3 14/8/3 13/9/3 15/10/3 -f 14/4/4 10/5/4 9/6/4 13/1/4 -f 9/12/5 11/11/5 15/15/5 13/16/5 -f 14/14/6 16/13/6 12/17/6 10/18/6 -f 20/2/3 24/3/3 23/19/3 19/20/3 -f 22/1/1 18/4/1 17/21/1 21/22/1 -f 17/23/5 19/24/5 23/25/5 21/26/5 -f 22/21/6 24/5/6 20/6/6 18/22/6 -f 28/27/3 32/28/3 31/29/3 27/30/3 -f 30/31/1 26/32/1 25/33/1 29/34/1 -f 25/35/7 27/10/7 31/7/7 29/36/7 -f 30/37/8 32/38/8 28/39/8 26/40/8 -f 17/41/2 18/42/2 20/43/2 19/44/2 diff --git a/mods/doors/sounds/doors_door_close.ogg b/mods/doors/sounds/doors_door_close.ogg deleted file mode 100644 index fede4af323d1b4322180c4a2a0734a60077b4121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6161 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 O0Eh=DnBoC8$o~L@cublA diff --git a/mods/doors/sounds/doors_fencegate_open.ogg b/mods/doors/sounds/doors_fencegate_open.ogg deleted file mode 100644 index f6dfd1d9778240796820c052213903889e7e2896..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8942 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 diff --git a/mods/doors/sounds/doors_glass_door_close.ogg b/mods/doors/sounds/doors_glass_door_close.ogg deleted file mode 100644 index b3c135598e8a7c7a56d54e05c3ed7ceb006004ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7289 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 N#BKh$-tEoM{{YSn#=8Ij diff --git a/mods/doors/sounds/doors_glass_door_open.ogg b/mods/doors/sounds/doors_glass_door_open.ogg deleted file mode 100644 index 66e6812d1877340c2f12ddeae02eae1f7c0e1cb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7288 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 JtvWFX`X7uryYB!1 diff --git a/mods/doors/sounds/doors_steel_door_close.ogg b/mods/doors/sounds/doors_steel_door_close.ogg deleted file mode 100644 index aea7be670b0763259c269521e035966fa1a8d4e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8574 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 H?j`ykI$Eli diff --git a/mods/doors/sounds/doors_steel_door_open.ogg b/mods/doors/sounds/doors_steel_door_open.ogg deleted file mode 100644 index de87477018cc1186834fa91ef930e45e5018f54c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5510 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 diff --git a/mods/doors/textures/doors_door_glass.png b/mods/doors/textures/doors_door_glass.png deleted file mode 100644 index c296a0ff34e16e887163cb6fc16ca152230d66f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 499 zcmVU3w<>lw+=jiC@>gww2>+9|9?e6aG@9*#N@$vHV^7Hfa^z`)h_V)Mp z_xSku`T6UqK~y-) zbyNY8gCGo~wWkFH0tG7h|3eQb_DuAcamHlUO~P&z4w7<e_;MK$#sUm3uy!!q?7U%-TKX7bk+TRav$^u|`k4H!!Y;3~9J_tb#*D8uZ+ p3fk2lR|MnS6Kn|^#Hwkt(l0-c9p19ju%7?`002ovPDHLkV1hE||K$Jx diff --git a/mods/doors/textures/doors_door_obsidian_glass.png b/mods/doors/textures/doors_door_obsidian_glass.png deleted file mode 100644 index 07ac5b20e34b3097cdda225f0cb97890d5212375..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^YCx>O!3HGjQn)q)DVB6cUq=Rpjs4tz5?O(K#^NA% zC&rs6b?QMXlRbib85pX7x*A#-7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f-TA0 z-G$*l2rk&Wd@@jkv%n*=n1O*?7=#%aX3dcR3jX$VaSVw#{5Haxui1d7RIALW^tsnQ z$L;TI-M{DUZR|e~dSm7TmJ+6m&lb0}dxt#r^_V#Kx&IvTo~>m{{I7~P*YwxAuXK3Z zyR}TJ?Vw7u&_x-MtoMgAyAQ`RD5)u_D9wI*{b^apQL(LpulI5lo;kBbG-99awx=5F z8*j09%1-QE-?7kk(Y0g`%~!?DQ-exlGE&z#DP6O%_-Xe4B8$_Cj*eT~O7ni6{<=-0 zE#TDi>Pa)_ZuP&ZtaMJ!Znt^TnVh7)?+y9000CMNkl7~S05WX2fqrIdm(20q>Akx~KxwAM(|w2)T_0U<<= zM+kv9jvd-yF!&!I0OscAAcSxPj4?=(#L`F!zW@062msjF*swHOT5J0q$8m1o7=!os zcRW2kVS0KR0Py|&ZNHT<21+SBKR*Kiq9_6YWLbtR%PbgI901nV)||b5zwhkxy(o$t zTmV>KU$X$-uwsEIO+q>y;Bbq%l8?)5+3MN$7UF8SP0aF&qwq zxJ2h?=UmCJk_7xr91e#$>sD4)oZl}mFF8ehS#D5KowQlWV`Oh{&xzJvua~{Oz2&m9 z*X!l{zOb->?d|PcR?g4Q=jfN0msu!T9K)(&BxDs2(z4($i=nExR8&VoaZ|PaMTWO1 z|7;2zR>!DKQi?v>=-=KKdu5~1a1tSo zW29+nWvE$`;mu|fQp&x1m)2R(}6ZY^C=VOVbqh_xAvR&CSi=KFKy3 zaSl68HC|s|(eL+*=P_dpe*XORXCe@+rxj<^>gpFHNx9aMj(3zGv7BKiX?oXknnG?x_Q zx{y+Y<=>hy#=+s=iff&wsgotfWQE1jcR{H6b9uUXU-=?e3eM~gZhjl7dO6X4$VL8M z#?xpGlw1S*ZOvRRz_K4jtN z=Vz&VxeUc@=y6+lV;>(MPG)hy(2M5eXCZ9E>M)oK9%{sYG}XA7q2 R{`>#{002ovPDHLkV1fb(6QckC diff --git a/mods/doors/textures/doors_door_wood.png b/mods/doors/textures/doors_door_wood.png deleted file mode 100644 index 7b18203eb37b72e44275281e4510e1e33b6290be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1662 zcmV-^27&pBP)000I>NklgA6DB0fqwyP6Rvl z0|Fd6rO4eKfza;qVRB}=yIu~ur>A?TXJr>KsP3M+Rkv=Pd+sUq*~cFw+GaFlR?u3} zZ!tDQoR6dw36areG$^I9q5($dshuC#Utd0Fv8tI(vOzD-1?uHB0GTMfF{6w65C-qH zPh7n&0l0goAQOda|62ia%RIGjHkwV}<3EdvA~RdPSZhEOm#?a3*G8k2BBsP`?cRQY zHBDrux$y0)^2P`^cw5gI+Hf82=U8hfGK2GRs~0gEZ4Jg~zWnN&LF~Wy^usitU-0L@ zUktwg=GPykxO%}={2l;5D3-kc=sv&w!#@V&e)ZGibaZsg@BaAD!S`Q2ewcD=&_b0Q30;CnqNZ+5m8iOXgQA0FLfXu(QJr&|8`~KR@T_=y>qm z8qIuu&Vz#~UiNwN_0!Q!N$otYc2q9%@KRX*;;OVoo zZk!c^F^$u!%8`=a8Eq-60JW#AJb(Sy^8t!K|KxF+&o8#J_47|2C%3r5^_cSL=$POC z>8q{m8~gtApFBvb%0LSEkPxG`dMR>4N(L+2gqUZB+{)JXy@{m?mUpIE!()XdpV(0> z<(V15o*}mel^dpo9cTW`3Pg()KML*LPL5G(xWluv zGfq!WyW+hLK>6m9Z?2oHeE8mk;+?~epVq~EZF`ec&(ANKk~BNy?CcCH8t3Dn7o$O2 z!|DAQ)Gx6jy`6cE52sLFqW~G;$8^V(TZ5`!HpkiNAL|x77T=bnF&tgRI{^G}vKmnl+jf8XcVsqu7l5CAe?`nJ&PU#z z(8Fuv{*iNqa=Pu4k3ISqCGFMQlq_=s0hqCRzuh-m0(D>6B&ZFe;1! zf3d2OviA7O^P_{8Z~&P#l$Gi^mIkcvdmw)}dDD{Rq?e&Xk*L&W{6~)xwF^MSssb^7 zw;o#?UA}Jhn7+OKZJ0ktM0d`7+v>URY9Y3I>`o4_TaOi);Jje8#@-DAjCvWvBO798?4-PuJ3qE zpxMS?2(g{FH9iu%gL&q`T(2elJz+sj3?1BenN9 zA3L3{wL+=w)vOJKn7RxLG2wl{jnvhYQb#pbG^s5+i?W8>^qBJjUo{Subr`7B?`qyh z{-5T2B*f-|vZ_2{ZqZ{_3?>t-1Tt&7<5D;H%=X?@VKKq7*XprJVaWGrH+NZs>bk=D_R)m;D{>1tpHkheGS%^ZdpHb+|I zLeOe=R*D#W-QcQpe(Msg{RY4xG?GN?hOL^;=Mf!KFWdF;F)=_Hfc%c*|^m~V!C*X4CuG>*MqxGkH$-OWqzx}6+kJN4Lq0R|)a2UrsT+W-In07*qo IM6N<$f(<`F?*IS* diff --git a/mods/doors/textures/doors_item_glass.png b/mods/doors/textures/doors_item_glass.png deleted file mode 100644 index 86406fbb967d219e29efb8327412dc6b56b3008b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!S%6Q7E0Er`YuDw=m#<#Edh_PZ z+qZAuxpU|4-Mjbi-+%Dn!NZ3SA3uKl diff --git a/mods/doors/textures/doors_item_obsidian_glass.png b/mods/doors/textures/doors_item_obsidian_glass.png deleted file mode 100644 index 1026d43722be449b6b9068ccfd11896448b7cbef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|0s;c^YKHsv?NfAD z^#Y1BmIV0)GdMiEkp|)W#5_CPos1n9JJ;PzD!wT=-6rk2V WwrH^(7I%PJ7(8A5T-G@yGywo68Z1cw diff --git a/mods/doors/textures/doors_item_steel.png b/mods/doors/textures/doors_item_steel.png deleted file mode 100644 index dd99e1361acd2121343c0be743638e54c554ca8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uBp1|U0q#^7A-n@^yt*; z-C96##*!evUa01s>&fZOswwi7XK(SBJ86 cUI<`kNP8-Mb^dev*+3l(p00i_>zopr0H_KpvH$=8 diff --git a/mods/doors/textures/doors_item_wood.png b/mods/doors/textures/doors_item_wood.png deleted file mode 100644 index d3a62ab156db2d81442bcef039fed5148d09e9bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0YyCl{4Hyt~5}p(1ZCf zkk42WAdr&KH*Mz;w$(pxq3fu6{1-oD!Mljy?ggsL_^Ji xg5sVojv*Y^lM@&k0~8V>SXl&^&Zzn`G3?nZ{*uYv`T|f1gQu&X%Q~loCIHdY8#e#| 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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 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 zLZ^(A&=mgA19xZ1vTPhzuH!)}PE}GhI_x(=V%Khi&0eNn!*y)1-^Ml_mGSQ-{#lAy zom=u}ctYi#Jl1Rso_va<1u*Y?z@%)H(jbbhcRkYdl{2Nv>Knd^CUiwQSDJ%L`Qfa1 zIxOvz>@s`Yi#L4=Yk2^oJa90Z%+R7vZU%<>q{G8g-NMb*{rxs({50xNcHM(51$SW^ zB{d3YRsoKr2mqavD6-L`JBae@8=?E;FQ($<8CUSAf21O8dNqu}uFihEcxxUMt-$ku zh0?a#fS+sR@p$}nZpXca!{6qLu3#?C!2htH(3%|_Hdf^*d1W$R-G3{tU@=bUD{Goy zY7XVptB~uK?3CQyZ1RxSg{1X&l8#l341AOmwj#8J<%|%M+cfVzc47?R1;AeqDhqTq zllZ9!SFu^pXH*e*CC|C>4O0;6(cs90Xyqkt>JfOdHJ735=w=rO_mVN0;pgx>C-|bN zRq+6v%CEsx2MPXyQ(U)Ec%GsTOcVz2 z=*yV8Cd&2hTu65j|FNpyHTp5$HDey77xK2A8&P7ohX2_lHV-y3evk?xX`*|k? zv%ZaV3MtnUrrUQ}b-2&fuF^z?7*`Wnvaa3R75=&De?gx4s5%kPA<6hLa zsL}2`5JxF&Q?fSM@stxO1zdceOQMP}yig3Jj>-D&)HPu)R{52|1>$grdb>p}+y6)Ygx|s)R z7~*p|ow8~1V7Zqz68|MupXJ@Wm<)WKwpCjVs^VN#$o=9p@J}?8TB3XiJKD6|ou6z6 z`Yn!q4OT&Pr8H(|ue|(>&rab=MWB9FVqiFs@wdC5d!bEVRxYmm*7Yn+7$8#<60d7qigYTNjgP>ywSOpaAtrVm(&b28F$`lqk`b>pk6Sw z8uYHYX98S32#+Wof5)hi zh34bl*ySZ|>Btq{Z=%aQ0a40yKXPPJDpBvAkW);2Z+H}Df~!=K2_GfK(uAN01&adf zP_#1uAm~-6mdvu`o4QL0fNu2a+VF3kq{!2NccBANvL+4c+AOtrD4RtUU?&}!$@GB* zzR?ww=<9sNo0d-y{E4itj8oO$aPf|gO2MJOnhW3*kJQKoWB1&H-l1B_QNg1nANp6` zY@=~emYytL9)eTm3>kl~*clQlW(k<=-_!OZ1_hB&ytWQvtP z{*GEfq_uvWoO>EdWsZF!1FN&F4pPcv)dz;m(Q-um#Z|*90FX8cLPR);R$m+Wskm^5v>igIt?3(4xQ{yk|YJjq_dm$cla<}-z~uznL#Y~gzWQL=$zel zwQ9`Y8{TxULc>u*cVEq&eVNagSJAaZy$ep_O&-DLg2&2Az&;sJDq3f`0Q{s_rNvqK zBPY$W@m6gnJvt(0E2>dci~{DC8A;Vh*$Y5OK2AYQ>7wpnkWmGZvJ$ecFA+5~;s&Mm z?#WX{i~p$E9fPgtC|X1bq9Ml31d0V+PkQh1BvI489NLOCcxneH$<1Lor@k?M5vmCZ z?6cP+ypsVB;OFF&^VwW8z*yxwgsteiD-En2g^sZNA~lN?PO&-{Y171~bN2C!rK0@8 z4G~!<#mjL=J^pbm&P3U|hXovr5umj~!l>iVXneq3H#r5r!)`-3kwe zlBy~&c}fVkIJO`B4;sQwD!F{6TZhO7z8l_D%vYzeZbM@7N8-KUDnSz7r$El#%E^}S z{cf9`hsF9ddn!90_xs8DZ=$(#eRH3}{ki40GY}$^$e6`G!wtP}#(x1UkkU*AAyTTQ z@Iw!`xMOaWxYF8a<(yJGR69%j2gX_x;q-OAc94pPM-cWmj#ez_=G@ zP9%}AnUX-|3uH|q*U)Vv@i;XAAn`qLr&$fSbNlDYY2v=GFt7j*`lOpFo$>HV(gJQV zPj^hUlbr*B{yb?gj3P_F(mn)PDVY&|(FCv9Q+78h{c_vN*uZhIz~QF62xd+4i&42< z*Til4?pWc{=>DWmITdy219wk1J_`n*FmGzaQzi31A{yl;ux(WjC^g-YIiPd;L;tvTv)=^Vb9lzkSB~3gz$A zhXi>Yhw&PGg|}V3{AK>%VNw7NI7ndlpN$ZB(BBT#%}-%2_Vv~66$V;*S`IGI1nEBz z+5ws+<>Uknm9n#e+9cRnSLtbKK{^C07Z1laH60Bo=D^0yO8X!C!O6T&){S@&%Ah~#1Pfm7{9IGD95Yjg(umAxmQF}*M#LJ1BnD|gKQjLsDzJ- z7e3sNZw^aj`l4CMfw$xUZftumdpU(>zhhxJ08w}=S_OBt&0lQwJCV1=f7jSj2<)hO zl8z-0hmhkQ$zfjk>L2+{;;?=8_J_gE^Y34|Tw4{*BT*L;P5SC64xcYKCuG~U{5p3$ z3P!>1hTe!ASzbBI-;Sd1f{Xh(i<-FEcgzH!4_o+9ex)i%>eiwCTy7>cN!BfCfC{@A zh;j4pupd6>CtZ!x?|BAI{k~<^r{4JH5Ylm^!8=UNqi&~+Z;hK`Gj)t$?sm$at2D}i z*O40y-M<51t%U@eCQ#3Lw$@}`<|cIcT@A1>TiX`N#`C+<;){xW##qQ^Vd%Mp^kO3}~xJxllw9!8# zKKsg-J+I2g1kV4+{w9%5c%;sga2KbEO_jSD7gId{ zd6qwdRTiS&DgoF!+;|3?MC%Hwu8^Mk3i4VZtcSs;USl($3ap&dLPZ|AezvMV@>|fh zN116y5m{0c5}+Mw`mmXbLl5b~8mUEGnzYeik??r4BMYLMXCuDRKUK2c$-};Rb^60N z<1sZ*XvWf0+83o5+?-JBuYlQNm9>3fNZC@po09Z}a+OT9dYNSa+jYyG3$FZ>-d8uv z36Yx2&>InouRzRk$p19Sl^diCv8G44h#4gCg1a9e`sIR;p0~ULRjQssCwCHhwR6Ck zlV&EiIn_e-$8VF2{Fd*=D$t=*EKt|(1BN?vV?nU!$R*GlPUt4vjdu7q(yVQdj@R~& z@0qZF=XgHuMHXD+rjWBJKhNyn$PM%zin0Qzhd!YfwWE}bgu5>0*+fdL`WAHZu5vw; z1W@LCH;eXM9aIHgXK@)hPwPoR?Aq+LbsvI__3L?9p@ux@sb%xtls%|VG6vz+apVY?VNT0v2<^?5yxJ2~+uN;H45 zPZ9tMe_&W!G3nn7xfv0##@l|0BT1|l-m4r2`72&)^tC(eD$A@cMT2k9c>tzK3Z#B* z+lIjmo()@8CEP_G4NZI|Y#M#F6TE_574`efEGqVR=H&;KHEUIEfJw6Z@mo6@Wc-ut zpF9Ou4I=|}lDz<>4$=_f=~62uFnc{l#f0_jFgt&|IAny3{P8dUlL}xIf5<%;R3NwR@-ddDG^r51UV0@2SVNu=gzQ#+-ZHC>?CM6Mi|aBoS(y_Q;oWpfNv)ipH^E!Z zsOV3mK~NY32wJ-ENze}QEpTTyyp?^vp?IiW%+{;JTh8?g{~-93 zFZpEG<+nDRq>I5Hz>*6T|B1$^u@_(SG<+^g=4s<@2=PmAqWjuL^Mc?)o&l=BgRS{d z^7=bheXb1iO$Dyo&jt+Q$ZH;cw>VId)+y|dlT7zjr8z~HYX=z{$aRFf{l?$5axsDh zr=);)I)zpliVYN3ML&TR(h27scO8B8sV3nB`M#GIGe16#uZ7?6FaGA{@C(MS@6+c? zU+|Dx<7J|H6A2d1ty~DIWP>G2(?Qgx{(Ec%ra2B3u?F!77Bgtax;J_zog$3g7>lEj z08niZP59{S+x~F$d>36!Ows+Gm90=sbJzi;^d^oM;gegOdZ&!?Bsj77y_m7W2|V~Y z8IU8p2eNJn2R>%RiUryDmT-Q@Wd&QLHEW_xsG(xH7+$|$3I>wc0}Um;9S$E0ZxT0V zL}>h4s@ZEpdi8N zwVauI2=XHk`}7${zUhrfkq4jh)G^9#Y5*Tl0>+aTJ_r(=sTzB7q7F?0jYo$D%p9J5 znxx(m-F%)l6$z<-Zs*GI(sfxssynxdoc6(3xaM5)2Y z{r2U|KlWljx=Iju&FuAm@1vciFq1=^w7}o90omMnC19>T0N;e%;}$tOv)FY1z^iTV z*7!_68D{p@&R3zlA?v;KK5Ht7ZQ%(@E2MTJ?WRct-eV;)TpBbOajpOBBJqNIc@S-w z?I4d>fGzA!@tD(aaN#Ayrq|?y;*>{7{ex!^yZHzH6vJX+o7e~`rqvy`bFn#nD9w%| zz=5e&m4!O$BD0(3g5T#sx-=Qgt)cGJb{pu=8L|otT4luE zPrpyHRo31vwjb2|`@qWkPURss{rC&;PdmsR&e6LM1umvmk*bxinPQ~?=bO(~ZiDg{ zI^sK-LfQwZ&dIK>wUQ_w$$P7OXIT)P+t(Q_d%#Yv{)O}UJU&ASDoPI$3U#zRP+lki z{GCa`T7}~NZ^7}%8I~yDl5fp&WS6ufiLMUhZWk0VjtFv&#`Yn;)nY|09Pb+lj}p;jFl!!8 zVTCF`6xAL_yfe#%ofCqQ0hrC;hHew2C1$;2Uv%gQ#9NHpMo?C1 zbhV}ctV1T*>#Ej=&9#CHs*O|iAYM`i+tuBv^2YcJA@Hj4y5hj@K|#Fg7-X%W-^OH0coSPHyQiRYQG`~h!7vSHimA%wm6 z+R;w7ZF0;)iWZd6E&ohk%5jG8q5cP2?Lnvwd$24BEo3V@br21B#tcG9xkBXRQIn6Te^)X;JoLSdM-Tq#Nhq|@ znT69c>Dq^_230OD!hvjrJ1C9+fdp%_Y}aLvS$@hn^nSSH||R|DpMAJ~mA!{fy7u_$hOk zJ8EI|eo}-3I?prN&H3=8luA$*pf-u$-{p}eyKf%+rnu;a2e5{*X!12N+YT!l+-}d6 zCkA29u{>yF(UKs`=6D!ST#HtGaaGdk?78Z1gIv@%v||fbWFRogb_=))MDzW&c4tE| z=x3WD20#zhYz$>W}stA|}nL1;37HuZLO z@Gsh5)EMIWtlq()c%H$|R+&z#rYO_L>tOEp1=&&?j@UC{05i1}xAF&FU78p| zy;X7H*HcDb-QmB1wNciUXE&o@kmx`p==!in#2G{h4OYTQVvi~L1EzQXrKhRtLBNem z$@I^XZvaeuU=qHKDJqB{hrksqDWG#>o%WLjhotd$3N6 z$@JPc_0aBRyYZ(P4qTne2T#}!bUw`H`(F2Obo*5cfk@kN9o6{TgaQeIoGwrbI$h}P zml$zG)nHPdpC!Jl44Fi%438ahPJ%4poXi7k8gEiBgfnompUUypZv#(j!A%l-c;#sn z=D7>IS1~ei!_tcohUR>+Yj7g(ZghcR9Q^7 z3@{U13ij@;35uCF z&hfHTNH=962A5&8MIM_Hh7Y;XeL9-vUjQk%f>i(Wj89_Hje)&-487P4 z19=@BwZpEig@%6QJ)efYF>o+|xiW%k)8%gff8P_9Y)SUBX|iJ9Lr43?vc!cwSj5q~ zf-JE3+ttyc_QJVa1%!s$c#C9X_5x`@8K4L0vDQUmLnqhE;M~7XuPAfp5Wh6)=Q?d! z0*h0BZUdQqC}JBZ16ye_J%xapOTTS~yX8OAuf!tWL-|-dJHN(f51WFbRMPB#vH9%Z zOf{zk6j~D@b$0bW-V;>gf1tU7!E3a{56UqCW9g`6fnRuwC@Lk#%9{oi^xj0CBQaK< z1kJJJ`H$)y+)?k|tfX;*xVCVFx3_?0sJkw=~{Ptsw|8qE>bN4UhG5|2 zwbWi0*Rnx>&ijAI`kpln=Zd_sP-O~>XKn0RY!a8xha@AIVJ1S&f3Y1tn?V0H#U!ap z4asA`DL#)9G1kK@g{6}+N7LjtAf9fbWn43De*ukF{8s50?i2gLgH2gvhS}rxPd4qf z&jOpPhR{g;@pz3yNoUs{-JUC#=vl8{IOVzD2Zj*DlJFfEelE0-gK2?cC8BkqeBT~o znHR#Z@;sa$Civ5&xPCjW4c-PXWn%{qUo{sWGUvEYd2%Ilv^?G(Eib+Vsb{b=tYbT7 zh8mgVyPA`gJp@{v$l7hA5QQ+S?86xUWZpjCF;7cz?>ABnF9lpp_0SUZ9s zWFAi(F0N#ywZ`abghFNJt3GFb9Ykxdq%3G)v&erhx1O#ZjqSrSnj%o}7i}|c z4alQ89W{=Ow2z9&)#)zK4Rpp35Emt6rvB4iZ>03C-5x)hsxLE1h4mTtT?`Kyo*3%L z%1-`lnz4&gbj=OMM>Ih|ijS}E{9AbekX`(7HrmYeiZ!tGxuiKLI*#k)2bX@A8Ck6z z9DHzWW)tGiuLB5D3vE=(<-&4QT~HBeu1scU-E_!A7Iw~#Wv5fNE*>fKU?wbSO{l8f z=MpkIMrmvS2>BHhQR9D_Th2H4*!VVEe3`I&2Q~b~7JO^BzEw+0^xi+KMh(;D!Vtvv zppDZ+r1i^S4SZtBOqQINwp)l1eHnXc_uPT*RDC}?LR>zuErVaj1h5(O&D4>v~`$$Gg^!6rvAzDMNE#3%jcsJ@~ z*(qCHl@5{wZBKQYb>1fLzF8}PokJ;bsUR{FK+oXdpPZ_9IyShj(nyg!?QrjXc#}A_ zR3c@le7N=8S`$ys_=UYDVxJ>gBQjzraz8+@Jw7G?g( zl0zg1wY8|oMRI4xiQil`i2n0LHO~IODQ+iL@qp^@!3QY09Ida1vs`9j%^3qL95n(= z4@%i$^wXH>_0d3tvbc@*Qs}cuEDRn=eg#PC@0XMA*-zQ(y60~Udp@-SO5wT7YPDS7 zI|sk-JyFru>aLjs_uaqXcspwK+yEO)z`kHyGAKS?P|+Wu-Irg}Xbtu9`PW}rrhi?8 zoGN4WUEUR)*R3w-3O3Gkox*~|e0MP`+lPcB>&6St(iGx zm;-(;jeA*o;F=%}w`Z;Sr~)wgK~73&VKbq6sVNX#b~p;T0;&9ny;)!9j(xx{%w+rN zxaJGk5L_-B7x3|B26jpZ4Wjp3I;Fyh38oF`!DPqP_sZj9Ha(4^=@6uc`iM|=9he2P z#FR;F#;M32qzW_z8jvaZ5o)b6OopW*9Z2#B-|k(w#?xgHgRU>7GAriN&tY=ZcpG

+ZM| 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 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/bones/depends.txt b/mods/flatgen/depends.txt similarity index 100% rename from mods/bones/depends.txt rename to mods/flatgen/depends.txt diff --git a/mods/flatgen/init.lua b/mods/flatgen/init.lua new file mode 100644 index 0000000..ed29aa6 --- /dev/null +++ b/mods/flatgen/init.lua @@ -0,0 +1,60 @@ +-- flatgen mod for 100% flat maps - created by Krock +-- License: CC0 +local terrain_file = minetest.get_worldpath() .."/flatgen_terrain.txt" + +-- Y position where the terrain starts to generate +local generator_start_y = 1 + +-- Backwards compatiblity +local file = io.open(terrain_file, "r") +if file then + minetest.log("warning", "[flatgen] Found an existing terrain file. " + .. "Falling back to legacy code") + local legacy_file = minetest.get_modpath("flatgen") .. "/init_legacy.lua" + assert(loadfile(legacy_file))(terrain_file, generator_start_y) + return +end + +if not minetest.set_mapgen_setting then + error("[flatgen] Your Minetest version is no longer supported." + .. " (Version < 0.4.16)") +end + +minetest.set_mapgen_setting("mg_name", "flat", true) +minetest.set_mapgen_setting("water_level", "-31000", true) +minetest.set_mapgen_setting("mg_flags", + "light,nocaves,nodungeons,nolight,nodecorations", true) +minetest.set_mapgen_setting("mgflat_spflags", "nolakes,nohills", true) +minetest.set_mapgen_setting("mgflat_ground_level", tostring(generator_start_y), true) + +-- Biomes still occur without this stuff +local set_mgparam = minetest.set_mapgen_setting_noiseparams +local function get_noiseparams(_offset) + return { + flags = "defaults", + lacunarity = 0, + offset = _offset, + scale = 0, + spread = {x=1,y=1,z=1}, + seed = 0, + octaves = 0, + persistence = 0 + } +end +set_mgparam("mg_biome_np_heat", get_noiseparams(60), true) +set_mgparam("mg_biome_np_heat_blend", get_noiseparams(0), true) +set_mgparam("mg_biome_np_humidity", get_noiseparams(67), true) +set_mgparam("mg_biome_np_humidity_blend", get_noiseparams(0), true) + +-- Extend the depth of the grassland biome (y_min) +minetest.register_biome({ + name = "deep_grassy_deciduous_forest", + node_top = "default:dirt_with_grass", + depth_top = 1, + node_filler = "default:dirt", + depth_filler = 3, + y_max = 31000, + y_min = -1000, + heat_point = 60, + humidity_point = 67, +}) diff --git a/mods/flatgen/init_legacy.lua b/mods/flatgen/init_legacy.lua new file mode 100644 index 0000000..9897784 --- /dev/null +++ b/mods/flatgen/init_legacy.lua @@ -0,0 +1,143 @@ +-- Fallback code in case there's already a terrain configuration file existing +-- License: CC0 +local params = { ... } +local terrain_file = params[1] + +-- Y position where the terrain starts to generate +local generator_start_y = params[2] +-- Default settings: grass, dirt, dirt, dirt with stone ground +local layers = { + { "default:dirt_with_grass", 1 }, + { "default:dirt", 3 }, + { "default:stone", nil } -- nil = no limit + -- Fake ignore to generate whenever you want: { "ignore_me", 1 } +} + + +minetest.set_mapgen_params({ + mgname = "singlenode", + water_level = -31000, + flags = "light" +}) + +local function readOrCreateTerrainSettings() + local file = io.open(terrain_file, "r") + if file then + -- Load existing world file + local data = minetest.deserialize(file:read("*all")) + file:close() + assert(data, "[flatgen] Can not deserialize the terrain file") + layers = data + return + end + -- Copy default params to the world file + file = io.open(terrain_file, "w") + file:write(minetest.serialize(layers)) + file:close() +end + +readOrCreateTerrainSettings() + +minetest.after(0, function() + -- Transform node strings to content ID + for i, v in ipairs(layers) do + assert(minetest.registered_nodes[v[1]], "[flatgen] Unknown node: "..v[1]) + v[1] = minetest.get_content_id(v[1]) + end +end) + + +minetest.register_chatcommand("regenerate", { + description = "Regenerates a ^3 nodes around you", + params = "", + privs = {server=true}, + func = function(name, param) + local size = tonumber(param) or 0 + + if size < 10 then + return false, "Please submit a size number >= 10" + end + + size = math.floor(size / 2) + local player = minetest.get_player_by_name(name) + local pos = vector.round(player:getpos()) + + flatgen_generate( + vector.subtract(pos, size), + vector.add(pos, size), + 0, true + ) + return true, "Done!" + end +}) + +local c_air = minetest.get_content_id("air") +function flatgen_getNode(y, regenerate) + if y > generator_start_y then + return c_air + end + + local depth = generator_start_y + for i, v in ipairs(layers) do + if not v[2] or depth - v[2] < y then + return v[1] + end + depth = depth - v[2] + end + return regenerate and c_air --or nil +end + +function flatgen_generate(minp, maxp, seed, regenerate) + if minp.y > generator_start_y then + return -- Area outside of the generation area + end + + if not flatgen_getNode(maxp.y) then + return -- No node defined for that position or below + end + + local vm, emin, emax + if regenerate then -- Load regular VManip to regenerate area + vm = minetest.get_voxel_manip() + emin, emax = vm:read_from_map(minp, maxp) + else -- Load VManip from map generator + vm, emin, emax = minetest.get_mapgen_object("voxelmanip") + end + + local area = VoxelArea:new{MinEdge=emin, MaxEdge=emax} + local data = vm:get_data() + + for z = minp.z, maxp.z do + for y = minp.y, maxp.y do + local vi = area:index(minp.x, y, z) + local node = flatgen_getNode(y, regenerate) + for x = minp.x, maxp.x do + if node then + data[vi] = node + end + vi = vi + 1 + end + end + end + + vm:set_data(data) + if not regenerate then + vm:set_lighting({day=0, night=0}) + end + vm:calc_lighting() + vm:write_to_map(data) + if regenerate then + vm:update_map() + end +end + +table.insert(minetest.registered_on_generateds, 1, flatgen_generate) + +minetest.register_node(":ignore_me", { + description = "You hacker you!", + tiles = {"default_cloud.png"}, + paramtype = "light", + sunlight_propagates = true, + pointable = false, + drop = "", +}) \ No newline at end of file diff --git a/mods/flatgen/mod.conf b/mods/flatgen/mod.conf new file mode 100644 index 0000000..8c9a3d3 --- /dev/null +++ b/mods/flatgen/mod.conf @@ -0,0 +1,3 @@ +name = flatgen +description = Generates true flat worlds without any decoration +depends = default \ No newline at end of file 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 a2294a4..71e9ee7 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] ]], true) end }) 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/sudoku/init.lua b/mods/sudoku/init.lua index 7e88312..b852981 100644 --- a/mods/sudoku/init.lua +++ b/mods/sudoku/init.lua @@ -8,7 +8,7 @@ minetest.register_on_joinplayer(function(player) offset = {x=0, y=10}, alignment = {x=1, y=0}, number = 0xFFFFFF , - text = "For Minetest : 5.0.x", + text = "For Minetest : 5.1.x", }) player:hud_add({ hud_elem_type = "text", @@ -16,7 +16,7 @@ minetest.register_on_joinplayer(function(player) offset = {x=0, y=30}, alignment = {x=1, y=0}, number = 0xFFFFFF , - text = "Game Version : 1.9.0", + text = "Game Version : 1.9.1", }) hud_levels[name] = player:hud_add({ hud_elem_type = "text", @@ -28,6 +28,8 @@ minetest.register_on_joinplayer(function(player) }) end) +local map_version = 1 + minetest.register_on_joinplayer(function(player) player:set_inventory_formspec("") if player:get_player_name() == "singleplayer" then @@ -72,7 +74,6 @@ minetest.register_on_joinplayer(function(player) minetest.set_timeofday(0.5) minetest.setting_set("node_highlighting", "box") player:hud_set_hotbar_itemcount(9) - player:setpos({x=19, y=10, z=-87}) if file_check(minetest.get_worldpath().."/level1.txt") == true then else file = io.open(minetest.get_worldpath().."/level1.txt", "w") @@ -103,6 +104,23 @@ minetest.register_on_joinplayer(function(player) file:write("1") file:close() end + if file_check(minetest.get_worldpath().."/Map_Version.txt") ~= true then + minetest.place_schematic({ x = 9, y = 7, z = -93 }, minetest.get_modpath("sudoku").."/schematics/sector1.mts","0") + player:setpos({x=19, y=8, z=-88}) + file = io.open(minetest.get_worldpath().."/Map_Version.txt", "w") + file:write(map_version) + file:close() + end + file = io.open(minetest.get_worldpath().."/Map_Version.txt", "r") + local map_ver = file:read("*l") + file:close() + if tonumber(map_ver) < map_version then + minetest.place_schematic({ x = 9, y = 7, z = -93 }, minetest.get_modpath("sudoku").."/schematics/sector1.mts","0") + player:setpos({x=19, y=8, z=-88}) + file = io.open(minetest.get_worldpath().."/Map_Version.txt", "w") + file:write(map_version) + file:close() + end end) minetest.register_on_newplayer(function(player) local player = minetest.get_player_by_name(player:get_player_name()) @@ -110,130 +128,8 @@ minetest.register_on_newplayer(function(player) pri["fly"] = true pri["fast"] = true minetest.set_player_privs(player:get_player_name(), pri) - player:setpos({x=19, y=10, z=-88}) end) -local timer = 0 -local set = 0 -minetest.register_globalstep(function(dtime) - timer = timer + dtime - local players = minetest.get_connected_players() - for _,player in ipairs(players) do - local player_inv = player:get_inventory() - player_inv:set_size("load", 1) - if minetest.get_node({x=10, y=9, z=-75}).name == "sudoku:gray" and player_inv:get_stack("load", 1):get_count() < 1 and set == 0 then - minetest.chat_send_all("The world is loading... This can take a few seconds") - player:setpos({x=19, y=10, z=-88}) - for i = 10, 28 do - for m = 8,28 do - for j = 75, 93 do - minetest.set_node({x=i, y=m, z=(-1)*j}, {name="air"}) - end - end - end - set = 1 - end - if minetest.get_node({x=10, y=9, z=-75}).name == "sudoku:gray" and player_inv:get_stack("load", 1):get_count() < 1 and set == 1 then - player:setpos({x=19, y=10, z=-88}) - for i = 10, 28 do - for j = 79, 93 do - minetest.set_node({x=i, y=28, z=(-1)*j}, {name="sudoku:meselamp"}) - end - end - for i = 10, 28 do - for j = 79, 93 do - for m = 29,150 do - minetest.set_node({x=i, y=m, z=(-1)*j}, {name="air"}) - end - end - end - minetest.chat_send_all("The world should be loaded, if not start a new world!") - player:setpos({x=19, y=10, z=-88}) - player_inv:set_stack("load", 1, "default:dirt") - end - if timer >= 1 then - timer = 0 - for i = 10, 28 do - for m = 9,27 do - minetest.set_node({x=i, y=m, z=-75}, {name="sudoku:gray"}) - end - end - for i = 75, 85 do - for m = 9,28 do - minetest.set_node({x=9, y=m, z=(-1)*i}, {name="sudoku:wall"}) - minetest.set_node({x=29, y=m, z=(-1)*i}, {name="sudoku:wall"}) - end - end - for i = 86, 87 do - for m = 9,28 do - minetest.set_node({x=10, y=m, z=(-1)*i}, {name="sudoku:wall"}) - minetest.set_node({x=28, y=m, z=(-1)*i}, {name="sudoku:wall"}) - end - end - for i = 88, 89 do - for m = 9,28 do - minetest.set_node({x=11, y=m, z=(-1)*i}, {name="sudoku:wall"}) - minetest.set_node({x=27, y=m, z=(-1)*i}, {name="sudoku:wall"}) - end - end - for m = 9,28 do - minetest.set_node({x=12, y=m, z=-90}, {name="sudoku:wall"}) - minetest.set_node({x=26, y=m, z=-90}, {name="sudoku:wall"}) - minetest.set_node({x=13, y=m, z=-91}, {name="sudoku:wall"}) - minetest.set_node({x=25, y=m, z=-91}, {name="sudoku:wall"}) - minetest.set_node({x=14, y=m, z=-92}, {name="sudoku:wall"}) - minetest.set_node({x=24, y=m, z=-92}, {name="sudoku:wall"}) - end - for i = 15, 23 do - for m = 9,28 do - minetest.set_node({x=i, y=m, z=-93}, {name="sudoku:wall"}) - end - end - - for i = 10, 28 do - for j = 75, 78 do - minetest.set_node({x=i, y=28, z=(-1)*j}, {name="sudoku:wall"}) - end - end - for i = 10, 28 do - for j = 75, 93 do - minetest.set_node({x=i, y=7, z=(-1)*j}, {name="sudoku:desert"}) - minetest.set_node({x=i, y=8, z=(-1)*j}, {name="sudoku:desert"}) - end - end - for i = 11, 27 do - for j = 80, 84 do - minetest.set_node({x=i, y=8, z=(-1)*j}, {name="air"}) - end - end - for i = 12, 26 do - for j = 85, 86 do - minetest.set_node({x=i, y=8, z=(-1)*j}, {name="air"}) - end - end - for i = 13, 25 do - for j = 87, 88 do - minetest.set_node({x=i, y=8, z=(-1)*j}, {name="air"}) - end - end - for i = 14, 24 do - minetest.set_node({x=i, y=8, z=-89}, {name="air"}) - end - for i = 15, 23 do - minetest.set_node({x=i, y=8, z=-90}, {name="air"}) - end - for i = 16, 22 do - minetest.set_node({x=i, y=8, z=-91}, {name="air"}) - end - minetest.set_node({x=17, y=8, z=-80}, {name="sudoku:new_w1"}) - minetest.set_node({x=18, y=8, z=-80}, {name="sudoku:new_w2"}) - minetest.set_node({x=19, y=8, z=-80}, {name="sudoku:new_w3"}) - minetest.set_node({x=20, y=8, z=-80}, {name="sudoku:new_w4"}) - minetest.set_node({x=21, y=8, z=-80}, {name="sudoku:new_w5"}) - minetest.set_node({x=19, y=7, z=-85}, {name="sudoku:finisch"}) - end - end -end) minetest.register_node("sudoku:desert",{ description = "Desert", diff --git a/mods/sudoku/schematics/sector1.mts b/mods/sudoku/schematics/sector1.mts new file mode 100644 index 0000000000000000000000000000000000000000..079da1ff519f1344f28b79ff5ec83066a6718c20 GIT binary patch literal 480 zcmeYb3HD`RVGv~yV-T*#3K+N#5#V4jT^!Em)S+HrFy}?onSe-i6KHCDY!-l=TH!I#>4k#U0yTyM5=^ zf4Ap*uAH;DXL{w?bC(ikzr25M-|gRNC+BNV-8^M!>az3EI>oj>-~P-0_uhJG(Y#H2 z&iq(+*68}=d(-b3?G4vT*UCP<=l=GnXH_}DE7wd-&)@uQ+IRC%t>;>=PydNb-<`Vd zxY^WGML%zt&6m6LY~uDkdshZo#z)3K%blxRZ+bm>wpZ%TExt>O&Rha2GxWY4qIF#7 zcm8L~JuTNih~1mKeA~*9X{YUO+dO-7eqBgk%&lcXmT8q=ZY&G>xqWG_*3{%_&+|S% fz7RR(6zA#Y=fVt7u&?x|zCMieZ=wFBV`h;6Q*q&Y literal 0 HcmV?d00001 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 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 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

Xdq%U?I~`^q>@o>&8u(GVv<`RV5`n-?@Sg%MvG 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