Convert Figma logo to code with AI

minetest logominetest

Minetest is an open source voxel game-creation platform with easy modding and game creation

10,588
1,994
10,588
1,285

Top Related Projects

Minetest Game - A lightweight and well-maintained base for modding [https://github.com/minetest/minetest/]

Create Minecraft bots with a powerful, stable, and high level JavaScript API.

A lightweight, fast and extensible game server for Minecraft

Quick Overview

Minetest is an open-source, free, and portable game engine that allows for the creation of voxel-based sandbox games, similar to Minecraft. It is designed to be highly customizable and modular, enabling developers to create their own game worlds and features.

Pros

  • Open-source and Free: Minetest is an open-source project, allowing for community contributions and customization.
  • Cross-platform Compatibility: Minetest is available on a wide range of platforms, including Windows, macOS, Linux, and mobile devices.
  • Highly Customizable: The game engine is designed to be highly modular, enabling developers to create their own game worlds, features, and mechanics.
  • Active Community: Minetest has an active community of developers and players who contribute to the project, create mods, and share their creations.

Cons

  • Steep Learning Curve: Developing for Minetest can have a steep learning curve, especially for those new to game development or the Lua programming language.
  • Limited Graphics: While Minetest is capable of producing visually appealing games, the graphics may not be as advanced as some commercial games.
  • Performance Issues: Depending on the complexity of the game world and the number of mods installed, Minetest can experience performance issues on less powerful hardware.
  • Lack of Mainstream Popularity: Compared to games like Minecraft, Minetest has a smaller user base and may not have the same level of mainstream popularity.

Code Examples

N/A (Minetest is not a code library)

Getting Started

N/A (Minetest is not a code library)

Competitor Comparisons

Minetest Game - A lightweight and well-maintained base for modding [https://github.com/minetest/minetest/]

Pros of minetest_game

  • More focused on gameplay and content creation
  • Easier for modders to add new features and items
  • Provides a complete game experience out of the box

Cons of minetest_game

  • Less flexible for creating entirely different game types
  • Dependent on the Minetest engine for updates and improvements
  • May have a steeper learning curve for new players

Code Comparison

Minetest (engine):

function core.register_craftitem(name, def)
    -- Engine-level item registration
end

minetest_game:

minetest.register_craftitem("default:stick", {
    description = "Stick",
    inventory_image = "default_stick.png",
    groups = {stick = 1, flammable = 2},
})

The Minetest engine provides low-level functions for registering items, while minetest_game uses these functions to create specific game content. minetest_game builds upon the engine's capabilities to create a complete game experience, whereas the engine itself focuses on providing the underlying framework and tools for game development.

Create Minecraft bots with a powerful, stable, and high level JavaScript API.

Pros of mineflayer

  • JavaScript-based, allowing for easier integration with web technologies
  • Focused on bot creation and automation for Minecraft
  • Extensive API for interacting with the Minecraft world programmatically

Cons of mineflayer

  • Limited to client-side interactions, not a full game engine
  • Dependent on official Minecraft server implementations
  • Narrower scope compared to Minetest's full game engine capabilities

Code Comparison

Minetest (Lua):

minetest.register_node("mymod:custom_block", {
    description = "Custom Block",
    tiles = {"mymod_custom_block.png"},
    groups = {cracky = 3},
})

mineflayer (JavaScript):

const bot = mineflayer.createBot({
  host: 'localhost',
  username: 'player'
})

bot.on('spawn', () => {
  bot.chat('Hello, world!')
})

This comparison highlights the different focus areas of the two projects. Minetest provides a full game engine with modding capabilities, while mineflayer is specialized for creating Minecraft bots and automation scripts. The code examples demonstrate Minetest's node registration system versus mineflayer's bot creation and event handling approach.

A lightweight, fast and extensible game server for Minecraft

Pros of Cuberite

  • Written in C++, potentially offering better performance
  • Designed specifically for server-side use, which may lead to more efficient resource usage
  • Supports plugins written in Lua, allowing for easier customization

Cons of Cuberite

  • Smaller community and fewer available mods compared to Minetest
  • Less frequent updates and potentially slower development cycle
  • Limited compatibility with Minecraft clients, focusing mainly on older versions

Code Comparison

Minetest (C++):

void Server::handleCommand(NetworkPacket* pkt)
{
    // Command handling logic
}

Cuberite (C++):

void cServer::ExecuteConsoleCommand(const AString & a_Cmd, cCommandOutputCallback & a_Output)
{
    // Console command execution logic
}

Both projects use C++ for their core functionality, but Cuberite focuses more on server-side operations, while Minetest provides a complete game engine. Cuberite's code structure appears more oriented towards server administration, while Minetest's codebase covers a broader range of game-related functions.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Minetest

Build Status Translation status License

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

Copyright (C) 2010-2022 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.

ButtonAction
Move mouseLook around
W, A, S, DMove
SpaceJump/move up
ShiftSneak/move down
QDrop itemstack
Shift + QDrop single item
Left mouse buttonDig/punch/use
Right mouse buttonPlace/use
Shift + right mouse buttonBuild (without using)
IInventory menu
Mouse wheelSelect item
0-9Select item
ZZoom (needs zoom privilege)
TChat
/Command
EscPause menu/abort/exit (pauses only singleplayer game)
+Increase view range
-Decrease view range
KEnable/disable fly mode (needs fly privilege)
JEnable/disable fast mode (needs fast privilege)
HEnable/disable noclip mode (needs noclip privilege)
EAux1 (Move fast in fast mode. Games may add special features)
CCycle through camera modes
VCycle through minimap modes
Shift + VChange minimap orientation
F1Hide/show HUD
F2Hide/show chat
F3Disable/enable fog
F4Disable/enable camera update (Mapblocks are not updated anymore when disabled, disabled in release builds)
F5Cycle through debug information screens
F6Cycle through profiler info screens
F10Show/hide console
F12Take 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 Minetest 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.