aboutsummaryrefslogtreecommitdiff
path: root/src/intlGUIEditBox.h
blob: e3ee15a30853e70f1650a26ec402aab0e9ade53c (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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
// Copyright (C) 2002-2013 Nikolaus Gebhardt
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h

#ifndef __C_INTL_GUI_EDIT_BOX_H_INCLUDED__
#define __C_INTL_GUI_EDIT_BOX_H_INCLUDED__

#include "IrrCompileConfig.h"
//#ifdef _IRR_COMPILE_WITH_GUI_

#include "IGUIEditBox.h"
#include "irrArray.h"
#include "IOSOperator.h"

namespace irr
{
namespace gui
{
	class intlGUIEditBox : public IGUIEditBox
	{
	public:

		//! constructor
		intlGUIEditBox(const wchar_t* text, bool border, IGUIEnvironment* environment,
			IGUIElement* parent, s32 id, const core::rect<s32>& rectangle);

		//! destructor
		virtual ~intlGUIEditBox();

		//! Sets another skin independent font.
		virtual void setOverrideFont(IGUIFont* font=0);

		//! Gets the override font (if any)
		/** \return The override font (may be 0) */
		virtual IGUIFont* getOverrideFont() const;

		//! Get the font which is used right now for drawing
		/** Currently this is the override font when one is set and the
		font of the active skin otherwise */
		virtual IGUIFont* getActiveFont() const;

		//! Sets another color for the text.
		virtual void setOverrideColor(video::SColor color);

		//! Gets the override color
		virtual video::SColor getOverrideColor() const;

		//! Sets if the text should use the overide color or the
		//! color in the gui skin.
		virtual void enableOverrideColor(bool enable);

		//! Checks if an override color is enabled
		/** \return true if the override color is enabled, false otherwise */
		virtual bool isOverrideColorEnabled(void) const;

		//! Sets whether to draw the background
		virtual void setDrawBackground(bool draw);

		//! Turns the border on or off
		virtual void setDrawBorder(bool border);

		//! Enables or disables word wrap for using the edit box as multiline text editor.
		virtual void setWordWrap(bool enable);

		//! Checks if word wrap is enabled
		//! \return true if word wrap is enabled, false otherwise
		virtual bool isWordWrapEnabled() const;

		//! Enables or disables newlines.
		/** \param enable: If set to true, the EGET_EDITBOX_ENTER event will not be fired,
		instead a newline character will be inserted. */
		virtual void setMultiLine(bool enable);

		//! Checks if multi line editing is enabled
		//! \return true if mult-line is enabled, false otherwise
		virtual bool isMultiLineEnabled() const;

		//! Enables or disables automatic scrolling with cursor position
		//! \param enable: If set to true, the text will move around with the cursor position
		virtual void setAutoScroll(bool enable);

		//! Checks to see if automatic scrolling is enabled
		//! \return true if automatic scrolling is enabled, false if not
		virtual bool isAutoScrollEnabled() const;

		//! Gets the size area of the text in the edit box
		//! \return Returns the size in pixels of the text
		virtual core::dimension2du getTextDimension();

		//! Sets text justification
		virtual void setTextAlignment(EGUI_ALIGNMENT horizontal, EGUI_ALIGNMENT vertical);

		//! called if an event happened.
		virtual bool OnEvent(const SEvent& event);

		//! draws the element and its children
		virtual void draw();

		//! Sets the new caption of this element.
		virtual void setText(const wchar_t* text);

		//! Sets the maximum amount of characters which may be entered in the box.
		//! \param max: Maximum amount of characters. If 0, the character amount is
		//! infinity.
		virtual void setMax(u32 max);

		//! Returns maximum amount of characters, previously set by setMax();
		virtual u32 getMax() const;

		//! Sets whether the edit box is a password box. Setting this to true will
		/** disable MultiLine, WordWrap and the ability to copy with ctrl+c or ctrl+x
		\param passwordBox: true to enable password, false to disable
		\param passwordChar: the character that is displayed instead of letters */
		virtual void setPasswordBox(bool passwordBox, wchar_t passwordChar = L'*');

		//! Returns true if the edit box is currently a password box.
		virtual bool isPasswordBox() const;

		//! Updates the absolute position, splits text if required
		virtual void updateAbsolutePosition();

		//! Writes attributes of the element.
		virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) const;

		//! Reads attributes of the element
		virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options);

	protected:
		//! Breaks the single text line.
		void breakText();
		//! sets the area of the given line
		void setTextRect(s32 line);
		//! returns the line number that the cursor is on
		s32 getLineFromPos(s32 pos);
		//! adds a letter to the edit box
		void inputChar(wchar_t c);
		//! calculates the current scroll position
		void calculateScrollPos();
		//! send some gui event to parent
		void sendGuiEvent(EGUI_EVENT_TYPE type);
		//! set text markers
		void setTextMarkers(s32 begin, s32 end);

		bool processKey(const SEvent& event);
		bool processMouse(const SEvent& event);
		s32 getCursorPos(s32 x, s32 y);

		bool MouseMarking;
		bool Border;
		bool OverrideColorEnabled;
		s32 MarkBegin;
		s32 MarkEnd;

		video::SColor OverrideColor;
		gui::IGUIFont *OverrideFont, *LastBreakFont;
		IOSOperator* Operator;

		u32 BlinkStartTime;
		s32 CursorPos;
		s32 HScrollPos, VScrollPos; // scroll position in characters
		u32 Max;

		bool WordWrap, MultiLine, AutoScroll, PasswordBox;
		wchar_t PasswordChar;
		EGUI_ALIGNMENT HAlign, VAlign;

		core::array< core::stringw > BrokenText;
		core::array< s32 > BrokenTextPositions;

		core::rect<s32> CurrentTextRect, FrameRect; // temporary values
	};


} // end namespace gui
} // end namespace irr

//#endif // _IRR_COMPILE_WITH_GUI_
#endif // __C_GUI_EDIT_BOX_H_INCLUDED__
/span>("Always fly and fast"); gettext("If disabled \"use\" key is used to fly fast if both fly and fast mode are enabled."); gettext("Rightclick repetition interval"); gettext("The time in seconds it takes between repeated right clicks when holding the right mouse button."); gettext("Random input"); gettext("Enable random user input (only used for testing)."); gettext("Continuous forward"); gettext("Continuous forward movement (only used for testing)."); gettext("Forward key"); gettext("Key for moving the player forward.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Backward key"); gettext("Key for moving the player backward.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Left key"); gettext("Key for moving the player left.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Right key"); gettext("Key for moving the player right.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Jump key"); gettext("Key for jumping.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Sneak key"); gettext("Key for sneaking.\nAlso used for climbing down and descending in water if aux1_descends is disabled.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Inventory key"); gettext("Key for opening the inventory.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Use key"); gettext("Key for moving fast in fast mode.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Chat key"); gettext("Key for opening the chat window.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Command key"); gettext("Key for opening the chat window to type commands.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Console key"); gettext("Key for opening the chat console.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Range select key"); gettext("Key for toggling unlimited view range.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Fly key"); gettext("Key for toggling flying.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Fast key"); gettext("Key for toggling fast mode.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Noclip key"); gettext("Key for toggling noclip mode.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Cinematic mode key"); gettext("Key for toggling cinematic mode.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Minimap key"); gettext("Key for toggling display of minimap.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Screenshot"); gettext("Key for taking screenshots.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Drop item key"); gettext("Key for dropping the currently selected item.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("HUD toggle key"); gettext("Key for toggling the display of the HUD.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Chat toggle key"); gettext("Key for toggling the display of the chat.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Fog toggle key"); gettext("Key for toggling the display of the fog.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Camera update toggle key"); gettext("Key for toggling the camrea update. Only used for development\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Debug info toggle key"); gettext("Key for toggling the display of debug info.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Profiler toggle key"); gettext("Key for toggling the display of the profiler. Used for development.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Toggle camera mode key"); gettext("Key for switching between first- and third-person camera.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("View range increase key"); gettext("Key for increasing the viewing range. Modifies the minimum viewing range.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("View range decrease key"); gettext("Key for decreasing the viewing range. Modifies the minimum viewing range.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Print stacks"); gettext("Key for printing debug stacks. Used for development.\nSee http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3"); gettext("Network"); gettext("Server address"); gettext("Address to connect to.\nLeave this blank to start a local server.\nNote that the address field in the main menu overrides this setting."); gettext("Remote port"); gettext("Port to connect to (UDP).\nNote that the port field in the main menu overrides this setting."); gettext("Saving map received from server"); gettext("Save the map received by the client on disk."); gettext("Connect to external media server"); gettext("Enable usage of remote media server (if provided by server).\nRemote servers offer a significantly faster way to download media (e.g. textures)\nwhen connecting to the server."); gettext("Serverlist URL"); gettext("URL to the server list displayed in the Multiplayer Tab."); gettext("Serverlist file"); gettext("File in client/serverlist/ that contains your favorite servers displayed in the Multiplayer Tab."); gettext("Graphics"); gettext("In-Game"); gettext("Basic"); gettext("Fog"); gettext("Whether to fog out the end of the visible area."); gettext("New style water"); gettext("Enable a bit lower water surface, so it doesn't \"fill\" the node completely.\nNote that this is not quite optimized and that smooth lighting on the\nwater surface doesn't work with this."); gettext("Leaves style"); gettext("Leaves style:\n- Fancy: all faces visible\n- Simple: only outer faces, if defined special_tiles are used\n- Opaque: disable transparency"); gettext("Connect glass"); gettext("Connects glass if supported by node."); gettext("Smooth lighting"); gettext("Enable smooth lighting with simple ambient occlusion.\nDisable for speed or for different looks."); gettext("Clouds"); gettext("Clouds are a client side effect."); gettext("3D clouds"); gettext("Use 3D cloud look instead of flat."); gettext("Filtering"); gettext("Mipmapping"); gettext("Use mip mapping to scale textures. May slightly increase performance."); gettext("Anisotropic filtering"); gettext("Use anisotropic filtering when viewing at textures from an angle."); gettext("Bilinear filtering"); gettext("Use bilinear filtering when scaling textures."); gettext("Trilinear filtering"); gettext("Use trilinear filtering when scaling textures."); gettext("Clean transparent textures"); gettext("Filtered textures can blend RGB values with fully-transparent neighbors,\nwhich PNG optimizers usually discard, sometimes resulting in a dark or\nlight edge to transparent textures. Apply this filter to clean that up\nat texture load time."); gettext("Minimum texture size for filters"); gettext("When using bilinear/trilinear/anisotropic filters, low-resolution textures\ncan be blurred, so automatically upscale them with nearest-neighbor\ninterpolation to preserve crisp pixels. This sets the minimum texture size\nfor the upscaled textures; higher values look sharper, but require more\nmemory. Powers of 2 are recommended. Setting this higher than 1 may not\nhave a visible effect unless bilinear/trilinear/anisotropic filtering is\nenabled."); gettext("Preload inventory textures"); gettext("Pre-generate all item visuals used in the inventory.\nThis increases startup time, but runs smoother in-game.\nThe generated textures can easily exceed your VRAM, causing artifacts in the inventory."); gettext("FSAA"); gettext("Experimental option, might cause visible spaces between blocks\nwhen set to higher number than 0."); gettext("Shaders"); gettext("Shaders"); gettext("Shaders allow advanced visul effects and may increase performance on some video cards.\nThy only work with the OpenGL video backend."); gettext("Bumpmapping"); gettext("Bumpmapping"); gettext("Enables bumpmapping for textures. Normalmaps need to be supplied by the texture pack\nor need to be auto-generated.\nRequires shaders to be enabled."); gettext("Generate normalmaps"); gettext("Enables on the fly normalmap generation (Emboss effect).\nRequires bumpmapping to be enabled."); gettext("Normalmaps strength"); gettext("Strength of generated normalmaps."); gettext("Normalmaps sampling"); gettext("Defines sampling step of texture.\nA higher value results in smoother normal maps."); gettext("Parallax Occlusion"); gettext("Parallax occlusion"); gettext("Enables parallax occlusion mapping.\nRequires shaders to be enabled."); gettext("Parallax occlusion mode"); gettext("0 = parallax occlusion with slope information (faster).\n1 = relief mapping (slower, more accurate)."); gettext("Parallax occlusion strength"); gettext("Strength of parallax."); gettext("Parallax occlusion iterations"); gettext("Number of parallax occlusion iterations."); gettext("Parallax occlusion Scale"); gettext("Overall scale of parallax occlusion effect."); gettext("Parallax occlusion bias"); gettext("Overall bias of parallax occlusion effect, usually scale/2."); gettext("Waving Nodes"); gettext("Waving water"); gettext("Set to true enables waving water.\nRequires shaders to be enabled."); gettext("Waving water height"); gettext("Waving water length"); gettext("Waving water speed"); gettext("Waving leaves"); gettext("Set to true enables waving leaves.\nRequires shaders to be enabled."); gettext("Waving plants"); gettext("Set to true enables waving plants.\nRequires shaders to be enabled."); gettext("Advanced"); gettext("Wanted FPS"); gettext("Minimum wanted FPS.\nThe amount of rendered stuff is dynamically set according to this. and viewing range min and max."); gettext("Maximum FPS"); gettext("If FPS would go higher than this, limit it by sleeping\nto not waste CPU power for no benefit."); gettext("FPS in pause menu"); gettext("Maximum FPS when game is paused."); gettext("Viewing range maximum"); gettext("The allowed adjustment range for the automatic rendering range adjustment.\nSet this to be equal to viewing range minimum to disable the auto-adjustment algorithm."); gettext("Viewing range minimum"); gettext("The allowed adjustment range for the automatic rendering range adjustment.\nSet this to be equal to viewing range minimum to disable the auto-adjustment algorithm."); gettext("Screen width"); gettext("Vertical initial window size."); gettext("Screen height"); gettext("Horizontal initial window size."); gettext("Full screen"); gettext("Fullscreen mode."); gettext("Full screen BPP"); gettext("Bits per pixel (aka color depth) in fullscreen mode."); gettext("V-Sync"); gettext("Vertical screen synchronization."); gettext("Field of view"); gettext("Field of view in degrees."); gettext("Gamma"); gettext("Adjust the gamma encoding for the light tables. Lower numbers are brighter.\nThis setting is for the client only and is ignored by the server."); gettext("Texture path"); gettext("Path to texture directory. All textures are first searched from here."); gettext("Video driver"); gettext("The rendering back-end for Irrlicht."); gettext("Cloud height"); gettext("Height on which clouds are appearing."); gettext("Cloud radius"); gettext("Radius of cloud area stated in number of 64 node cloud squares.\nValues larger than 26 will start to produce sharp cutoffs at cloud area corners."); gettext("View bobbing"); gettext("Multiplier for view bobbing.\nFor example: 0 for no view bobbing; 1.0 for normal; 2.0 for double."); gettext("Fall bobbing"); gettext("Multiplier for fall bobbing.\nFor example: 0 for no view bobbing; 1.0 for normal; 2.0 for double."); gettext("3D mode"); gettext("3D support.\nCurrently supported:\n- none: no 3d output.\n- anaglyph: cyan/magenta color 3d.\n- interlaced: odd/even line based polarisation screen support.\n- topbottom: split screen top/bottom.\n- sidebyside: split screen side by side."); gettext("Console color"); gettext("In-game chat console background color (R,G,B)."); gettext("Console alpha"); gettext("In-game chat console background alpha (opaqueness, between 0 and 255)."); gettext("Selection box color"); gettext("Selection box border color (R,G,B)."); gettext("Selection box width"); gettext("Width of the selectionbox's lines around nodes."); gettext("Crosshair color"); gettext("Crosshair color (R,G,B)."); gettext("Crosshair alpha"); gettext("Crosshair alpha (opaqueness, between 0 and 255)."); gettext("Desynchronize block animation"); gettext("Whether node texture animations should be desynchronized per mapblock."); gettext("Maximum hotbar width"); gettext("Maximum proportion of current window to be used for hotbar.\nUseful if there's something to be displayed right or left of hotbar."); gettext("Node highlighting"); gettext("Enable selection highlighting for nodes (disables selectionbox)."); gettext("Mesh cache"); gettext("Enables caching of facedir rotated meshes."); gettext("Minimap"); gettext("Enables minimap."); gettext("Round minimap"); gettext("Shape of the minimap. Enabled = round, disabled = square."); gettext("Minimap scan height"); gettext("True = 256\nFalse = 128\nUseable to make minimap smoother on slower machines."); gettext("Colored fog"); gettext("Make fog and sky colors depend on daytime (dawn/sunset) and view direction."); gettext("Ambient occlusion gamma"); gettext("The strength (darkness) of node ambient-occlusion shading.\nLower is darker, Higher is lighter. The valid range of values for this\nsetting is 0.25 to 4.0 inclusive. If the value is out of range it will be\nset to the nearest valid value."); gettext("Menus"); gettext("Clouds in menu"); gettext("Use a cloud animation for the main menu background."); gettext("GUI scaling"); gettext("Scale gui by a user specified value.\nUse a nearest-neighbor-anti-alias filter to scale the GUI.\nThis will smooth over some of the rough edges, and blend\npixels when scaling down, at the cost of blurring some\nedge pixels when images are scaled by non-integer sizes."); gettext("GUI scaling filter"); gettext("When gui_scaling_filter is true, all GUI images need to be\nfiltered in software, but some images are generated directly\nto hardware (e.g. render-to-texture for nodes in inventory)."); gettext("GUI scaling filter txr2img"); gettext("When gui_scaling_filter_txr2img is true, copy those images\nfrom hardware to software for scaling. When false, fall back\nto the old scaling method, for video drivers that don't\npropery support downloading textures back from hardware."); gettext("Tooltip delay"); gettext("Delay showing tooltips, stated in milliseconds."); gettext("Freetype fonts"); gettext("Whether freetype fonts are used, requires freetype support to be compiled in."); gettext("Font path"); gettext("Path to TrueTypeFont or bitmap."); gettext("Font size"); gettext("Font shadow"); gettext("Font shadow offset, if 0 then shadow will not be drawn."); gettext("Font shadow alpha"); gettext("Font shadow alpha (opaqueness, between 0 and 255)."); gettext("Monospace font path"); gettext("Monospace font size"); gettext("Fallback font"); gettext("This font will be used for certain languages."); gettext("Fallback font size"); gettext("Fallback font shadow"); gettext("Fallback font shadow alpha"); gettext("Screenshot folder"); gettext("Path to save screenshots at."); gettext("Advanced"); gettext("DPI"); gettext("Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k screens."); gettext("Sound"); gettext("Sound"); gettext("Volume"); gettext("Advanced"); gettext("Mapblock unload timeout"); gettext("Timeout for client to remove unused map data from memory."); gettext("Mapblock limit"); gettext("Maximum number of mapblocks for client to be kept in memory.\nSet to -1 for unlimited amount."); gettext("Show debug info"); gettext("Whether to show the client debug info (has the same effect as hitting F5)."); gettext("Server / Singleplayer"); gettext("Server name"); gettext("Name of the server, to be displayed when players join and in the serverlist."); gettext("Server description"); gettext("Description of server, to be displayed when players join and in the serverlist."); gettext("Server address"); gettext("Domain name of server, to be displayed in the serverlist."); gettext("Server URL"); gettext("Homepage of server, to be displayed in the serverlist."); gettext("Announce server"); gettext("Automaticaly report to the serverlist."); gettext("Serverlist URL"); gettext("Announce to this serverlist.\nIf you want to announce your ipv6 address, use serverlist_url = v6.servers.minetest.net."); gettext("Network"); gettext("Server port"); gettext("Network port to listen (UDP).\nThis value will be overridden when starting from the main menu."); gettext("Bind address"); gettext("The network interface that the server listens on."); gettext("Strict protocol checking"); gettext("Enable to disallow old clients from connecting.\nOlder clients are compatible in the sense that they will not crash when connecting\nto new servers, but they may not support all new features that you are expecting."); gettext("Remote media"); gettext("Specifies URL from which client fetches media instead of using UDP.\n$filename should be accessible from $remote_media$filename via cURL\n(obviously, remote_media should end with a slash).\nFiles that are not present will be fetched the usual way."); gettext("IPv6 server"); gettext("Enable/disable running an IPv6 server. An IPv6 server may be restricted\nto IPv6 clients, depending on system configuration.\nIgnored if bind_address is set."); gettext("Advanced"); gettext("Maximum simultaneously blocks send per client"); gettext("How many blocks are flying in the wire simultaneously per client."); gettext("Maximum simultaneously bocks send total"); gettext("How many blocks are flying in the wire simultaneously for the whole server."); gettext("To reduce lag, block transfers are slowed down when a player is building something.\nThis determines how long they are slowed down after placing or removing a node."); gettext("Max. packets per iteration"); gettext("Maximum number of packets sent per send step, if you have a slow connection\ntry reducing it, but don't reduce it to a number below double of targeted\nclient number."); gettext("Game"); gettext("Default game"); gettext("Default game when creating a new world.\nThis will be overridden when creating a world from the main menu."); gettext("Message of the day"); gettext("Message of the day displayed to players connecting."); gettext("Maximum users"); gettext("Maximum number of players that can connect simultaneously."); gettext("Map directory"); gettext("World directory (everything in the world is stored here).\nNot needed if starting from the main menu."); gettext("Item entity TTL"); gettext("Time in seconds for item entity (dropped items) to live.\nSetting it to -1 disables the feature."); gettext("Damage"); gettext("Enable players getting damage and dying."); gettext("Fixed map seed"); gettext("A chosen map seed for a new map, leave empty for random.\nWill be overridden when creating a new world in the main menu."); gettext("Default password"); gettext("New users need to input this password."); gettext("Default privileges"); gettext("The privileges that new users automatically get.\nSee /privs in game for a full list on your server and mod configuration."); gettext("Unlimited player transfer distance"); gettext("Whether players are shown to clients without any range limit.\nDeprecated, use the setting player_transfer_distance instead."); gettext("Player transfer distance"); gettext("Defines the maximal player transfer distance in blocks (0 = unlimited)."); gettext("Player versus Player"); gettext("Whether to allow players to damage and kill each other."); gettext("Static spawnpoint"); gettext("If this is set, players will always (re)spawn at the given position."); gettext("Disallow empty passwords"); gettext("If enabled, new players cannot join with an empty password."); gettext("Disable anticheat"); gettext("If enabled, disable cheat prevention in multiplayer."); gettext("Rollback recording"); gettext("If enabled, actions are recorded for rollback.\nThis option is only read when server starts."); gettext("Shutdown message"); gettext("A message to be displayed to all clients when the server shuts down."); gettext("Crash message"); gettext("A message to be displayed to all clients when the server crashes."); gettext("Ask to reconnect after crash"); gettext("Whether to ask clients to reconnect after a (Lua) crash.\nSet this to true if your server is set up to restart automatically."); gettext("Active object send range"); gettext("From how far clients know about objects, stated in mapblocks (16 nodes)."); gettext("Active block range"); gettext("How large area of blocks are subject to the active block stuff, stated in mapblocks (16 nodes).\nIn active blocks objects are loaded and ABMs run."); gettext("Max block send distance"); gettext("From how far blocks are sent to clients, stated in mapblocks (16 nodes)."); gettext("Maximum forceloaded blocks"); gettext("Maximum number of forceloaded mapblocks."); gettext("Time send interval"); gettext("Interval of sending time of day to clients."); gettext("Time speed"); gettext("Controls length of day/night cycle.\nExamples: 72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged."); gettext("Map save interval"); gettext("Interval of saving important changes in the world, stated in seconds."); gettext("Physics"); gettext("Default acceleration"); gettext("Acceleration in air"); gettext("Fast mode acceleration"); gettext("Walking speed"); gettext("Crouch speed"); gettext("Fast mode speed"); gettext("Climbing speed"); gettext("Jumping speed"); gettext("Descending speed"); gettext("Liquid fluidity"); gettext("Liquid fluidity smoothing"); gettext("Liquid sink");