Moon phases for Minetest
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Till Affeldt 79992a0445
Fix bad mod.conf
3 months ago
textures Improve classic textures, imprive Climate API compatability, store less data overall 3 years ago Initialize repository 3 years ago Add new artwork 3 years ago
commands.lua Implement classic texture style and allow users to choose 3 years ago
init.lua Update for Climate API changes 3 years ago
mod.conf Fix bad mod.conf 3 months ago
screenshot.2.png Update meta information 3 years ago
screenshot.3.png Add screenshots, change default style to realistic 3 years ago
screenshot.png Add new artwork 3 years ago
settingtypes.txt Add new artwork 3 years ago

Moon phases

Make your moon follow a realistic cycle

Important: This mod requires at least Minetest 5.2.0 for the game's new sky API. Make sure you have the latest version installed or update your game.


This mod has no hard dependencies whatsoever, so you can use it as you will. If you are also using climate_api then it will use the included skybox registration instead of overriding the player configuration. Thus, moon_phases will will be compatible with your weather packs.

Changes in v2.0

  • New classic moon textures!
  • Skybox changes. The sky will brighten up during a full moon and turn dark during a new moon.
  • Less stored data: Moon cycle now used Minetest's get_day_count() and only stores a date offset when changed via commands.
  • Climate API integration. Use moon phases with your favorite weather mod


This mod comes with two commands to print or change the current moon phase.

  • Use /moonphase to view the currently active phase.
  • Use /set_moonphase <phase> to change it. <phase> has to be a full number between 1 and 8.
  • Use /set_moonstyle <style> to choose a texture preset. classic will result in a quadratic moon inspired by default Minetest. realistic will result in 256x images of the real moon.

In order to change the phase, you will need the corresponding privilege. Use /grant <player> moonphase to grant it.

Mod Integration

Just like the chat commands, this mod provides a LUA api for accessing the moon phase. It contains a method called moon_phases.get_phase() that will return a numeric value representing the current moon phase. You can also set the phase via moon_phases.set_phase(phase) where phase is an integer between 1 and 8. The texture style of a specific player can be set with moon_phases.set_style(player, style) where style referes to either classic or realistic.


The mod provides the option to change the length of the moon cycle. By default, the moon texture will change every four (in-game) nights. This results in a total cycle of 32 days.

You can also set the default texture style for all players. You can choose between the same options as with the /set_moonstyle command.


All source code is written by me and licensed under GNU LESSER GENERAL PUBLIC LICENSE version 3. You can find a copy of that license in the repository.


All moon textures marked as "classic" are made by Cap for this mod and usable under a CC BY-SA (3.0) license.

All included "realistic" moon textures are resized versions of graphics from NASA's Scientific Visualization Studio by Ernie Wright. These images are part of the Public Domain as CC BY-SA 3.0. You can access the entire (high resolution) album on their website. See NASA's media guidelines for more information on licensing.