aboutsummaryrefslogtreecommitdiff
path: root/src/mg_schematic.h
blob: 5c732648edaadd561bf3451af186e08c243ac21f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
/*
Minetest
Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr@minetest.net>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

#ifndef MG_SCHEMATIC_HEADER
#define MG_SCHEMATIC_HEADER

#include <map>
#include "mg_decoration.h"
#include "util/string.h"

class Map;
class Mapgen;
class MMVManip;
class PseudoRandom;
class NodeResolver;
class IGameDef;

/*
	Minetest Schematic File Format

	All values are stored in big-endian byte order.
	[u32] signature: 'MTSM'
	[u16] version: 4
	[u16] size X
	[u16] size Y
	[u16] size Z
	For each Y:
		[u8] slice probability value
	[Name-ID table] Name ID Mapping Table
		[u16] name-id count
		For each name-id mapping:
			[u16] name length
			[u8[]] name
	ZLib deflated {
	For each node in schematic:  (for z, y, x)
		[u16] content
	For each node in schematic:
		[u8] param1
		  bit 0-6: probability
		  bit 7:   specific node force placement
	For each node in schematic:
		[u8] param2
	}

	Version changes:
	1 - Initial version
	2 - Fixed messy never/always place; 0 probability is now never, 0xFF is always
	3 - Added y-slice probabilities; this allows for variable height structures
	4 - Compressed range of node occurence prob., added per-node force placement bit
*/

//// Schematic constants
#define MTSCHEM_FILE_SIGNATURE 0x4d54534d // 'MTSM'
#define MTSCHEM_FILE_VER_HIGHEST_READ  4
#define MTSCHEM_FILE_VER_HIGHEST_WRITE 4

#define MTSCHEM_PROB_MASK       0x7F

#define MTSCHEM_PROB_NEVER      0x00
#define MTSCHEM_PROB_ALWAYS     0x7F
#define MTSCHEM_PROB_ALWAYS_OLD 0xFF

#define MTSCHEM_FORCE_PLACE     0x80

enum SchematicType
{
	SCHEMATIC_NORMAL,
};

enum SchematicFormatType {
	SCHEM_FMT_HANDLE,
	SCHEM_FMT_MTS,
	SCHEM_FMT_LUA,
};

class Schematic : public ObjDef, public NodeResolver {
public:
	Schematic();
	virtual ~Schematic();

	virtual void resolveNodeNames();

	bool loadSchematicFromFile(const std::string &filename, INodeDefManager *ndef,
		StringMap *replace_names=NULL);
	bool saveSchematicToFile(const std::string &filename, INodeDefManager *ndef);
	bool getSchematicFromMap(Map *map, v3s16 p1, v3s16 p2);

	bool deserializeFromMts(std::istream *is, std::vector<std::string> *names);
	bool serializeToMts(std::ostream *os, const std::vector<std::string> &names);
	bool serializeToLua(std::ostream *os, const std::vector<std::string> &names,
		bool use_comments, u32 indent_spaces);

	void blitToVManip(v3s16 p, MMVManip *vm, Rotation rot, bool force_place);
	void placeStructure(Map *map, v3s16 p, u32 flags, Rotation rot, bool force_place);

	void applyProbabilities(v3s16 p0,
		std::vector<std::pair<v3s16, u8> > *plist,
		std::vector<std::pair<s16, u8> > *splist);

	std::vector<content_t> c_nodes;
	u32 flags;
	v3s16 size;
	MapNode *schemdata;
	u8 *slice_probs;
};

class SchematicManager : public ObjDefManager {
public:
	SchematicManager(IGameDef *gamedef);
	virtual ~SchematicManager() {}

	virtual void clear();

	const char *getObjectTitle() const
	{
		return "schematic";
	}

	static Schematic *create(SchematicType type)
	{
		return new Schematic;
	}

private:
	IGameDef *m_gamedef;
};

void generate_nodelist_and_update_ids(MapNode *nodes, size_t nodecount,
	std::vector<std::string> *usednodes, INodeDefManager *ndef);

#endif
id='n518' href='#n518'>518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088
# German translations for minetest-c55 package.
# Copyright (C) 2011 celeron
# This file is distributed under the same license as the minetest-c55 package.
# Constantin Wenger <constantin.wenger@googlemail.com>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: 0.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-23 17:37+0100\n"
"PO-Revision-Date: 2013-09-09 18:31+0200\n"
"Last-Translator: Pilz Adam <PilzAdam@gmx.de>\n"
"Language-Team: Deutsch <>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 1.7-dev\n"

#: builtin/gamemgr.lua:23
msgid "Game Name"
msgstr "Spielname"

#: builtin/gamemgr.lua:25 builtin/mainmenu.lua:310
msgid "Create"
msgstr "Erstellen"

#: builtin/gamemgr.lua:26 builtin/mainmenu.lua:311 builtin/modmgr.lua:331
#: builtin/modmgr.lua:448 src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
msgid "Cancel"
msgstr "Abbrechen"

#: builtin/gamemgr.lua:118
msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
msgstr "Gamemgr: Kann mod \"$1\" nicht in Spiel \"$2\" kopieren"

#: builtin/gamemgr.lua:216
msgid "GAMES"
msgstr "SPIELE"

#: builtin/gamemgr.lua:217 builtin/mainmenu.lua:1076
msgid "Games"
msgstr "Spiele"

#: builtin/gamemgr.lua:234
msgid "Mods:"
msgstr "Mods:"

#: builtin/gamemgr.lua:235
msgid "edit game"
msgstr "Spiel ändern"

#: builtin/gamemgr.lua:238
msgid "new game"
msgstr "neues Spiel"

#: builtin/gamemgr.lua:248
msgid "EDIT GAME"
msgstr "SPIEL ÄNDERN"

#: builtin/gamemgr.lua:269
msgid "Remove selected mod"
msgstr "Ausgewählte Mod löschen"

#: builtin/gamemgr.lua:272
msgid "<<-- Add mod"
msgstr "<<-- Mod hinzufügen"

#: builtin/mainmenu.lua:158
msgid "Ok"
msgstr "Ok"

#: builtin/mainmenu.lua:297
msgid "World name"
msgstr "Weltname"

#: builtin/mainmenu.lua:300
msgid "Seed"
msgstr ""

#: builtin/mainmenu.lua:303
msgid "Mapgen"
msgstr "Weltgenerator"

#: builtin/mainmenu.lua:306
msgid "Game"
msgstr "Spiel"

#: builtin/mainmenu.lua:319
msgid "Delete World \"$1\"?"
msgstr "Welt \"$1\" löschen?"

#: builtin/mainmenu.lua:320 builtin/modmgr.lua:877
msgid "Yes"
msgstr "Ja"

#: builtin/mainmenu.lua:321
msgid "No"
msgstr "Nein"

#: builtin/mainmenu.lua:364
msgid "A world named \"$1\" already exists"
msgstr "Eine Welt namens \"$1\" existiert bereits"

#: builtin/mainmenu.lua:381
msgid "No worldname given or no game selected"
msgstr "Keine Weltname gegeben oder kein Spiel ausgewählt"

#: builtin/mainmenu.lua:650
msgid "To enable shaders the OpenGL driver needs to be used."
msgstr ""

#: builtin/mainmenu.lua:818
msgid "CLIENT"
msgstr "CLIENT"

#: builtin/mainmenu.lua:819
msgid "Favorites:"
msgstr "Favoriten:"

#: builtin/mainmenu.lua:820
msgid "Address/Port"
msgstr "Adresse / Port"

#: builtin/mainmenu.lua:821
msgid "Name/Password"
msgstr "Name/Passwort"

#: builtin/mainmenu.lua:824
msgid "Public Serverlist"
msgstr "Öffentliche Serverliste"

#: builtin/mainmenu.lua:829 builtin/mainmenu.lua:874 builtin/mainmenu.lua:937
#: src/keycode.cpp:229
msgid "Delete"
msgstr "Entfernen"

#: builtin/mainmenu.lua:833
msgid "Connect"
msgstr "Verbinden"

#: builtin/mainmenu.lua:875 builtin/mainmenu.lua:938
msgid "New"
msgstr "Neu"

#: builtin/mainmenu.lua:876 builtin/mainmenu.lua:939
msgid "Configure"
msgstr "Konfigurieren"

#: builtin/mainmenu.lua:877
msgid "Start Game"
msgstr "Spiel starten"

#: builtin/mainmenu.lua:878 builtin/mainmenu.lua:941
msgid "Select World:"
msgstr "Welt wählen:"

#: builtin/mainmenu.lua:879
msgid "START SERVER"
msgstr "SERVER STARTEN"

#: builtin/mainmenu.lua:880 builtin/mainmenu.lua:943
msgid "Creative Mode"
msgstr "Kreativitätsmodus"

#: builtin/mainmenu.lua:882 builtin/mainmenu.lua:945
msgid "Enable Damage"
msgstr "Schaden einschalten"

#: builtin/mainmenu.lua:884
msgid "Public"
msgstr "Öffentlich"

#: builtin/mainmenu.lua:886
msgid "Name"
msgstr "Name"

#: builtin/mainmenu.lua:888
msgid "Password"
msgstr "Passwort"

#: builtin/mainmenu.lua:889
msgid "Server Port"
msgstr "Server Port"

#: builtin/mainmenu.lua:899
msgid "SETTINGS"
msgstr "EINSTELLUNGEN"

#: builtin/mainmenu.lua:900
msgid "Fancy trees"
msgstr "Schöne Bäume"

#: builtin/mainmenu.lua:902
msgid "Smooth Lighting"
msgstr "Besseres Licht"

#: builtin/mainmenu.lua:904
msgid "3D Clouds"
msgstr "3D Wolken"

#: builtin/mainmenu.lua:906
msgid "Opaque Water"
msgstr "Undurchs. Wasser"

#: builtin/mainmenu.lua:909
msgid "Mip-Mapping"
msgstr "Mip-Mapping"

#: builtin/mainmenu.lua:911
msgid "Anisotropic Filtering"
msgstr "Anisotroper Filter"

#: builtin/mainmenu.lua:913
msgid "Bi-Linear Filtering"
msgstr "Bi-Linearer Filter"

#: builtin/mainmenu.lua:915
msgid "Tri-Linear Filtering"
msgstr "Tri-Linearer Filter"

#: builtin/mainmenu.lua:918
msgid "Shaders"
msgstr "Shader"

#: builtin/mainmenu.lua:920
msgid "Preload item visuals"
msgstr "Lade Inventarbilder vor"

#: builtin/mainmenu.lua:922
msgid "Enable Particles"
msgstr "Aktiviere Partikel"

#: builtin/mainmenu.lua:924
msgid "Finite Liquid"
msgstr "Endliches Wasser"

#: builtin/mainmenu.lua:927
msgid "Change keys"
msgstr "Tasten ändern"

#: builtin/mainmenu.lua:940 src/keycode.cpp:248
msgid "Play"
msgstr "Spielen"

#: builtin/mainmenu.lua:942
msgid "SINGLE PLAYER"
msgstr "EINZELSPIELER"

#: builtin/mainmenu.lua:955
msgid "Select texture pack:"
msgstr "Texturen Paket auswählen:"

#: builtin/mainmenu.lua:956
msgid "TEXTURE PACKS"
msgstr "TEXTUREN PAKETE"

#: builtin/mainmenu.lua:976
msgid "No information available"
msgstr "Keine Informationen vorhanden"

#: builtin/mainmenu.lua:1005
msgid "Core Developers"
msgstr "Core Entwickler"

#: builtin/mainmenu.lua:1020
msgid "Active Contributors"
msgstr "Aktive Mitwirkende"

#: builtin/mainmenu.lua:1028
msgid "Previous Contributors"
msgstr "Frühere Mitwirkende"

#: builtin/mainmenu.lua:1069
msgid "Singleplayer"
msgstr "Einzelspieler"

#: builtin/mainmenu.lua:1070
msgid "Client"
msgstr "Client"

#: builtin/mainmenu.lua:1071
msgid "Server"
msgstr "Server"

#: builtin/mainmenu.lua:1072
msgid "Settings"
msgstr "Einstellungen"

#: builtin/mainmenu.lua:1073
msgid "Texture Packs"
msgstr "Texturen Pakete"

#: builtin/mainmenu.lua:1080
msgid "Mods"
msgstr "Mods"

#: builtin/mainmenu.lua:1082
msgid "Credits"
msgstr "Credits"

#: builtin/modmgr.lua:236
msgid "MODS"
msgstr "MODS"

#: builtin/modmgr.lua:237
msgid "Installed Mods:"
msgstr "Installierte Mods:"

#: builtin/modmgr.lua:243
#, fuzzy
msgid "Add mod:"
msgstr "<<-- Mod hinzufügen"

#: builtin/modmgr.lua:244
#, fuzzy
msgid "Local install"
msgstr "Installieren"

#: builtin/modmgr.lua:245
msgid "Online mod repository"
msgstr ""

#: builtin/modmgr.lua:284
#, fuzzy
msgid "No mod description available"
msgstr "Keine Informationen vorhanden"

#: builtin/modmgr.lua:288
#, fuzzy
msgid "Mod information:"
msgstr "Keine Informationen vorhanden"

#: builtin/modmgr.lua:299
msgid "Rename"
msgstr "Umbenennen"

#: builtin/modmgr.lua:301
msgid "Uninstall selected modpack"
msgstr ""

#: builtin/modmgr.lua:312
#, fuzzy
msgid "Uninstall selected mod"
msgstr "Ausgewählte Mod löschen"

#: builtin/modmgr.lua:324
msgid "Rename Modpack:"
msgstr "Modpack umbenennen:"

#: builtin/modmgr.lua:329 src/keycode.cpp:227
msgid "Accept"
msgstr "Annehmen"

#: builtin/modmgr.lua:423
msgid "World:"
msgstr "Welt:"

#: builtin/modmgr.lua:427 builtin/modmgr.lua:429
msgid "Hide Game"
msgstr "Spiel verstecken"

#: builtin/modmgr.lua:433 builtin/modmgr.lua:435
msgid "Hide mp content"
msgstr "MP mods verstecken"

#: builtin/modmgr.lua:442
msgid "Mod:"
msgstr "Mod:"

#: builtin/modmgr.lua:444
msgid "Depends:"
msgstr "Abhängig von:"

#: builtin/modmgr.lua:447 src/guiKeyChangeMenu.cpp:187
msgid "Save"
msgstr "Speichern"

#: builtin/modmgr.lua:464
msgid "Enable MP"
msgstr "MP aktivieren"

#: builtin/modmgr.lua:466
msgid "Disable MP"
msgstr "MP deaktivieren"

#: builtin/modmgr.lua:470 builtin/modmgr.lua:472
msgid "enabled"
msgstr "Aktiviert"

#: builtin/modmgr.lua:478
msgid "Enable all"
msgstr "Alle an"

#: builtin/modmgr.lua:577
msgid "Select Mod File:"
msgstr "Mod Datei auswählen:"

#: builtin/modmgr.lua:616
msgid "Install Mod: file: \"$1\""
msgstr "Mod installieren: Datei: \"$1\""

#: builtin/modmgr.lua:617
msgid ""
"\n"
"Install Mod: unsupported filetype \"$1\""
msgstr ""
"\n"
"Mod installieren: Nicht unterstützter Dateityp \"$1\""

#: builtin/modmgr.lua:638
msgid "Failed to install $1 to $2"
msgstr "Fehler beim installieren von $1 zu $2"

#: builtin/modmgr.lua:641
msgid "Install Mod: unable to find suitable foldername for modpack $1"
msgstr "Mod installieren: Kann keinen Ordnernamen für Modpack $1 finden"

#: builtin/modmgr.lua:661
msgid "Install Mod: unable to find real modname for: $1"
msgstr "Mod installieren: Kann echten Namen für $1 nicht finden"

#: builtin/modmgr.lua:855
msgid "Modmgr: failed to delete \"$1\""
msgstr "Modmgr: Fehler beim löschen von \"$1\""

#: builtin/modmgr.lua:859
msgid "Modmgr: invalid modpath \"$1\""
msgstr "Modmgr: Unzulässiger Modpfad \"$1\""

#: builtin/modmgr.lua:876
msgid "Are you sure you want to delete \"$1\"?"
msgstr "\"$1\" wirklich löschen?"

#: builtin/modmgr.lua:878
msgid "No of course not!"
msgstr "Nein, natürlich nicht!"

#: builtin/modstore.lua:183
msgid "Page $1 of $2"
msgstr "Seite $1 von $2"

#: builtin/modstore.lua:243
msgid "Rating"
msgstr "Bewertung"

#: builtin/modstore.lua:251
msgid "re-Install"
msgstr "erneut installieren"

#: builtin/modstore.lua:253
msgid "Install"
msgstr "Installieren"

#: src/client.cpp:2917
msgid "Item textures..."
msgstr "Inventarbilder..."

#: src/game.cpp:940
msgid "Loading..."
msgstr "Lädt..."

#: src/game.cpp:1000
msgid "Creating server...."
msgstr "Erstelle Server..."

#: src/game.cpp:1016
msgid "Creating client..."
msgstr "Erstelle Client..."

#: src/game.cpp:1025
msgid "Resolving address..."
msgstr "Löse Adresse auf..."

#: src/game.cpp:1122
msgid "Connecting to server..."
msgstr "Verbinde zum Server..."

#: src/game.cpp:1219
msgid "Item definitions..."
msgstr "Item Definitionen..."

#: src/game.cpp:1226
msgid "Node definitions..."
msgstr "Node Definitionen..."

#: src/game.cpp:1233
msgid "Media..."
msgstr "Medien..."

#: src/game.cpp:3409
msgid "Shutting down stuff..."
msgstr "Herunterfahren..."

#: src/game.cpp:3439
msgid ""
"\n"
"Check debug.txt for details."
msgstr ""
"\n"
"Siehe debug.txt für Details."

#: src/guiDeathScreen.cpp:96
msgid "You died."
msgstr "Sie sind gestorben."

#: src/guiDeathScreen.cpp:104
msgid "Respawn"
msgstr "Wiederbeleben"

#: src/guiFormSpecMenu.cpp:1656 src/guiMessageMenu.cpp:107
#: src/guiTextInputMenu.cpp:139
msgid "Proceed"
msgstr "Fortsetzen"

#: src/guiKeyChangeMenu.cpp:121
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
msgstr "Steuerung"

#: src/guiKeyChangeMenu.cpp:161
msgid "\"Use\" = climb down"
msgstr "\"Benutzen\" = herunterklettern"

#: src/guiKeyChangeMenu.cpp:176
msgid "Double tap \"jump\" to toggle fly"
msgstr "Doppelt \"springen\" zum fliegen"

#: src/guiKeyChangeMenu.cpp:288
msgid "Key already in use"
msgstr "Taste bereits in Benutzung"

#: src/guiKeyChangeMenu.cpp:363
msgid "press key"
msgstr "Taste drücken"

#: src/guiKeyChangeMenu.cpp:389
msgid "Forward"
msgstr "Vorwärts"

#: src/guiKeyChangeMenu.cpp:390
msgid "Backward"
msgstr "Rückwärts"

#: src/guiKeyChangeMenu.cpp:391 src/keycode.cpp:228
msgid "Left"
msgstr "Links"

#: src/guiKeyChangeMenu.cpp:392 src/keycode.cpp:228
msgid "Right"
msgstr "Rechts"

#: src/guiKeyChangeMenu.cpp:393
msgid "Use"
msgstr "Benutzen"

#: src/guiKeyChangeMenu.cpp:394
msgid "Jump"
msgstr "Springen"

#: src/guiKeyChangeMenu.cpp:395
msgid "Sneak"
msgstr "Schleichen"

#: src/guiKeyChangeMenu.cpp:396
msgid "Drop"
msgstr "Wegwerfen"

#: src/guiKeyChangeMenu.cpp:397
msgid "Inventory"
msgstr "Inventar"

#: src/guiKeyChangeMenu.cpp:398
msgid "Chat"
msgstr "Chat"

#: src/guiKeyChangeMenu.cpp:399
msgid "Command"
msgstr "Befehl"

#: src/guiKeyChangeMenu.cpp:400
msgid "Console"
msgstr "Konsole"

#: src/guiKeyChangeMenu.cpp:401
msgid "Toggle fly"
msgstr "Fliegen umsch."

#: src/guiKeyChangeMenu.cpp:402
msgid "Toggle fast"
msgstr "Speed umsch."

#: src/guiKeyChangeMenu.cpp:403
msgid "Toggle noclip"
msgstr "Noclip umsch."

#: src/guiKeyChangeMenu.cpp:404
msgid "Range select"
msgstr "Entfernung wählen"

#: src/guiKeyChangeMenu.cpp:405
msgid "Print stacks"
msgstr "Stack ausgeben"

#: src/guiPasswordChange.cpp:106
msgid "Old Password"
msgstr "Altes Passwort"

#: src/guiPasswordChange.cpp:122
msgid "New Password"
msgstr "Neues Passwort"

#: src/guiPasswordChange.cpp:137
msgid "Confirm Password"
msgstr "Passwort wiederholen"

#: src/guiPasswordChange.cpp:153
msgid "Change"
msgstr "Ändern"

#: src/guiPasswordChange.cpp:162
msgid "Passwords do not match!"
msgstr "Passwörter passen nicht zusammen!"

#: src/guiPauseMenu.cpp:122
msgid "Continue"
msgstr "Weiter"

#: src/guiPauseMenu.cpp:133
msgid "Change Password"
msgstr "Passwort ändern"

#: src/guiPauseMenu.cpp:143
msgid "Sound Volume"
msgstr "Sound Lautstärke"

#: src/guiPauseMenu.cpp:152
msgid "Exit to Menu"
msgstr "Hauptmenü"

#: src/guiPauseMenu.cpp:161
msgid "Exit to OS"
msgstr "Programm beenden"

#: src/guiPauseMenu.cpp:170
msgid ""
"Default Controls:\n"
"- WASD: move\n"
"- Space: jump/climb\n"
"- Shift: sneak/go down\n"
"- Q: drop item\n"
"- I: inventory\n"
"- Mouse: turn/look\n"
"- Mouse left: dig/punch\n"
"- Mouse right: place/use\n"
"- Mouse wheel: select item\n"
"- T: chat\n"
msgstr ""
"Standard Tastaturebelegung:\n"
"- WASD: Bewegen\n"
"- Leertaste: Springen/Klettern\n"
"- Umschalt: Kriechen/herunterklettern\n"
"- Q: Item droppen\n"
"- I: Inventar\n"
"- Maus: drehen/umschauen\n"
"- Maus links: Abbauen/Schlagen\n"
"- Maus rechts: Platzieren/Benutzen\n"
"- Mausrad: Item auswählen\n"
"- T: Chat\n"

#: src/guiVolumeChange.cpp:107
msgid "Sound Volume: "
msgstr "Sound Lautstärke: "

#: src/guiVolumeChange.cpp:121
msgid "Exit"
msgstr "Zurück"

#: src/keycode.cpp:223
msgid "Left Button"
msgstr "Linke Taste"

#: src/keycode.cpp:223
msgid "Middle Button"
msgstr "Mittlere Taste"

#: src/keycode.cpp:223
msgid "Right Button"
msgstr "Rechte Taste"

#: src/keycode.cpp:223
msgid "X Button 1"
msgstr "X Knopf 1"

#: src/keycode.cpp:224
msgid "Back"
msgstr "Rücktaste"

#: src/keycode.cpp:224
msgid "Clear"
msgstr "löschen"

#: src/keycode.cpp:224
msgid "Return"
msgstr "Enter"

#: src/keycode.cpp:224
msgid "Tab"
msgstr "Tab"

#: src/keycode.cpp:224
msgid "X Button 2"
msgstr "X Knopf 2"

#: src/keycode.cpp:225
msgid "Capital"
msgstr "Feststellen"

#: src/keycode.cpp:225
msgid "Control"
msgstr "Strg"

#: src/keycode.cpp:225
msgid "Kana"
msgstr "Kana"

#: src/keycode.cpp:225
msgid "Menu"
msgstr "Menü"

#: src/keycode.cpp:225
msgid "Pause"
msgstr "Pause"

#: src/keycode.cpp:225
msgid "Shift"
msgstr "Umsch."

#: src/keycode.cpp:226
msgid "Convert"
msgstr "Konvertieren"

#: src/keycode.cpp:226
msgid "Escape"
msgstr "Escape"

#: src/keycode.cpp:226
msgid "Final"
msgstr "Final"

#: src/keycode.cpp:226
msgid "Junja"
msgstr "Junja"

#: src/keycode.cpp:226
msgid "Kanji"
msgstr "Kanji"

#: src/keycode.cpp:226
msgid "Nonconvert"
msgstr "nicht konvertieren"

#: src/keycode.cpp:227
msgid "End"
msgstr "Ende"

#: src/keycode.cpp:227
msgid "Home"
msgstr "Pos1"

#: src/keycode.cpp:227
msgid "Mode Change"
msgstr "Modus-Änderung"

#: src/keycode.cpp:227
msgid "Next"
msgstr "Bild runter"

#: src/keycode.cpp:227
msgid "Prior"
msgstr "Bild hoch"

#: src/keycode.cpp:227
msgid "Space"
msgstr "Leertaste"

#: src/keycode.cpp:228
msgid "Down"
msgstr "Runter"

#: src/keycode.cpp:228
msgid "Execute"
msgstr "Ausführen"

#: src/keycode.cpp:228
msgid "Print"
msgstr "Druck"

#: src/keycode.cpp:228
msgid "Select"
msgstr "Selektiere"

#: src/keycode.cpp:228
msgid "Up"
msgstr "Hoch"

#: src/keycode.cpp:229
msgid "Help"
msgstr "Hilfe"

#: src/keycode.cpp:229
msgid "Insert"
msgstr "Einfg"

#: src/keycode.cpp:229
msgid "Snapshot"
msgstr "Druck"

#: src/keycode.cpp:232
msgid "Left Windows"
msgstr "Win links"

#: src/keycode.cpp:233
msgid "Apps"
msgstr "Apps"

#: src/keycode.cpp:233
msgid "Numpad 0"
msgstr "Ziffernblock 0"

#: src/keycode.cpp:233
msgid "Numpad 1"
msgstr "Ziffernblock 1"

#: src/keycode.cpp:233
msgid "Right Windows"
msgstr "Win rechts"

#: src/keycode.cpp:233
msgid "Sleep"
msgstr "Schlaf"

#: src/keycode.cpp:234
msgid "Numpad 2"
msgstr "Ziffernblock 2"

#: src/keycode.cpp:234
msgid "Numpad 3"
msgstr "Ziffernblock 3"

#: src/keycode.cpp:234
msgid "Numpad 4"
msgstr "Ziffernblock 4"

#: src/keycode.cpp:234
msgid "Numpad 5"
msgstr "Ziffernblock 5"

#: src/keycode.cpp:234
msgid "Numpad 6"
msgstr "Ziffernblock 6"

#: src/keycode.cpp:234
msgid "Numpad 7"
msgstr "Ziffernblock 7"

#: src/keycode.cpp:235
msgid "Numpad *"
msgstr "Ziffernblock *"

#: src/keycode.cpp:235
msgid "Numpad +"
msgstr "Ziffernblock +"

#: src/keycode.cpp:235
msgid "Numpad -"
msgstr "Ziffernblock -"

#: src/keycode.cpp:235
msgid "Numpad /"
msgstr "Ziffernblock /"

#: src/keycode.cpp:235
msgid "Numpad 8"
msgstr "Ziffernblock 8"

#: src/keycode.cpp:235
msgid "Numpad 9"
msgstr "Ziffernblock 9"

#: src/keycode.cpp:239
msgid "Num Lock"
msgstr "Num"

#: src/keycode.cpp:239
msgid "Scroll Lock"
msgstr "Rollen"

#: src/keycode.cpp:240
msgid "Left Shift"
msgstr "Umsch. links"

#: src/keycode.cpp:240
msgid "Right Shift"
msgstr "Umsch. rechts"

#: src/keycode.cpp:241
msgid "Left Control"
msgstr "Strg links"

#: src/keycode.cpp:241
msgid "Left Menu"
msgstr "Alt"

#: src/keycode.cpp:241
msgid "Right Control"
msgstr "Strg rechts"

#: src/keycode.cpp:241
msgid "Right Menu"
msgstr "Alt Gr"

#: src/keycode.cpp:243
msgid "Comma"
msgstr "Komma"

#: src/keycode.cpp:243
msgid "Minus"
msgstr "Minus"

#: src/keycode.cpp:243
msgid "Period"
msgstr "Punkt"

#: src/keycode.cpp:243
msgid "Plus"
msgstr "Plus"

#: src/keycode.cpp:247
msgid "Attn"
msgstr "Attn."

#: src/keycode.cpp:247
msgid "CrSel"
msgstr "CrSel"

#: src/keycode.cpp:248
msgid "Erase OEF"
msgstr "Lösche OEF"

#: src/keycode.cpp:248
msgid "ExSel"
msgstr "ExSel"

#: src/keycode.cpp:248
msgid "OEM Clear"
msgstr "OEM Clear"

#: src/keycode.cpp:248
msgid "PA1"
msgstr "PA1"

#: src/keycode.cpp:248
msgid "Zoom"
msgstr "Zoom"

#: src/main.cpp:1472
msgid "needs_fallback_font"
msgstr "no"

#: src/main.cpp:1547
msgid "Main Menu"
msgstr "Hauptmenü"

#: src/main.cpp:1723
msgid "No world selected and no address provided. Nothing to do."
msgstr "Keine Welt ausgewählt und keine Adresse angegeben. Nichts zu tun."

#: src/main.cpp:1731
msgid "Could not find or load game \""
msgstr "Kann Spiel nicht finden/laden \""

#: src/main.cpp:1745
msgid "Invalid gamespec."
msgstr "Invalide Spielspezif."

#: src/main.cpp:1790
msgid "Connection error (timed out?)"
msgstr "Verbindungsfehler (Zeitüberschreitung?)"

#~ msgid ""
#~ "Warning: Some mods are not configured yet.\n"
#~ "They will be enabled by default when you save the configuration.  "
#~ msgstr ""
#~ "Warnung: Einige Mods sind noch nicht konfiguriert.\n"
#~ "Sie werden aktiviert wenn die Konfiguration gespeichert wird.  "

#~ msgid ""
#~ "Warning: Some configured mods are missing.\n"
#~ "Their setting will be removed when you save the configuration.  "
#~ msgstr ""
#~ "Warnung: Einige konfigurierte Mods fehlen.\n"
#~ "Mod Einstellungen werden gelöscht wenn die Konfiguration gespeichert "
#~ "wird.  "

#~ msgid "KEYBINDINGS"
#~ msgstr "TASTEN EINST."

#~ msgid "Delete map"
#~ msgstr "Karte löschen"

#~ msgid ""
#~ "Default Controls:\n"
#~ "- WASD: Walk\n"
#~ "- Mouse left: dig/hit\n"
#~ "- Mouse right: place/use\n"
#~ "- Mouse wheel: select item\n"
#~ "- 0...9: select item\n"
#~ "- Shift: sneak\n"
#~ "- R: Toggle viewing all loaded chunks\n"
#~ "- I: Inventory menu\n"
#~ "- ESC: This menu\n"
#~ "- T: Chat\n"
#~ msgstr ""
#~ "Steuerung:\n"
#~ "- WASD: Gehen\n"
#~ "- Linksklick: Graben/Schlagen\n"
#~ "- Rechtsklick: Platzieren\n"
#~ "- Mausrad: Item auswählen\n"
#~ "- 0...9: Item auswählen\n"
#~ "- Shift: Schleichen\n"
#~ "- R: alle geladenen Blöcke anzeigen (wechseln)\n"
#~ "- I: Inventar\n"
#~ "- T: Chat\n"

#~ msgid "Failed to delete all world files"
#~ msgstr "Es konnten nicht alle Welt Dateien gelöscht werden"

#~ msgid "Cannot configure world: Nothing selected"
#~ msgstr "Kann Welt nicht konfigurieren: Nichts ausgewählt"

#~ msgid "Cannot create world: No games found"
#~ msgstr "Kann Welt nicht erstellen: Keine Spiele gefunden"

#~ msgid "Files to be deleted"
#~ msgstr "Zu löschende Dateien"

#~ msgid "Cannot delete world: Nothing selected"
#~ msgstr "Kann Welt nicht löchen: Nichts ausgewählt"

#~ msgid "Address required."
#~ msgstr "Adresse benötigt."

#~ msgid "Create world"
#~ msgstr "Welt erstellen"

#~ msgid "Leave address blank to start a local server."
#~ msgstr "Lasse die Adresse frei um einen eigenen Server zu starten."

#~ msgid "Show Favorites"
#~ msgstr "Zeige Favoriten"

#~ msgid "Show Public"
#~ msgstr "Zeige öffentliche"

#~ msgid "Advanced"
#~ msgstr "Erweitert"

#~ msgid "Multiplayer"
#~ msgstr "Mehrspieler"

#~ msgid "Cannot create world: Name contains invalid characters"
#~ msgstr "Kann Welt nicht erstellen: Name enthält ungültige Zeichen"

#~ msgid "Warning: Configuration not consistent.  "
#~ msgstr "Warnung: Konfiguration nicht konsistent.  "

#~ msgid "Configuration saved.  "
#~ msgstr "Konfiguration gespeichert.  "

#~ msgid "is required by:"
#~ msgstr "wird benötigt von:"

#~ msgid "Left click: Move all items, Right click: Move single item"
#~ msgstr "Linksklick: Alle Items bewegen, Rechtsklick: Einzelnes Item bewegen"

#~ msgid "Download"
#~ msgstr "Runterladen"