From 5357fa886b04ad319f14e3c43b896b58a54a7fe9 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Wed, 27 Nov 2024 03:44:00 +0100 Subject: [PATCH] Mark tutorial strings for translation --- mods/tutorial/init.lua | 223 +++++++++++++++++++++-------------------- 1 file changed, 112 insertions(+), 111 deletions(-) diff --git a/mods/tutorial/init.lua b/mods/tutorial/init.lua index a1ef2a4..592ac49 100644 --- a/mods/tutorial/init.lua +++ b/mods/tutorial/init.lua @@ -13,6 +13,7 @@ end -- == END OF DEBUG SETTINGS == local S = minetest.get_translator("tutorial") +local NS = function(s) return s end -- Saves tutorial state into file function tutorial.save_state() @@ -144,7 +145,7 @@ tutorial.diamonds = 12 tutorial.texts = {} tutorial.texts.intro = -[[Welcome! This tutorial will teach you the most crucial basics of Luanti. +NS[[Welcome! This tutorial will teach you the most crucial basics of Luanti. This tutorial assumes that you have not changed the default keybindings yet. Let's start for the most important keybindings right now: @@ -169,14 +170,14 @@ You can exit the tutorial at any time, the world will be automatically saved. Now feel free to walk around a bit and read the other signs to learn more.]] tutorial.texts.minetest = -[[Luanti itself is not a game, it is a game engine. +NS[[Luanti itself is not a game, it is a game engine. To be able to actually play it, you need something called a "game". This tutorial teaches you the basics of Luanti (the engine), things which are true for all games. This tutorial does not teach you how to play a particular game.]] tutorial.texts.subgame = -[[Now since you probably now the basics, you may want to actually play or build something. +NS[[Now since you probably now the basics, you may want to actually play or build something. Luanti comes bundled with a default game, which you may try out now. Sadly, there is currently no tutorial for the default game. You may want to read the "Getting Started" section of the Community Wiki, @@ -189,7 +190,7 @@ Alternatively, you may check out one of the games which are shared on the Luanti tutorial.texts.creative = -[[The creative mode is turned on. If you are here to learn how to play Luanti, +NS[[The creative mode is turned on. If you are here to learn how to play Luanti, you should probably leave now, turn creative mode off and restart the tutorial. @@ -199,7 +200,7 @@ the normal gameplay restraints. You can leave now by pressing "Leave tutorial", or later, by pressing [Esc].]] tutorial.texts.notsingleplayer = -[[You are now playing the tutorial in multiplayer mode. +NS[[You are now playing the tutorial in multiplayer mode. But this tutorial is optimized for the singleplayer mode. This tutorial does not work properly with more than 1 player. @@ -207,7 +208,7 @@ Unless you are sure no other players will join, you should leave now and start the tutorial in singleplayer mode.]] tutorial.texts.cam = -[=[Luanti has 3 different views which determine the way you see the world. +NS[=[Luanti has 3 different views which determine the way you see the world. The three modes are: - First-person view (default) @@ -220,7 +221,7 @@ window first). Switch camera mode: [C]]=] tutorial.texts.minimap = -[=[Press the [V] key to make a minimap appear on the top right. +NS[=[Press the [V] key to make a minimap appear on the top right. The minimap helps you to find your way around the world. Press it again to toggle through different minimap modes and zoom levels. @@ -249,7 +250,7 @@ In some games, the minimap may be disabled. Toggle minimap rotating: [Shift]+[V]]=] tutorial.texts.blocks = -[[The world of Luanti is made entirely out of blocks, or voxels, to be precise. +NS[[The world of Luanti is made entirely out of blocks, or voxels, to be precise. Blocks can be added or removed with the correct tools. In this section, we'll show you a few special but common blocks which behave in unexpected, @@ -258,30 +259,30 @@ ways., Of course, games can come up with more special weird blocks.]] tutorial.texts.falling_node = -[[Some blocks need to rest on top of another block, otherwise, they fall down. +NS[[Some blocks need to rest on top of another block, otherwise, they fall down. Try it and mine the block below the uppermost block.]] tutorial.texts.attached_node = -[[Some blocks have to be attached to another block, otherwise, they drop as an item +NS[[Some blocks have to be attached to another block, otherwise, they drop as an item as if you would have mined it. Attached here is a picture frame. You can't collect or mine it directly, but if you mine the block it is attached to, it will drop as an item which you can collect.]] tutorial.texts.disable_jump = -[[These nasty blocks on the floor prevent you from jumping when you stand on them.]] +NS[[These nasty blocks on the floor prevent you from jumping when you stand on them.]] tutorial.texts.bouncy = -[[Whee! The blocks will make you bounce if you jump on them. They also can bounce +NS[[Whee! The blocks will make you bounce if you jump on them. They also can bounce you from the side, if you are fast enough.]] tutorial.texts.runover = -[[This abyss behind this sign is so small that you can even walk over it, +NS[[This abyss behind this sign is so small that you can even walk over it, as long as you don't stop midway. But you can jump over it anyways, just to be, safe.]] tutorial.texts.jumpup = -[[You can't reach this upper block by walking. But luckily, you are able to jump. +NS[[You can't reach this upper block by walking. But luckily, you are able to jump. For our purposes, you can jump just high enough to reach one block above you. But you can't two blocks high. Press the space bar once to jump at a constant height. @@ -292,21 +293,21 @@ Now try it to continue.]] tutorial.texts.jumpover = -[=[Here is a slightly larger abyss. Luckily, you can also jump just far enough to +NS[=[Here is a slightly larger abyss. Luckily, you can also jump just far enough to cross a gap of this width. Don't worry, the abyss is not deep enough to hurt you when you fall down. There are stairs which lead back up here. Jump: [Space]]=] tutorial.texts.orientation = -[[From this point on, there will be branching paths. For orientation, we placed +NS[[From this point on, there will be branching paths. For orientation, we placed some arrow signs. They just show a short text when you hover them, that's all. You don't have to follow the sections in any particular order, with one exception, for which you will be informed.]] tutorial.texts.sneak = -[=[Sneaking is a special move. As long as you sneak, you walk slower, but you are +NS[=[Sneaking is a special move. As long as you sneak, you walk slower, but you are guaranteed to not accidentally fall off the edge of a block. This also allows you to "lean over" in a sense. To sneak, keep the sneak key pressed. As soon as you release the sneak key, @@ -322,7 +323,7 @@ ladder. You may try out sneaking at this little blocky pyramid.]=] tutorial.texts.hotbar = -[[At the bottom of the screen you see 8 squares. This is called the 'hotbar'. +NS[[At the bottom of the screen you see 8 squares. This is called the 'hotbar'. The hotbar allows you to quickly access some items from your inventory. In our case, the upper 8 slots in your inventory. You can change the selected item with the mouse wheel, if you have one, or with the @@ -337,7 +338,7 @@ tools, mining, building, etc.]] tutorial.texts.eat = -[[In this chest you find some comestibles. Comestibles are items which instantly +NS[[In this chest you find some comestibles. Comestibles are items which instantly heal you when eaten. This removes the item from your inventory. To eat one, select the comestible in your hotbar, then click the left mouse button. Unlike other items, you cannot punch or attack while holding a comestible. To be able @@ -349,11 +350,11 @@ Of course, this does not have to be the only way to heal you. Don't forget to take the gold ingot.]] tutorial.texts.chest = -[[Treasure chests are a common sight in Luanti. They are actually not built-in +NS[[Treasure chests are a common sight in Luanti. They are actually not built-in into the game.]] tutorial.texts.damageblock = -[[Careful! These spikes hurt you when you stand inside, so don't walk into them. +NS[[Careful! These spikes hurt you when you stand inside, so don't walk into them. Try to walk around and get the gold ingot. They damage you every second you stand in them. @@ -361,7 +362,7 @@ They damage you every second you stand in them. This is one of the many ways you can get hurt in Luanti.]] tutorial.texts.ladder = -[[This is a ladder. Ladders help you to climb up great heights or to climb down safely. +NS[[This is a ladder. Ladders help you to climb up great heights or to climb down safely. To climb a ladder, go into the block occupied by the ladder and hold one of the following keys: @@ -371,7 +372,7 @@ following keys: Note that sneaking and jumping do not work when you are at a ladder.]] tutorial.texts.swim = -[[What you see here is a small swimming pool. You are able to swim and dive. +NS[[What you see here is a small swimming pool. You are able to swim and dive. Diving usually costs you breath. While diving, 10 bubbles appear in the heads-up display. These bubbles disappear over time while diving and when you are out of bubbles, you slowly lose some health points. You have to back up to the surface from time to @@ -390,7 +391,7 @@ At the bottom of the pool lies a gold ingot. Try to get it!]] tutorial.texts.dive = -[=[To get to the other side, you have to dive here. Don't worry, the tunnel is not +NS[=[To get to the other side, you have to dive here. Don't worry, the tunnel is not long. But don't stay too long in the water, or else you take damage. At the bottom of the pool lies a gold ingot. Try to get it! @@ -402,7 +403,7 @@ At the bottom of the pool lies a gold ingot. Try to get it! Swim downwards: [Shift]]=] tutorial.texts.waterfall = "".. -[=[You can easily swim up this waterfall. Go into the water and hold the space bar until you're +NS[=[You can easily swim up this waterfall. Go into the water and hold the space bar until you're at the top Swim forwards: [W] @@ -413,7 +414,7 @@ at the top Swim downwards: [Shift]]=] tutorial.texts.liquidtypes = -[=[Liquids behave somewhat weirdly in Luanti. Actually, there are 2 kinds of liquids. +NS[=[Liquids behave somewhat weirdly in Luanti. Actually, there are 2 kinds of liquids. If you watched the waterfall closely, you may have noticed that there is a slight difference between the water blocks that make the waterfall, and those up here in the basin. @@ -438,12 +439,12 @@ Use that block, being close enough and looking at it, and watch the waterfall dr Use something: [Right mouse button]]=] tutorial.texts.viscosity = -[[Luanti mods can introduce various liquids which differ in their properties. +NS[[Luanti mods can introduce various liquids which differ in their properties. Probably the most important property is their viscosity. Here you have some pools which differ in their viscosity. Feel free to try them out.]] tutorial.texts.pointing1 = -[[An important general concept in Luanti is pointing. As mentioned earlier, +NS[[An important general concept in Luanti is pointing. As mentioned earlier, there is a crosshair in the center of the screen. You can point several things in Luanti: @@ -472,7 +473,7 @@ To do that, you must point it and click with the left mouse button.]] tutorial.texts.pointing2 = -[[The distance you need to point to things solely depends on the tool you carry. +NS[[The distance you need to point to things solely depends on the tool you carry. Most tools share a default value but some tools may have a longer or shorter distance. At the moment, your only "tool" is the hand. It was good enough to collect the apple @@ -486,7 +487,7 @@ To take the tool, point to it and click the left mouse button. Then select it wi mouse wheel or the number keys. You will learn more about tools in a different section.]] tutorial.texts.health = -[[Unless you have damage disabled, all players start with 20 hit points (HP), represented +NS[[Unless you have damage disabled, all players start with 20 hit points (HP), represented by ten hearts in the heads-up display. One HP is represented by half a heart in this tutorial, but the actual representation can vary from game to game. @@ -508,7 +509,7 @@ respawn at a special location you can't normally reach and keep all your posessi Games may introduce special events on a player's death.]] tutorial.texts.death = -[[Oops! So it seems you just have died. Don't worry, you don't have lost any of your +NS[[Oops! So it seems you just have died. Don't worry, you don't have lost any of your possessions and you have been revived. You are still in Tutorial World at a different location. @@ -529,7 +530,7 @@ To continue, just drop out at the end of that gangway. The drop is safe.]] tutorial.texts.items = -[[Throughout your journey, you will probably collect many items. Once you collected +NS[[Throughout your journey, you will probably collect many items. Once you collected them, blocks are considered to be items, too. Items can be stored in your inventory and selected with the hotbar (see the other signs). @@ -547,7 +548,7 @@ On the table at the right to this sign lies an item stack of 50 rocks so you hav to test out the inventory.]] tutorial.texts.tools = -[[A tool is a special kind of item. +NS[[A tool is a special kind of item. Tools can be used for many things, such as: - Breaking blocks - Collecting liquids @@ -564,7 +565,7 @@ inventory the tool's "health" is indicated by a colored bar Tools may be able to be repaired, see the sign about repairing.]] tutorial.texts.inventory = -[[The inventory menu usually contains the player inventory. This allows you +NS[[The inventory menu usually contains the player inventory. This allows you to carry along items throughout the world. Every inventory is made out of slots where you can store items in. You can store one @@ -591,7 +592,7 @@ You can also drop an item stack by holding it in the inventory, then clicking an outside of the window.]] tutorial.texts.listrings = -[=[By the way, if you are tired of clicking, there is a little convenience +NS[=[By the way, if you are tired of clicking, there is a little convenience feature: Hold [Shift] while you left-click on an item stack in a menu to move it instantly to another relevant section. For example, in this tutorial @@ -601,13 +602,13 @@ vice-versa) with a single click. [Shift]+[Left click]: Move full item stack to other section in menu]=] tutorial.texts.chest = -[[This is a chest. You can view its contents by right-clicking it. In the menu you will see +NS[[This is a chest. You can view its contents by right-clicking it. In the menu you will see two inventories, on the upper part the chest inventory and on the lower part the player inventory. Exchanging items works exactly the same as in the inventory menu.]] tutorial.texts.build = -[[Another important task in Luanti is building blocks. +NS[[Another important task in Luanti is building blocks. "Building" here refers to the task of placing one block in your possession onto another block in the world. Unlike mining, building a block happens instantanous. To build, select a block in your @@ -622,13 +623,13 @@ Try to get up to that little hole by using the wood blocks in the chest. There i gold ingot waiting for you.]] tutorial.texts.build_special = -[=[You may have wondered how you can build on a block which you can use, like a chest. +NS[=[You may have wondered how you can build on a block which you can use, like a chest. For this, you have to hold the sneak key and then use the build key. Build on usable block: [Shift] + [Right mouse button]]=] tutorial.texts.mine = -[[Mining is a method to remove a single block with a mining tool. It is a very important +NS[[Mining is a method to remove a single block with a mining tool. It is a very important task in Luanti which you will use often. (It is recommended that you go to the crafting and items house first. It is right in front of @@ -655,35 +656,35 @@ this area, using different tools. Note that all blocks here are just examples to different kinds of drops.]] tutorial.texts.mine_cobble = -[[This is cobblestone. You can mine it with a pickaxe. +NS[[This is cobblestone. You can mine it with a pickaxe. This cobblestone will always drop itself, that means, cobblestone. Dropping itself is the usual dropping behaviour of a block, throughout many games.]] tutorial.texts.mine_wood = -[[These are wooden planks. In the tutorial, you can only mine those blocks with an axe. +NS[[These are wooden planks. In the tutorial, you can only mine those blocks with an axe. Wooden planks drop themselves. In Luanti, we use the term "mining" in a general sense, regardless of the material.]] tutorial.texts.mine_conglomerate = -[[This is a cube of conglomerate. You need a pickaxe to mine it. +NS[[This is a cube of conglomerate. You need a pickaxe to mine it. Conglomerate drops something based on probability. Conglomerate randomly drops between 1 and 5 rocks, when mined.]] tutorial.texts.mine_glass = -[[This is some weak glass. You can break it with your bare hands. Or you can use your pickaxe, +NS[[This is some weak glass. You can break it with your bare hands. Or you can use your pickaxe, which is faster. Note that it looks slightly different than the other glass in this world. These glass blocks don't drop anything.]] tutorial.texts.mine_stone = -[[This is stone. You need a pickaxe to mine it. When mined, stone will drop cobblestone.]] +NS[[This is stone. You need a pickaxe to mine it. When mined, stone will drop cobblestone.]] tutorial.texts.mine_immortal = -[[There can always be some blocks which are not minable by any tool. In our tutorial, all +NS[[There can always be some blocks which are not minable by any tool. In our tutorial, all those castle walls can't me mined, for example.]] tutorial.texts.craft1 = -[[Crafting is the task of taking several items and combining them to form a new item. +NS[[Crafting is the task of taking several items and combining them to form a new item. Crafting is another important task in Luanti. To craft something, you need a few items and a so-called crafting grid. @@ -701,7 +702,7 @@ This process consumes the paper. When you have the book in your inventory, go on with the next sign.]] tutorial.texts.craft2 = -[[To craft the book you have used a so-called crafting recipe. You must know the crafting +NS[[To craft the book you have used a so-called crafting recipe. You must know the crafting recipes as well so you can craft. The crafting recipe you used in particular is a so-called shaped recipe. This means the @@ -717,7 +718,7 @@ What is special about this recipe is that you can place them anywhere in the gri When you got your dough, go on with the next sign.]] tutorial.texts.craft3 = -[[Do you got your dough? Good. +NS[[Do you got your dough? Good. You may have noticed that crafting always consumes one item from each occupied slot of the crafting grid. This is true for all crafting recipes. @@ -741,7 +742,7 @@ our book recipe accepts not only white paper, but any paper of that group. Feel free to experiment a bit around with this.]] tutorial.texts.smelt = -[[This is a furnace. Furnaces can be used to turn a smeltable item with help of a fuel +NS[[This is a furnace. Furnaces can be used to turn a smeltable item with help of a fuel to a new item. Many items can be furnace fuels, but not all. A few items are smeltable. In order to operate a furnace, you have to put the smeltable item into the 'Source' slot @@ -766,7 +767,7 @@ Again, this furnace is just an example; the exact operation may differ slightly game to game.]] tutorial.texts.repair = -[[Some games may come with a special recipe which allows you to repair your tools. +NS[[Some games may come with a special recipe which allows you to repair your tools. In those, repairing works always the same way: Place two more or less worn out tools of the same kind into the crafting crid and take the result. The result is a new tool which is slightly repaired by a fixed percentage. @@ -776,7 +777,7 @@ some damaged tools which you may try to repair now.]] tutorial.texts.use = -[=[You will often meet some blocks you can use. Something special happens when you +NS[=[You will often meet some blocks you can use. Something special happens when you right-click while pointing on them. In fact, you already used such blocks: All the signs you read are "usable" blocks. @@ -786,7 +787,7 @@ There is a strange device next to this sign. Use it and see what happens. tutorial.texts.basic_end = -[[If you think you have enough of this tutorial, you can leave at any time. There are +NS[[If you think you have enough of this tutorial, you can leave at any time. There are 13 gold ingots at the stations to be found, to help you keep track. You can find the gold ingots at the following stations: @@ -814,14 +815,14 @@ In the next room there are some further signs with information, but it is entire and not related to gameplay.]] tutorial.texts.first_gold = -[[You have collected your first gold ingot. Those will help you to keep track in this tutorial. +NS[[You have collected your first gold ingot. Those will help you to keep track in this tutorial. There are 13 gold ingots in this tutorial. There is a gold ingot at every important station. If you collected all ingots, you are done with the tutorial, but collecting the gold ingots is not mandatory.]] tutorial.texts.last_gold = -[[You have collected all the gold ingots in this tutorial. +NS[[You have collected all the gold ingots in this tutorial. This means you have now travelled to each station. If you read and understood everything, you have learned everything which can be learned from this tutorial. @@ -836,14 +837,14 @@ If you want to stay, you leave later by pressing [Esc] to open the pause menu an return to the main menu or quit Luanti.]] tutorial.texts.first_diamond = -[[Great, you have found and collected a hidden diamond! In Tutorial World, there are 12 hidden +NS[[Great, you have found and collected a hidden diamond! In Tutorial World, there are 12 hidden diamonds. Can you find them all? The first diamond may have been easy to collect, but the remaining 11 diamonds probably won't be that easy. If you manage to find them all, you will be awarded a symbolic prize.]] tutorial.texts.last_diamond = -[[Congratulations! +NS[[Congratulations! You have collected all the diamonds of Tutorial World! To recognize this achievement, you have been awarded with a diamond cup. It has been placed in @@ -851,7 +852,7 @@ the Good-Bye Room for you.]] tutorial.texts.controls = -[[To recap, here is an overview over the most important default controls: +NS[[To recap, here is an overview over the most important default controls: Move forwards: [W] Move left: [A] @@ -884,7 +885,7 @@ You can review a shorter version of the controls in the pause menu.]] tutorial.texts.online = -[[You may want to check out these online resources related to Luanti: +NS[[You may want to check out these online resources related to Luanti: Official homepage of Luanti: The main place to find the most recent version of Luanti. @@ -932,59 +933,59 @@ tutorial.locations_order = { "intro", "jumpup", "pointing1", "items", "eat", "craft1", "repair", "smelt", "mine", "build", "swim", "dive", "viscosity", "waterfall", "health", "sneak", "goodbye" } -tutorial.register_infosign("intro", "Introduction", tutorial.texts.intro) -tutorial.register_infosign("minetest", "Luanti", tutorial.texts.minetest) -tutorial.register_infosign("cam", "Player Camera", tutorial.texts.cam) -tutorial.register_infosign("minimap", "Minimap", tutorial.texts.minimap) -tutorial.register_infosign("runover", "Small Abysses", tutorial.texts.runover) -tutorial.register_infosign("jumpup", "Jumping (1)", tutorial.texts.jumpup) -tutorial.register_infosign("jumpover", "Jumping (2)", tutorial.texts.jumpover) -tutorial.register_infosign("sneak", "Sneaking", tutorial.texts.sneak) -tutorial.register_infosign("orientation", "Information about the following tutorial sections", tutorial.texts.orientation) -tutorial.register_infosign("hotbar", "Hotbar", tutorial.texts.hotbar) -tutorial.register_infosign("eat", "Comestibles and Eating", tutorial.texts.eat) -tutorial.register_infosign("chest", "Chests", tutorial.texts.chest) -tutorial.register_infosign("damageblock", "Blocks Which Hurt You", tutorial.texts.damageblock) -tutorial.register_infosign("ladder", "Climbing Ladders", tutorial.texts.ladder) -tutorial.register_infosign("swim", "Swimming", tutorial.texts.swim) -tutorial.register_infosign("dive", "Diving", tutorial.texts.dive) -tutorial.register_infosign("waterfall", "Swimming up a Waterfall", tutorial.texts.waterfall) -tutorial.register_infosign("viscosity", "Viscosity", tutorial.texts.viscosity) -tutorial.register_infosign("liquidtypes", "Liquid sources and flowing liquids", tutorial.texts.liquidtypes) -tutorial.register_infosign("pointing1", "Pointing (1)", tutorial.texts.pointing1) -tutorial.register_infosign("pointing2", "Pointing (2)", tutorial.texts.pointing2) -tutorial.register_infosign("health", "Health and Damage", tutorial.texts.health) -tutorial.register_infosign("death", "Death and Respawning", tutorial.texts.death) -tutorial.register_infosign("items", "Items", tutorial.texts.items) -tutorial.register_infosign("tools", "Tools", tutorial.texts.tools) -tutorial.register_infosign("inventory", "Using the Inventory", tutorial.texts.inventory) -tutorial.register_infosign("listrings", "Inventory shortcut", tutorial.texts.listrings) -tutorial.register_infosign("chest", "Comment About Chests", tutorial.texts.chest) -tutorial.register_infosign("build", "Building Some Blocks", tutorial.texts.build) -tutorial.register_infosign("build_special", "Building at Usable Blocks", tutorial.texts.build_special) -tutorial.register_infosign("mine", "Mining blocks", tutorial.texts.mine) -tutorial.register_infosign("mine_cobble", "Mining example: Cobblestone", tutorial.texts.mine_cobble) -tutorial.register_infosign("mine_stone", "Mining example: Stone", tutorial.texts.mine_stone) -tutorial.register_infosign("mine_conglomerate", "Mining example: Conglomerate", tutorial.texts.mine_conglomerate) -tutorial.register_infosign("mine_wood", "Mining example: Wooden Planks", tutorial.texts.mine_wood) -tutorial.register_infosign("mine_glass", "Mining example: Weak glass", tutorial.texts.mine_glass) -tutorial.register_infosign("mine_immortal", "Unminable blocks", tutorial.texts.mine_immortal) -tutorial.register_infosign("blocks", "Special blocks", tutorial.texts.blocks) -tutorial.register_infosign("disable_jump", "No-jumping blocks", tutorial.texts.disable_jump) -tutorial.register_infosign("bouncy", "Bouncy blocks", tutorial.texts.bouncy) -tutorial.register_infosign("falling_node", "Falling blocks", tutorial.texts.falling_node) -tutorial.register_infosign("attached_node", "Attached blocks", tutorial.texts.attached_node) -tutorial.register_infosign("use", "Using blocks", tutorial.texts.use) -tutorial.register_infosign("craft1", "Crafting Basics", tutorial.texts.craft1) -tutorial.register_infosign("craft2", "Crafting using Shapeless Recipes", tutorial.texts.craft2) -tutorial.register_infosign("craft3", "Crafting Faster", tutorial.texts.craft3) -tutorial.register_infosign("craft4", "Crafting Groups", tutorial.texts.craft4) -tutorial.register_infosign("smelt", "Furnace Operation Instructions", tutorial.texts.smelt) -tutorial.register_infosign("repair", "Repairing Tools", tutorial.texts.repair) -tutorial.register_infosign("basic_end", "End of the Basic Tutorial", tutorial.texts.basic_end) -tutorial.register_infosign("controls", "Controls Overview", tutorial.texts.controls) -tutorial.register_infosign("online", "Online Resources", tutorial.texts.online) -tutorial.register_infosign("subgame", "Games", tutorial.texts.subgame) +tutorial.register_infosign("intro", NS"Introduction", tutorial.texts.intro) +tutorial.register_infosign("minetest", NS"Luanti", tutorial.texts.minetest) +tutorial.register_infosign("cam", NS"Player Camera", tutorial.texts.cam) +tutorial.register_infosign("minimap", NS"Minimap", tutorial.texts.minimap) +tutorial.register_infosign("runover", NS"Small Abysses", tutorial.texts.runover) +tutorial.register_infosign("jumpup", NS"Jumping (1)", tutorial.texts.jumpup) +tutorial.register_infosign("jumpover", NS"Jumping (2)", tutorial.texts.jumpover) +tutorial.register_infosign("sneak", NS"Sneaking", tutorial.texts.sneak) +tutorial.register_infosign("orientation", NS"Information about the following tutorial sections", tutorial.texts.orientation) +tutorial.register_infosign("hotbar", NS"Hotbar", tutorial.texts.hotbar) +tutorial.register_infosign("eat", NS"Comestibles and Eating", tutorial.texts.eat) +tutorial.register_infosign("chest", NS"Chests", tutorial.texts.chest) +tutorial.register_infosign("damageblock", NS"Blocks Which Hurt You", tutorial.texts.damageblock) +tutorial.register_infosign("ladder", NS"Climbing Ladders", tutorial.texts.ladder) +tutorial.register_infosign("swim", NS"Swimming", tutorial.texts.swim) +tutorial.register_infosign("dive", NS"Diving", tutorial.texts.dive) +tutorial.register_infosign("waterfall", NS"Swimming up a Waterfall", tutorial.texts.waterfall) +tutorial.register_infosign("viscosity", NS"Viscosity", tutorial.texts.viscosity) +tutorial.register_infosign("liquidtypes", NS"Liquid sources and flowing liquids", tutorial.texts.liquidtypes) +tutorial.register_infosign("pointing1", NS"Pointing (1)", tutorial.texts.pointing1) +tutorial.register_infosign("pointing2", NS"Pointing (2)", tutorial.texts.pointing2) +tutorial.register_infosign("health", NS"Health and Damage", tutorial.texts.health) +tutorial.register_infosign("death", NS"Death and Respawning", tutorial.texts.death) +tutorial.register_infosign("items", NS"Items", tutorial.texts.items) +tutorial.register_infosign("tools", NS"Tools", tutorial.texts.tools) +tutorial.register_infosign("inventory", NS"Using the Inventory", tutorial.texts.inventory) +tutorial.register_infosign("listrings", NS"Inventory shortcut", tutorial.texts.listrings) +tutorial.register_infosign("chest", NS"Comment About Chests", tutorial.texts.chest) +tutorial.register_infosign("build", NS"Building Some Blocks", tutorial.texts.build) +tutorial.register_infosign("build_special", NS"Building at Usable Blocks", tutorial.texts.build_special) +tutorial.register_infosign("mine", NS"Mining blocks", tutorial.texts.mine) +tutorial.register_infosign("mine_cobble", NS"Mining example: Cobblestone", tutorial.texts.mine_cobble) +tutorial.register_infosign("mine_stone", NS"Mining example: Stone", tutorial.texts.mine_stone) +tutorial.register_infosign("mine_conglomerate", NS"Mining example: Conglomerate", tutorial.texts.mine_conglomerate) +tutorial.register_infosign("mine_wood", NS"Mining example: Wooden Planks", tutorial.texts.mine_wood) +tutorial.register_infosign("mine_glass", NS"Mining example: Weak glass", tutorial.texts.mine_glass) +tutorial.register_infosign("mine_immortal", NS"Unminable blocks", tutorial.texts.mine_immortal) +tutorial.register_infosign("blocks", NS"Special blocks", tutorial.texts.blocks) +tutorial.register_infosign("disable_jump", NS"No-jumping blocks", tutorial.texts.disable_jump) +tutorial.register_infosign("bouncy", NS"Bouncy blocks", tutorial.texts.bouncy) +tutorial.register_infosign("falling_node", NS"Falling blocks", tutorial.texts.falling_node) +tutorial.register_infosign("attached_node", NS"Attached blocks", tutorial.texts.attached_node) +tutorial.register_infosign("use", NS"Using blocks", tutorial.texts.use) +tutorial.register_infosign("craft1", NS"Crafting Basics", tutorial.texts.craft1) +tutorial.register_infosign("craft2", NS"Crafting using Shapeless Recipes", tutorial.texts.craft2) +tutorial.register_infosign("craft3", NS"Crafting Faster", tutorial.texts.craft3) +tutorial.register_infosign("craft4", NS"Crafting Groups", tutorial.texts.craft4) +tutorial.register_infosign("smelt", NS"Furnace Operation Instructions", tutorial.texts.smelt) +tutorial.register_infosign("repair", NS"Repairing Tools", tutorial.texts.repair) +tutorial.register_infosign("basic_end", NS"End of the Basic Tutorial", tutorial.texts.basic_end) +tutorial.register_infosign("controls", NS"Controls Overview", tutorial.texts.controls) +tutorial.register_infosign("online", NS"Online Resources", tutorial.texts.online) +tutorial.register_infosign("subgame", NS"Games", tutorial.texts.subgame) minetest.register_node("tutorial:wall", { description = S("reinforced wall"),