Minetest is an open source voxel game engine with easy modding and game creation
Go to file
Lars Müller 05d31222f7
Allow non-normalized weights in glTF models (#15310)
We are being lax here, but the glTF specification just requires that "when the weights are stored using float component type, their linear sum SHOULD be as close as reasonably possible to 1.0 for a given vertex"

In particular weights > 1 and weight sums well below or above 1 can be observed in models exported by Blender if they aren't manually normalized.
These fail the glTF validator but Irrlicht normalizes weights itself so we can support them just fine.

The docs have been updated to recommend normalizing weights (as well as documenting the status of interpolation support).

Weights < 0, most of them close to 0, also occur. Consistent with Irrlicht, we ignore them, but we also raise a warning.
2024-12-06 18:05:03 +01:00
.github Revert "Disable SDL2 for 5.10.0 (#15284)" 2024-11-10 20:56:09 +01:00
.vscode Add documentation for IDE developer setup (#13935) 2024-05-26 14:28:12 +02:00
android Continue with 5.11.0-dev 2024-11-10 19:17:56 +01:00
builtin Add 10-bit texture format and setting to chose PP color depth 2024-12-04 18:20:34 +01:00
client Clamp pre-bloom color to valid range (#15453) 2024-11-25 11:56:32 -08:00
clientmods/preview Rename hud_elem_type to type (#14065) 2023-12-29 21:51:02 +01:00
cmake/Modules Rename to Luanti (#15294) 2024-10-27 14:04:51 +01:00
doc Allow non-normalized weights in glTF models (#15310) 2024-12-06 18:05:03 +01:00
fastlane/metadata/android/en-US Add Fastlane metadata for F-Droid (#15411) 2024-11-10 19:08:08 +01:00
fonts Fully remove bitmap font support (#11863) 2022-01-08 14:53:25 +01:00
games/devtest Add particle blend mode "clip" (#15444) 2024-11-19 13:30:17 +01:00
irr Allow non-normalized weights in glTF models (#15310) 2024-12-06 18:05:03 +01:00
lib JsonCPP: restore '1.0.0+' compatibility (#15368) 2024-11-03 15:10:39 +01:00
misc Add Minetest keyword for backwards compatibility (#15491) 2024-12-01 20:51:33 +01:00
mods Remove trailing whitespace (#13505) 2023-05-18 20:34:18 +02:00
po Translated using Weblate (Spanish (American)) 2024-11-10 18:15:45 +01:00
src Refactor: Merge [IC]SkinnedMesh into SkinnedMesh (#15511) 2024-12-06 18:03:44 +01:00
textures Implement an editor to customize the touchscreen controls (#14933) 2024-11-24 11:33:39 +01:00
util Drop fixed pipeline support code (#15421) 2024-11-13 14:24:01 +01:00
worlds Add a worlds_here.txt file in the worlds folder and update .gitignore (#12720) 2022-10-30 16:53:31 +01:00
.clang-tidy Update clang-tidy configuration and scripts 2020-03-12 00:10:09 +01:00
.dockerignore fix: don't send the whole local context to the docker image 2021-04-02 14:40:22 +02:00
.editorconfig Fix .editorconfig mandating tabs for Markdown 2024-08-16 22:13:16 +02:00
.gitattributes Add glTF animation support 2024-10-10 21:39:57 +02:00
.gitignore Add QT Creator and Windows dump files to .gitignore (#15214) 2024-09-30 22:57:18 +02:00
.gitlab-ci.yml Remove GitLab CI and redirect GitLab pages to api.minetest.net 2024-01-10 20:52:08 +00:00
.luacheckrc Luacheck: add VoxelManip to globals 2024-11-12 10:53:04 +01:00
.mailmap Rename erle in credits (as requested by them) 2024-10-26 10:28:55 +03:00
CMakeLists.txt Continue with 5.11.0-dev 2024-11-10 19:17:56 +01:00
CMakePresets.json Add documentation for IDE developer setup (#13935) 2024-05-26 14:28:12 +02:00
CNAME Build MkDocs Lua API docs using GitHub CI, deploy to api.minetest.net (#13675) 2023-09-18 19:17:18 +03:00
COPYING.LESSER Added copy of LGPL-2.1 (#12950) 2022-11-16 13:09:53 -05:00
Dockerfile Rename to Luanti (#15294) 2024-10-27 14:04:51 +01:00
LICENSE.txt Main menu: Player list for public servers (#15425) 2024-11-21 20:34:40 +01:00
minetest.conf.example Replace occurences of 'wiki.minetest.net' with 'wiki.luanti.org' 2024-11-18 00:04:32 +01:00
README.md Replace occurences of 'wiki.minetest.net' with 'wiki.luanti.org' 2024-11-18 00:04:32 +01:00
shell.nix dev: add shell.nix (#14823) 2024-08-12 11:41:27 +02:00

Luanti (formerly Minetest)

Build Status Translation status License

Luanti is a free open-source voxel game engine with easy modding and game creation.

Copyright (C) 2010-2024 Perttu Ahola celeron55@gmail.com and contributors (see source file comments and the version control log)

Table of Contents

  1. Further Documentation
  2. Default Controls
  3. Paths
  4. Configuration File
  5. Command-line Options
  6. Compiling
  7. Docker
  8. Version Scheme

Further documentation

Default controls

All controls are re-bindable using settings. Some can be changed in the key config dialog in the settings tab.

Button Action
Move mouse Look around
W, A, S, D Move
Space Jump/move up
Shift Sneak/move down
Q Drop itemstack
Shift + Q Drop single item
Left mouse button Dig/punch/use
Right mouse button Place/use
Shift + right mouse button Build (without using)
I Inventory menu
Mouse wheel Select item
0-9 Select item
Z Zoom (needs zoom privilege)
T Chat
/ Command
Esc Pause menu/abort/exit (pauses only singleplayer game)
+ Increase view range
- Decrease view range
K Enable/disable fly mode (needs fly privilege)
J Enable/disable fast mode (needs fast privilege)
H Enable/disable noclip mode (needs noclip privilege)
E Aux1 (Move fast in fast mode. Games may add special features)
C Cycle through camera modes
V Cycle through minimap modes
Shift + V Change minimap orientation
F1 Hide/show HUD
F2 Hide/show chat
F3 Disable/enable fog
F4 Disable/enable camera update (Mapblocks are not updated anymore when disabled, disabled in release builds)
F5 Cycle through debug information screens
F6 Cycle through profiler info screens
F10 Show/hide console
F12 Take screenshot

Paths

Locations:

  • bin - Compiled binaries
  • share - Distributed read-only data
  • user - User-created modifiable data

Where each location is on each platform:

  • Windows .zip / RUN_IN_PLACE source:
    • bin = bin
    • share = .
    • user = .
  • Windows installed:
    • bin = C:\Program Files\Minetest\bin (Depends on the install location)
    • share = C:\Program Files\Minetest (Depends on the install location)
    • user = %APPDATA%\Minetest or %MINETEST_USER_PATH%
  • Linux installed:
    • bin = /usr/bin
    • share = /usr/share/minetest
    • user = ~/.minetest or $MINETEST_USER_PATH
  • macOS:
    • bin = Contents/MacOS
    • share = Contents/Resources
    • user = Contents/User or ~/Library/Application Support/minetest or $MINETEST_USER_PATH

Worlds can be found as separate folders in: user/worlds/

Configuration file

  • Default location: user/minetest.conf
  • This file is created by closing Luanti for the first time.
  • A specific file can be specified on the command line: --config <path-to-file>
  • A run-in-place build will look for the configuration file in location_of_exe/../minetest.conf and also location_of_exe/../../minetest.conf

Command-line options

  • Use --help

Compiling

Docker

Version scheme

We use major.minor.patch since 5.0.0-dev. Prior to that we used 0.major.minor.

  • Major is incremented when the release contains breaking changes, all other numbers are set to 0.
  • Minor is incremented when the release contains new non-breaking features, patch is set to 0.
  • Patch is incremented when the release only contains bugfixes and very minor/trivial features considered necessary.

Since 5.0.0-dev and 0.4.17-dev, the dev notation refers to the next release, i.e.: 5.0.0-dev is the development version leading to 5.0.0. Prior to that we used previous_version-dev.