Minetest Changelog:

This is a Minetest changelog for power users and developers.

If you'd like general news instead, click here. A text version of this file is provided in the build kits and also at this link.


1. Bucket Game changes:

        * 3d_torches: Default to enabled (ENI #400)
        * birthstones: Sync with Poikilos upstream (ENI #401)
        * coderblocks: Add LMB blocks to appropriate groups (ENI #399)
        * coderedit: Sync with WorldEdit Additional Commands
        * default: Add more "ocutil" utility functions
        * mobs: Fix a crash in "set_velocity"
        * occompass: Support both a compass and a bearing indicator
        * ocfixups: Support another old node
        * Multi-mod: Properly redirect "minetest.item_eat"

1a. "occompass" can now display a compass, a bearing indicator, or both.

By default, presently, both are displayed. To disable either or both, use one or more of the following "world.conf" settings:

        disable_bearing = true
        disable_compass = true

        enable_bearing = false
        enable_compass = false

1b. If Unified Foods is installed and hunger is enabled, functions returned by "minetest.item_eat" should follow the Unified Food rules as opposed to the legacy Minetest rules.

This worked previously in some, but not all, cases. This release attempts to handle the remaining cases.

1c. CoderEdit now supports the latest commands from WorldEdit Additional Commands.

Help text has been added, as well, to the new commands in contexts where it was missing before.

As part of this change, CoderEdit has been modified so as to both old and new internal APIs.

1d. To disable 3D Torches, use any of the following "world.conf" settings:

        disable_3d_torches = true
        disable_3dtorches = true

        enable_3d_torches = false
        enable_3dtorches = false

2. Ported Trolltest commits:

        * Use "PcgRandom" instead of "mysrand"
        * Vertical biome blend: Tune PRNG seed (#7329)
        * Biomes: Fix vertical biome blend
        * c_converter changes (#7090)
        * Biomes: Add min_pos and max_pos xyz biome limits
        * Vertical biome blend: Tune blend patterns
        * Fix crash when exiting server during mapgen
        * Auto-delete MetaData when = 0 (#8770)

3. Other core changes:

        * Fix a crash in "core.wallmounted_to_dir"


1. Bucket Game changes:

        * default: drop "enable_junglegrass" (always enabled now)
        * default: Remove an incorrect junglegrass registration
        * minicarpet: Start a new carpet series w/no media cost
        * sfnodes: Add a missing node
        * Multi-mod: Minor tweaks and/or bug fixes

2. Windows SFX GUI installers are now available:



1. World capture support code.

This release adds a feature related to MT world capture.

1a. If the environment variable "FIMTEXPATH" is set, it specifies the absolute pathname of a particular debug output file that is to be created.

The file holds captured world seeds, player positions, HUD text, and other information.

1b. To get the information, the client-side user needs to press F5 to turn on the MT top-of-screen debug lines. Some information may be written to the file whether or not this is done.

1c. Presently, if this feature is used in multiple runs of MT, it appends to the file as opposed to overwriting it.

1d. Warnings:

This feature should never be used to write to an SSD or flash disk or stick. It's strongly recommended that the file be placed in a RAM disk. If that isn't possible, an old-fashioned hard disk may be used.

If anything but a RAM disk is used, operation will be slower while this feature is in use.

Additionally, note that the file may grow to a large size and possibly fill up whatever filesystem is used.

2. Bucket Game significant changes.

        * abriflame: Add mod
        * abritorch: Add mod
        * bonemeal: Fix a crash
        * coderblocks: Support more blocks
        * codermobs: Fix a jellyfish spawner crash
        * coderskins: Make it easier to add new skins
        * default: Convert most "moretrees" nodes automatically
        * default: Add more "ocutil" utility functions
        * elevator: Add mod
        * framedglass: Add mod
        * online_players: "/online" lists players including faces
        * redflowers: Add mod
        * rgb: Add mod
        * signs_lib: Fix failure of text to appear on some signs
        * soccer: Add a "/deleteballs" command to delete soccer balls
        * Multi-mod: Add an "ncvirus" mask and social distancing
        * Multi-mod: Fix various circular-dependency problems
        * Multi-mod: Support multiple layers of clothing and/or armor
        * Multi-mod: Remove various dependencies

2a. "coderskins" now supports multiple layers of clothing and/or armor. In particular, players start with a base skin and can add one or more of the following:

        * ncvirus mask
        * crystal armor
        * spacesuit

Items are stacked in the order shown above.

2b. If the following "world.conf" setting is used, social distancing is enforced:

        enable_ncvirus = true

In particular, if a player goes near another player and isn't wearing an "ncmask" or a spacesuit, NC virus damage occurs.

2c. "coderskins" now makes it easier to add new skins. For details, see "oldcoder.txt" in the mod directory.

2d. Thanks go to MinionToby for the face-display code in "online_players".

2e. Bucket Game now includes two types of elevators: The "elevator" mod type and the "travelnet" type.

Elevators from the "elevator" mod are difficult to set up. However, if they're set up correctly, they work very nicely.

Elevators from the "travelnet" mod are easier to set up, but not as fancy in operation.

Here's one approach to setting up "elevator"-mod elevators:

Place an "elevator:elevator" on a solid surface. Place one or more "elevator:shaft" nodes on top of that. Place an "elevator:elevator" on top of the column. Repeat until the column is tall enough. Then place an "elevator:motor" on top.

Here's the difficult part: When you place one of these nodes on top of another, you may need to use shift-right click *and* click just on one of the four edges of the top surface.

Here's an alternate approach. It requires WorldEdit, and it's much kludgier, but careful clicking isn't needed:

Create a vertical column of wood blocks the height of the desired elevator shaft. Leave room for one more node at the top. Place an "elevator:motor" on top.

At each vertical height where you'd like to put an elevator, clear two vertical nodes of wood. Place an "elevator:elevator" in the cleared space. Important: Leave at least one wood block between each elevator.

When all elevators have been placed, use WorldEdit to replace remaining wood blocks in the column with "elevator:shaft".

Note: Direct "//set" of elevator nodes doesn't work. However, use of ".we"-format schems to create elevator setups should work.

2f. To fix circular-dependency problems, various dependencies have been removed.

For example: "nftools" and "stairsio" use "quartz" if present (either as its own mod or in "coderblocks").

However, neither "quartz" nor "coderblocks" needs to be, or should be, specified as a required or optional dependency for "nftools" or "stairsio".

Similarly, "homedecor" uses "technic" if present. However, "technic" doesn't need to be, and shouldn't be, specified as a required or optional dependency for "homedecor".

3. Bucket Game minor changes.

        * bonemeal: Updated
        * cblocks: Updated
        * coderblocks: Add more snow-based objects
        * coderblocks: Make the "s" in "projection_lights" optional
        * codersea: Add aliases for older sea-plant types
        * coderskins: Add new skins
        * default: Add aliases for older torch types
        * homedecor: Add cyan curtains
        * mobs: Settings-related bug fix
        * sfnodes: Support another "scifi_nodes" node
        * unifiedbricks: Updated

4. Ported Trolltest commits:

        * Replace "-ffast-math" with safe optimization flags (#9682)
        * Put "getGuiEngine()" inside a client-only "#ifdef"
        * PostgreSQL: Fix a problem in "listAllLoadableBlocks"
        * Play "player_jump" sound when player jumps (#9373)
        * Forbid "object:attach(obj, ...)" (#9762)
        * Fix truncation warning for F1000_MIN, F1000_MAX
        * Add PostgreSQL authentication backend (#9756)
        * Fix "add_entity" returning unusable reference
        * [CSM] Fix and improve "minetest.get_language()"
        * [CSM] Expose more env functions
        * Introduce "get_modpath()" for CSM
        * Modernize Lua read part 1 of 2 (#7394)
        * Modernize Lua read part 2 of 2 (#7410)

5. CSM technical notes:

A few CSM bug fixes have been made in addition to the commits listed above.

To enable CSM, users need to add the following setting to "minetest. conf" on the client side:

        enable_client_modding = false

Additionally, to load the sample CSM mod provided, users need to edit "clientmods/mods.conf" on the client side and set "load_mod_preview" to true:

        load_mod_preview = true


Focus has shifted for now to the websites, documentation, "_game" releases, etc.

However, work on bug fixes and features continues. Here are the changes made in the current iteration:

1. Native 3D Armor integration.

"default" and the two Final MT skin systems, "coderskins" and "miniskins", now support a light and fast 3D Armor-like feature built right in.

As of the current release, two types of armor are implemented:

        * Spacesuit
        * Crystal Armor

The spacesuit allows people to breathe in vacuum and/or underwater.

In Final MT, armor is whole-body as opposed to piece-based (helmet, boots, etc.).

To put armor on or or take it off, one wields an armor craft-item and toggles it. For the armor listed above, the craft-items are:

        * default:spacesuit -- Spacesuit being worn
        * default:spacesuit_off -- Spacesuit taken off
        * default:crystal_armor -- Crystal armor being worn
        * default:crystal_armor_off -- Crystal armor taken off

2. New Outer Space framework.

        * asteroid: Support both "air" and "vacuum" modes
        * default: Add vacuum as a standard node
        * default: Implement spacesuit items and operation
        * loud_walking: New mod. Creates a grid of domed biomes.
        * loud_walking: The mapgen now generates ores
        * loud_walking: Support both "air" and "vacuum" modes
        * mtspace: New mod. Handles mapgen for one Outer Space realm.
        * spacelight: New mod. Part of Outer Space day-night bug fix.
        * upper_realms: New modpack that manages upper realms
        * Multiple mods: Fix Outer Space day-night bug

2a. Outer Space vacuum is now a standard node that is defined in "default".

2b. Previously, the two spacesuit craft-items (spacesuit being worn and spacesuit taken off) were part of the "skin" systems. They are now defined in "default" as well.

"default" also implements spacesuit operations:

        * Spacesuit wield-click toggles being worn off and on
        * Spacesuit being worn prevents suffocation and drowning

To disable spacesuit operations, add the following setting to "world. conf":

        spacesuit = false

Warning: This will disable support for other native Final MT armor as well. However, the Final MT version of the 3D Armor mod will continue to work.

2c. MT Space is a new, and very simple, mapgen that creates Outer Space realms which are initially empty.

Presently, there is just one MT Space realm. In the future, there may be others.

This mapgen performs primarily two setup operations:

        * Fill realm with vacuum or air as appropriate
        * Adjust lighting of realm

These steps are discussed further down.

2d. Loud Walking is an old but fun mapgen that's been updated and added to Bucket Game. It creates a 2D grid of about 1,000 connected biome domes in a corner of an MT Space realm.

We started with the 2020 Illuna version of the mod. Bug fixes and changes include:

        * Fill space outside domes with vacuum
        * Fill space inside domes with air
        * "flowers" mod is now optional
        * The presence of MTS schems in "default" is now optional
        * Sanity check to address crashes related to missing mods
        * Ores are now generated (they weren't, before)
        * Make the domes just a bit larger
        * Remove about 12MB of unused images

2e. The Asteroid, Loud Walking, and MT Space mapgens work both with realistic worlds that treat Outer Space as vacuum and easier worlds that do not.

By default, these three mapgens fill Outer Space regions with vacuum.

Loud Walking also fills each of its biome domes with air. So, visitors don't need to wear spacesuits inside Loud Walking domes but need to put them on before going outside.

If you'd like to disable the use of vacuum by these mods, add the following setting to "world.conf":

        disable_vacuum = true

2f. The usual Minetest day-night light cycle is now disabled in Outer Space.

If a "_game" is set solely in Outer Space, the day-night cycle can be disabled through the use of the "timespeed" mod. However, we're not aware of a simple and reliable way to disable the cycle just for specific realms.

In fact, it was surprisingly difficult to fix this. To address the problem, we made three changes:

        * Tweaks to mapgens
        * Imbue vacuum with light
        * Add a globalstep thread that patches light on-the-fly

Caveat: In some cases, changes won't be visible until a visitor restarts his or her client.

3. Efficient node-conversion feature.

        * default: Add an efficient LBM-based node-conversion feature

3a. "default" now provides the following function:

default.convert_node (old_node, new_node)

A call of the form:

default.convert_node ("egg:salad", "default:brick")

will set up nodes of the 1st type specified to be converted by an efficient LBM to the 2nd type specified. Conversion will take place, for each mapblock, the next time that the mapblock is loaded.

The conversion will take place whether the 1st node type is defined or not.

The 2nd node type must be defined or the call will be ignored.

This function is for use only with nodes. I.e., it can't be used with craft-items or tools.

Conflicting calls will intentionally produce program aborts. Such calls include converting a given node type twice or converting to a node type that is itself being converted.

4. Other significant Bucket Game changes.

        * coderedit: Update "//saveboth" to prevent possible lockups
        * codermobs: Extend "/deletemobs" to cover "codersea"
        * codermobs: Fix bugs related to falling and/or floating
        * codermobs: Merge code from "codersea" mobs API
        * codermobs: Fix a bug that stopped some mobs from spawning
        * codersea: Add goldfish and sea urchin
        * codersea: Start transition to "codermobs" mobs API
        * earthgen: Fix sapling growth in Earth 2
        * lapis: Fix support for lapis columns
        * mobs: Mobs now longer float by default
        * sfnodes: Support more of the original S.F. Nodes
        * tsm_pyramids: Sync with latest upstream code
        * xdecor: Fix a crash

5. Lesser Bucket Game changes.

        * asteroids: Increase ratio of asteroids to comets
        * asteroids: Speed up mapgen a bit
        * coderblocks: Add "xpanes:jailbars_flat" (ENI #324)
        * codersea: Convert old "seaglass" nodes
        * codersky: Fix gravity in "earthgen" realm
        * coderwarp: Add new teleport "/commands"
        * default: Adjust workbench configuration
        * default: Add more "ocutil" routines
        * farming: Add "decoplants" versions of 2 nodes
        * lapis: Add "glow pyrite" at Wan's request
        * lottdoors: Convert old doors
        * minicarpet: Convert some "carpet3d" nodes
        * mobs: "spawn_protected" now defaults to true
        * nftools: Poikilos image improvements
        * ocfixups: Support more types of protector doors

5a. "spawn_protected" now defaults to true.

The reason for the change is that some worlds are 100% protected by default. It's confusing to world hosts if mobs don't appear, by default, in such worlds. Less confusing to have mobs appear and to require a setting to remove them.

6. "get_content_id" note.

Trollstream has modified Old MT so as to make "get_content_id" throw an error for non-existent nodes. Final MT will, for now, skip this change as it will break code that relies on a nil return value for such nodes.

7. Ported Trolltest commits:

        * Fix "get_player_by_name" returning unusable ObjectRef
        * Fix "get_connected_players" returning unusable ObjectRefs
        * Fix potential problem with "get_connected_players"
        * Add notes related to lifetime of ObjectRefs
        * More precise description of "ObjectRef:remove"
        * Profiler: Fix wrong function name for entities
        * Move "get_connected_players" implementation to C++
        * Ajust "get_connected_players" load-time behavior (#9493)
        * Update to latest "pathfinder" code

8. Ported MultiCraft commits:

        * Don't crash if "no peer found"
        * Add "is_valid_pos" to builtin
        * Update "base64.cpp"
        * Fix "Player joins game" message duplication
        * Add "attached_node2" group for attached facedir nodebox
        * Backport "place_offset_y" from MT5
        * Mobile: Fix memory leak in MainMenu
        * Increase the number and size of stars

Note: We've adjusted the numbers used in Maksym's star configuration commit. The MultiCraft settings are too aggressive.

9. Other core changes.

        * Extend "/se" to support more "mobs" mods

10. Website editor.

        * Editor can now set a page-specific navigation panel
        * Support Wikipedia [[label | title]] link constructs


1. Most significant Bucket Game changes:

        * areas: Switch to Maksym's fork that adds protector blocks
        * areas: Convert old protector blocks to "areas" compatible
        * areas: Modify to work with "codergroups"
        * beakers: Place-able lab beakers in various colors
        * coderblocks: Add or merge numerous mods to/into this one
        * coderedit: Add "//destroymeta" to remove both blocks and meta
        * codergroups: New mod. Add groups to use in other mods.
        * coderskins: New and improved skin management commands
        * coderskins: You can now toggle the spacesuit off and on
        * dice2: Add new dice colors while reducing disk space
        * earthgen: Merge sky into "codersky" to fix flickering
        * economy: New modpack that covers banking and commerce
        * occompass: New, cleaner and lighter, compass mod
        * minicarpet: New, cleaner and much lighter, carpet mod
        * mobs: Fix a long-standing TenPlus1 API bug
        * placecraft: New mod that makes any craft-item placeable
        * prestibags: Add mod. Nice-looking recursive storage bags.
        * prestibags: Poikilos reduced model size and fixed a bug
        * prestibags: Add 5 bag colors for 6 colors total
        * princess: Add mod
        * relaxed: Blocks similar to wool but with relaxed colors
        * sfnodes: Cleaner and lighter fork of "scifi_nodes"
        * sfnodes: Improve octagon glass and add more colors
        * sfnodes: Add grid glass (like octagon but grid-based)
        * soccer: Fix a crash
        * steampunk: Nice high-detail blocks plus a bug fix
        * unified_food: Add a Queen Mary boatload of new features

2. Other Bucket Game changes:

        * 3dforniture: Fix a conflict with SkyDoom
        * carpet3d: Replace with "minicarpet"
        * coderblocks: Bed of leaves
        * coderblocks: Bouncy slime blocks, cauldrons, and sponges
        * coderfood: Add new mod "sweet_machine" to modpack
        * codermobs: Patches by Greg Yurkon
        * coderskins: Move player-to-skin map into "mod_storage"
        * coderskins: Add more skins
        * deeprealms: Removed temporarily pending work
        * default: Add live earthworms to dirt
        * default: Add more "ocutil" utility routines
        * earthgen: Support more ore types
        * email: Add mod. The version used has "sfinv" support.
        * glowlights: New mod that supports legacy "glow lights"
        * hbhunger: Superseded by "unified_foods"
        * hud_compass: Replace with "occompass"
        * manaslimes: Moved to "addons" modpack
        * moontest: Remove pending conversion to a realm
        * ranks: Add mod. Include a few new ranks.
        * scifi_nodes: Replaced by "sfnodes"
        * signs_lib: Fix a crash
        * streets: Moved to "addons" modpack
        * windchimes: Moved to "addons" modpack
        * Multiple mods: Scale some images to make sizes multiples of 16

3. Unified Food:

        * Implement "hunger" functionality
        * Hook existing items automatically
        * Merge similar items
        * Make it easy to generate juices
        * Make craft-items place-able
        * Add an always-facing "sprite" mode for placed craft-items
        * Placed craft-items can be mobs (i.e., they can run away)
        * Add multiple potions based on Open Blades of Exile

3a. Unified Foods now includes "hunger" functionality. This part is based on a new and improved fork of "hbhunger".

Unified Foods supports satiation, healing, poison, and replacement items as "hbhunger" did. It also offers numerous extra features.

3b. You don't need to explicitly hook foods any longer to support basic operation.

Unified Foods intercepts calls to "minetest.item_eat". This means that satiation and replacement items are supported automatically for normal foods out of the box.

You can still hook foods to modify existing parameters or to set new ones. However, this is optional.

3c. Unified Foods can merge similar items.

If there are, for example, three types of hamburgers, Unified Foods retains all of the items or nodes, but it optionally assigns a similar image and food parameters to all of them.

The conversion isn't permanent. It's a temporary merge to promote smoother operation. However, permanent conversion could be added as additional feature.

3d. Eating a particular food can optionally produce a specified message to the user. Lists of messages are supported. If a list is specified, a random message is chosen from the list.

3e. "hbhunger" had a bug which prevented it from properly registering items that didn't set "on_use". Unified Foods supports items of that type. This means that, for example, you can make arbitrary items eatable.

3f. Eating works whether or not damage is enabled.

If hunger is enabled and damage is disabled, the hunger time loop is stopped and poison does no damage at the Unified Foods level.

3g. Two new commands "/starve" and "/satiate" have been added. "/starve" makes the user hungry. "/satiate" makes him or her satiated instead. These commands are useful for debugging purposes.

3h. It's easy to add juices to Unified Foods.

You can create a new juice, including merges with existing objects, crafting recipes, and aliases, using just one line of code.

3i. Unified Foods allows craft-item foods to be placed. Two modes are supported:

Craft-items may be placed as static 2D sprites that always face the caller.

This looks a lot better than, for example, the "plantlike" or "torchlike" drawing modes that MT "_games" usually use when 2D objects are placed.

Or craft-items may be placed as dynamic 2D sprites that work the same way but are "alive". In other words, placed hamburgers may attempt to run away from hungry players.

Craft-items may also be placed in "plantlike" or "torchlike" mode if a world developer prefers this.

The mode in which craft-items are to be placed can be specified globally in "world.conf" or on a per-item basis in the mod source code for individual items.

4. Player groups:

Bucket Game and derived "_games" now support Player Groups. They work like this:

        /listgroups -- List groups
        /groupadd Frodo farmers -- Add somebody to a group
        /grouprem Sally soldiers -- Remove somebody from a group
        /groups Albert -- List somebody's groups

Groups have names like mesecity, farmer, soldier, etc. They may be defined in "world.conf" as follows:

        codergroups = mesecity, farmer, soldier, stockbroker

You can protect areas in the name of a group. This makes things much easier.

This feature is similar to MT privileges. However, in the future, it'll be useful for things that you wouldn't use privileges for.

For example, in the future, you may be able to use this feature to send email to everybody in a group.

The "ranks" mod will probably be merged into "codergroups" in the future.

5. CoderBlocks:

A number of new mods have been added to Bucket Game as components of CoderBlocks.

The list of new mods includes Air Tools, Aluminum, Cement, Dice2, Emeralds, Glow Crystals, MCL Cauldrons, MCL Sponges, Projection Lights, and MineYoshi's RetroBlocks Anniversary.

Additionally, a number of existing mods have been merged into CoderBlocks.

The list of merged mods includes Diamonds, Grass Block, Infinity Tools, Modern Pack, Pre-Fab, Quartz, and Titanium.

6. CoderSkins changes:

        * Admins can now set skins for specified players
        * Spacesuit can now be toggled off and on
        * Move player skin data into MT mod storage
        * "/pskin" can be used to set skins for other players
        * "/skin" and "/pskin" are compatible with GUI skin changer

6a. Admins may now use "/commands" of the following form to set skins for specified players:

        /pskin PlayerName SkinName

"/pskin", executed without parameters, will list the available skin names.

Note: This command requires the "skin" privilege.

6b. Bucket Game now provides a spacesuit control craft-item.

If you wield the spacesuit control and right-click it, this will toggle a spacesuit off and on.

If you're wearing the spacesuit, the spacesuit control will be purple in color.

If you're not wearing the spacesuit, the spacesuit control will be grey with a slight purple tone.

Note: If you drop or destroy the spacesuit control, the spacesuit will turn off regardless.

7. Mobs change:

This snapshot of Final MT fixes a bug in TenPlus1's old API that's apparently been there for years.

In the past, if a mob was supposed to "follow" a wielded item that was another mob, that typically wouldn't work unless the 2nd mob had been "given" as opposed to captured.

This should work now regardless of how the 2nd mob is obtained.

8. Economy modpack:

The new "economy" modpack includes these mods initially: "atm", "currency", "exchange", "jeans_economy", and "smartshop".

9. Mini-Carpet:

The new "minicarpet" mod is a rewrite of one of the older carpet mods.

It replaces the wool base for the original carpet textures with a set of carpet textures created by Steve Da Steve.

There's a set of plain-carpet nodes plus a corresponding set with sunflowers added.

As an extra feature, this mod defines a set of blocks similar to wool nodes but with more relaxed colors.

10. Areas mod:

* Major change: "areas" now converts old "protector:" blocks to new "areas:" blocks that are integrated with the "areas" protection system.

* The "areas" HUD display lists at most one converted "protector:" entry at a time. This is necessary so as to keep the display from being flooded with entries of this type.

* As a separate change, the "areas" HUD display is now limited to a reasonable number of lines.

11. "doors" mod and locked doors:

This section is about doors based on the "doors" mod. Doors based on other mods are a separate issue.

Presently, the following doors can only be opened by the placer or by somebody with protection bypass:

        * doors:door_steel
        * doors:trapdoor_steel
        * steampunk:door_iron
        * xdecor prison door

However, the following two legacy versions of the steel door can be opened by anybody:

        * doors:door_steel_a
        * doors:door_steel_b

Most or possibly all other Bucket Game doors based on the "doors" mod can be opened by anybody as well.

12. "dice2" improvements:

We've added multiple new dice colors to "dice2", now a part of CoderBlocks, while eliminating half of the image files used.

Dice are now colored at runtime, as opposed to through the use of static colored images.

13. "sfnodes" improvements:

The old octa- (or octo-) glass didn't tile properly. It also had a limited number of colors and was glitchy in other respects.

"sfnodes" has replaced the old glass of this type with a new version created by OldCoder. The new version tiles perfectly and offers a larger number of colors.

Additionally, a related but different series of "grid" glass nodes has been added. These, like the octa- (or octo-) glass nodes, tile perfectly and offer a decent number of colors.

14. "steampunk" bug fix:

Previously, "steampunk" glass nodes didn't take alpha into account. So, the glass was either invisible or solid.

The Bucket Game version uses alpha. So, you can both see the glass and see through it.

Additionally, the Bucket Game version treats the glass as a light source. This makes "steampunk"-based buildings look much better at night.

15. "placecraft" mod:

PlaceCraft, a new mod, provides a quick way to turn any craft-item, new or pre-existing, into a placeable item or a mob.

The draw-type used is, by default, "always facing". This is just 2D, but it looks much better than "plantlike" or "torchlike" for some objects.

The draw-type "plantlike" is also supported. If "plantlike" is used, a craft-item is turned into a node that uses the draw-type in question.

If one needs to whip up decorations quickly for, for example, a laboratory or petshop, this is one way to go.

16. Protection kludge:

Presently, "prestibags" and sprites created by "placecraft" don't support direct protection.

However, if either type of object is placed on a node in the "locksprite" group, it won't be possible for anybody, including the placer, to dig the object unless the node that it's placed on is removed first.

Protection for the "locksprite" node therefore acts as protection for the "prestibag" or sprite.

This is a temporary kludge.

The list of nodes to go into the "locksprite" group is under assessment. Feel free to put any convenient node into the group in your own worlds.

17. "//destroymeta" command:

CoderEdit now provides a command named "//destroymeta" that can be used to remove blocks with meta completely.

A command of the following form:

        //destroymeta 5

looks for nodes in a 5-node radius from the person who executes the command that contain non-empty meta. If such nodes are found, both the nodes and the meta are removed.

The specified radius may be any integer from 1 to 10. If this parameter is omitted, a default value is used.

The command requires the "worldedit" privilege.

18. Trollstream core changes:

        * Add "get_flags" API function to get mapgen flags (#9284)
        * Temporary collision fix (#6886)
        * Another collision detection tweak (#9365)
        * Fix "hpchange" bugs (#8227, #8344, and #8359)
        * Add "table.shuffle" (#8299)
        * Update embedded mini-gmp to version 6.2.0 (#9396)
        * Fix param2 set to 240 if liquid source was renewed
        * Shaders: Fix OpenGL < 4.3 compatibility


This is the one-year release of Final Minetest aka MT 6. It's one of the largest updates that we've done.

The focus for the second year will shift more to documentation and packaging, but we'll continue to implement new features and bug fixes periodically.

1. Bucket Game changes:

        * areas: Limit "/find_areas" output to prevent problems
        * buckets: Handle missing source nodes correctly
        * buckets: Remove non-empty buckets from creative inventory
        * coderblocks: Add "prismarine" items
        * coderblocks: Add glowstone stairs and slabs
        * codersea: Restore "codersea:lantern"
        * coderskins: Implement a spacesuit feature
        * coderskins: Add a command "/skin" to list or change skins
        * default: Rework code
        * default: Add "default.sound_metal" (etc.) function aliases
        * default: safe_register_alias: Support craftitems
        * default: Replace PNG chest textures with JPEG versions
        * default: Support multiple soil types for papyrus growth
        * default: Restore "default:bread" and "default:rail"
        * default: Add Iroko trees
        * earthgen: Bug fixes and new features
        * exchange: Add documentation
        * extra: Drop mod
        * farming: Add obsidian hoes
        * farming: Create recipes for some hoes automatically
        * fortune: Respond only to the user that ran "/fortune"
        * hud_compass: Add mod
        * hud_compass: Fix compass orientation
        * infinite_chest: Add documentation
        * mcl_util: Add MineClone2 mod
        * moreblocks: Fix a long-standing conflict with "stairs"
        * moreblocks: Propagate light-source values to child nodes
        * mtmachines: Add cables and cable plates
        * nftools: Remove unused images, optimize remaining PNGs
        * ocfixups: Rewrite "moretrees" support code
        * ocfixups: Support more node types
        * oclrfurn: Support very old Home Decor beds
        * ocsethome: Support both "/home#" and "/home #"
        * ocsethome: Support both "/sethome#" and "/sethome #"
        * ocsethome: Sync set-home operations with "unified_inventory"
        * ocutil: Add new utility functions
        * signs_lib: Switched to Gabriel Prez-Cerezo's fork
        * stairs: Propagate light-source values to child nodes
        * stairs: Support more "default" wood types
        * ufos: Multiple improvements
        * unified_foods: Major new food mod (supersedes "food" modpack)
        * unified_inventory: Sync set-home operations with "ocsethome"
        * wool: Register nodes with "stairs" mod
        * Multiple mods: Add throwable snowballs
        * Multiple mods: Update references to obsolete chest textures

1a. The "food", "food_basic", "dessert", "extra", and "mtfoods" mods have been superseded by a new mod named "unified_foods".

The new mod is still under construction, but is expected to eventually support all items of interest in the other mods.

1a1. "unified_foods" replaces the confusing API used by "food" v2 with a much simpler API.

Additionally, this mod restores some of the foods that were discarded in "food" v2.

The "food" v2 API isn't supported. Mods that rely on the API should be merged into "unified_foods".

1a2. Partial list of foods supported:

        * banana split - Original (*)
        * chocolate milk - Not to be confused with milk chocolate
        * cupcake - From "mtfoods"
        * fruits - Original (*)
        * hamburger - Original (*)
        * french fries - Original (*)
        * onion rings - Original (*)
        * potato chips - Original (*)
        * "moono" desserts - Original (*)
        * juices - From "mtfoods" (likely to be replaced)
        * muffin - From the "dessert" mod
        * shortcake - Based on "cupcake" from "dessert" mod
        * shortbread - From "mtfoods"
        * tarts - From pre-v2 snapshots of "food"
        * vegetables - Original (*)

(*) These versions are original to Final MT

1a3. Cakes and pies, in general, should come from the "cakepie" mod. However, 3 legacy cakes from the "food_basic" mod are supported.

1a4. Replaced some textures with improved versions.

1a5. Technical note: If "hbhunger" is installed, "unified_foods" supports eating even if hunger is disabled.

1b. The "earthgen" mod has been updated.

Underground ore generation now includes blue lava, "nftools" and "rhodochrosite" ores, and glowstones.

Glowstones are generated one at a time, i.e., usually not in clusters, and serve to provide some illumination.

To disable glowstone generation by "earthgen", add the following setting to "world.conf":

        earthgen_glowstones = 0

To enable glowstone generation but adjust its frequency, set the indicated parameter to an integer from 1 to 2500. The default setting is 1500. Smaller numbers mean less frequent and larger numbers mean more frequent.

"earthgen" adds some ambient light to underground regions as well. To control ambient light, set the "world.conf" parameter indicated below to an integer from 0 to 14:

        earthgen_light = 3

Zero means no ambient light. Larger numbers mean more light. The default setting is 3.

The "earthgen" world is now 3,000 nodes in height. The underground part is 2,000 nodes deep and the atmosphere part is 1,000 nodes tall.

A bug related to underground lighting has been corrected.

1c. If either CoderMobs or "ocfixups is installed, snowballs now exist as craftitems named "mobs:snowball" and "snowball:snowball". The two items are equivalent.

If CoderMobs is installed, snowballs are throwable.

1d. Usually, people should use the CoderSkins GUI to review or select skins.

However, some "_games" may omit the GUI. Additionally, some people may want to be able to switch directly to particular skins.

So, these chat commands have been added:

        /skin or /skins -- List a few skin labels
        /skin stampy -- Switch to a specified skin from the list

Important: These commands only list or support a few of the skins in the system. The list would be too long otherwise.

1e. "ufos" is a fork of the MT "ufos" mod as it was circa 2015. This fork offers the following features:

1e1. It fully merges the Moontest and non-Moontest versions of the "ufos" mod.

To select Moontest mode, use the following setting in "world.conf":

        enable_moontest = true

1e2. The UFO Furnace formspec has been adjusted so as to provide more understandable instructions.

1e3. The "ufos" mod is now far more informative about the fueling process. It tells the user, in chat, what is happening.

1e4. You no longer need to park a UFO horizontally relative to a UFO charger. It's sufficient to park 1 or 2 nodes, in any direction, from the device in question.

1e5. You can specify the UFO Furnace fuel type in "world.conf". To do so, use a setting of the following form:

        ufofueltype = default:brick

If "ufofueltype" isn't set, the default fuel type is:

        moontest:lunarium_lump (in Moontest mode) or
        default:obsidian_shard (in non-Moontest mode)

One special issue is that you can only set "ufofueltype" to a node type defined in one of the mods that "ufos" depends on. Presently, that list of mods is as follows:

birthstones coderblocks default diamonds moreblocks nether nftools quartz scifi_nodes

1e6. UFOs have a maximum fuel level. This is an integer parameter. You can set this parameter in "world.conf" as follows:

        ufomaxfuel = 50

The minimum setting is 10 and the maximum is 100. The default is 25 in Moontest mode and 50 otherwise.

To be documented: Maximum fuel level affects, indirectly, how quickly a UFO wears out.

1e7. You can press either of two keys to fuel a UFO: "Special" (often "E") or "Back" (typically "S" or the Down Arrow).

1f. CoderSkins now implements a "spacesuit" feature.

The following "world.conf" setting is supported:

        spacesuit = true

There's a craft-item named "spacesuit" or "coderskins:spacesuit". If "spacesuit" is set to true in "world.conf", and a player has the craft-item in his or her inventory, a spacesuit will added to his or her skin.

The spacesuit will *not* be displayed in the Change Skins GUI. However, it'll be visible in-game to the player and to others who are ingame.

If the player drops or destroys the craft-item, the spacesuit will be removed from his or her skin.

If the player changes skins while possessing the craft-item, the spacesuit will appear on the new skin.

To use a different object to represent the spacesuit, set "spacesuit" (again, in "world.conf") to the full appropriate object name. For example:

        spacesuit = coderfruit:apple

Either a craft-item or a node may be used.

If "enable_moontest" is set to true in "world.conf", and "spacesuit" isn't set to true or to a valid object, the following default setting is used:

        spacesuit = moontest:spacesuit

The short name "spacesuit" is aliased, in-game, to whatever craft-item or node is used.

1g. The new "spacesuit" feature might lead to a new implementation of 3D Armor that is lightweight and more compatible with 64x64 skins than the existing 3D Armor.

1h. As an experiment, Bucket Game now places a small compass in the upper-right corner of the display.

To turn off the compass, execute "/compass 0" in-game. To turn it on again, execute "/compass 1". Note: The changes are persistent across player sessions.

2. Final MT core changes:

        * More work on "/give" and "/giveme"

3. Trollstream core changes:

        * Fix some issues with minetest.clear_craft (#8712)
        * Use "vector.dot" and "vector.cross" in "vector.angle"
        * Fix "rotate_node" to make it return the correct itemstack
        * Add table.key_value_swap (#9248)
        * MetaDataRef: Add "contains()" and "get()" (#7214)
        * Update "Carpathian" mapgen

3a. The Final MT "Carpathian" mapgen should now largely match the MT 5 version. One new feature has been added: a "spflags" setting named "classic".

If the "spflags" list for a Carpathian world includes "classic", the mapgen generates the older classic caves instead of the newer randomwalk cases.


1. Bucket Game changes:

        * default: Add more utility functions
        * ocfixups: Support an old variety of seaweed
        * stairs: Add cactus stairs
        * Multiple mods: Replace "cake" and "pie" with "cakepie"
        * Multiple mods: Support both types of rhubarb pie

1a. "cakepie" is a fork of "pie" that defines a number of cakes and/or pies. The mod includes a cake-pie API that was described in a previous release.

To eat cakes and/or pies created by this mod, one places and punches them. When one does this, the cakes and/or pies are replaced by successively thinner slices.

The following aliases are supported and recommended:

        cake:banana - Banana cake
        cake:breadpudding - Bread pudding
        cake:cake - Standard cake
        cake:cheesecake - Strawberry cheesecake
        cake:chocolate - Chocolate cake
        cake:coffee - Coffee cake
        cake:meat - Meat cake
        cake:redvelvet - Red Velvet cake

        pie:apple - Apple pie
        pie:orange - Orange pie
        pie:rhubarb - Rhubarb pie

2. Trollstream core changes:

        * Add player inventory callbacks
        * Fix spaces breaking "formspec_version[]" tag
        * Make "item_place_node" return position of placed node (#7713)
        * Make dropped light_source nodes glow (#9200)
        * Fix player information version_string (#8616)
        * Allow wave_heights up to two nodes (#9220)
        * Allow upper-case letters in mod names
        * Track reasons for HP changes and/or deaths
        * Add initial stubs for "set_rotation" and "get_rotation"

2a. The changes listed above are sufficient to make the latest MineClone2 work with MT 6 except for one issue: modpacks named "minetest- ..." must be renamed to remove the "minetest-" part.


1. Bucket Game changes:

        * bakedclay: Update to newer "git" base code
        * building_blocks: Add a missing node type
        * building_blocks: Register with both "stairs" and "stairsplus"
        * codermobs: Fix failure of chicken eggs to hatch
        * codermobs: Make chicken and ostrich eggs throwable
        * codermobs: Unfertilized chicken eggs now eventually disappear
        * default: Convert nodes of old types
        * default: Add "torch_ceiling"
        * default: New "ocutil" utility functions
        * deleteold: Add mod
        * fake_fire: Don't depend on "homedecor"
        * findbones: Add mod
        * lapis: Ensure that "stairs"-based stairs are defined
        * lapis: Register all types of "stairs:" objects
        * moreores: Add a missing node type
        * ocfixups: Add support for more nodes
        * pie: Implement public version of "register_pie"
        * pumpkinspice: Add mod
        * quartz: Fix a possible crash
        * stained_glass: Add a missing node type
        * stairs: Rework and improve code
        * stairs: Add missing stair and slab types
        * unified_inventory: Disable U.I. bags
        * wiki: Disable formspec if player is dead
        * xdecor: Update to newer "git" base code
        * xdecor: Ensure that certain stair types are defined
        * xdecor: Tweak rules used by "workbench" node filter
        * Multiple mods: New modes/options. See notes below.
        * Multiple mods: Remove 24 copies of an erroneous text file
        * Multiple mods: Fix some conflicting crafting recipes

1a. "deleteold" is a fast "delete objects" mod. It deletes specified objects of the following types:

        particular node types whether or not they're defined
        particular node types if and only if they're unknowns
        particular entity types

For more information, see "init.lua" in the mod.

1b. This version of Bucket Game and/or derived "_games" support(s) "glow wool" nodes.

These nodes have node names of the form:


They're similar to the corresponding non-"glow_" nodes but they act as light sources.

1c. Bucket Game and/or other MT 6 "_games" now support(s) the following conf-file settings:

        clayglow = true
        woolglow = true
or         glowclay = true
        glowwool = true

"clayglow" makes "bakedclay" nodes glow. "woolglow" makes "wool" nodes glow.

These two settings don't convert nodes to new types. They just affect node behavior.

1d. Bucket Game and/or other MT 6 "_games" now support(s) the following conf-file settings:

        clayshort = true
        edgygta = true
        edgylos = true
        morebench = true

In the past, old versions of the "bakedclay" mod used node names of the form "bakedclay:blue" (substitute a color). The "clayshort" setting reenables the node names in question. Note: This setting should be used if and only if it's needed.

"edgygta" and "edgylos" enable modes appropriate to, respectively, the Edgy GTA and Egy Legends of Survival "_games".

"morebench" enables "xdecor" workbench support for an increased number of base nodes.

1e. U.I. bags are now disabled due to problematic code. A modified implementation may be available in the future.

1f. This release replaces "register_pie" in the "pie" mod (a local function) with "pie.register_pie" (a global function).

The new global function can be used by mods in general to register a new type of cake or pie.

The function takes either 2 or 3 arguments:

        Image base string (see below)
        mod name (optional)

The function appends the following strings to the image base string to get the associated image-file names:

        _top.png _bottom.png _side.png

If a mod name is specified (as the 3rd argument), the function registers a cake or pie in the specified namespace. Otherwise, the namespace "pie" is used.

Example: The following call:

        pie.register_pie ("lemoncake", "Lemon Cake", "delicious")

registers the following four cake (or pie) nodes:

        delicious:lemoncake_0 = Complete Lemon Cake
        delicious:lemoncake_1 = Thinner piece
        delicious:lemoncake_2 = Ditto
        delicious:lemoncake_3 = Ditto

1g. The "findbones" mod implements commands of the following form:

        /finebones 256

"/findbones" searches for bones in a specified radius (or a default radius if none is specified).

The supported range is a radius of 128 to 1024 nodes.

If bones are found, the commands teleport the user to the location of one such node.

The commands require the new privilege "findbones".

Warning: These commands may take several minutes to run for larger distances.

1h. The "wiki" change mentioned above is necessary because popping up a formspec while a player is dead can put the player into a ghostlike state where the player can move but interaction isn't possible and mapblocks don't load.

Note: The "/killme" command is a work-around for the state in question.


1. Bucket Game changes:

        * 3d_armor: Remove modpack from base. Make it an optional add-on.
        * bike: Remove mod from base. Make it an optional add-on.
        * cake: Fix dark background for cake image
        * coderfruit: Christmas ornaments may now be moved
        * codermobs: Add a "topia" feature. See notes below.
        * codermobs: New and/or improved mob management commands
        * codermobs: Fix a bug that could freeze mobs
        * codermobs: Mobs that fall into SkyDoom clouds should disappear
        * coderskins: Improve compatibility with MT 4 clients
        * default: Locked chests now honor "protection_bypass"
        * default: Add locked furnaces
        * unified_inventory: Fix a GUI bug related to Old MT
        * xmasdecor: Replace 3 old Christmas mods with this new mod

1a. Final MT now supports 64x64 skins for both MT 4 and MT 6 clients. However, if the "3d_armor" modpack and/or "bike" mod are used, details drop to 64x32.

So, "3d_armor" and "bike" have been removed from the default distribution. They'll be made available as optional add-ons.

Note: The Final MT versions of "3d_armor" and "bike" should be used. Old MT versions won't work correctly.

1b. The "codermobs" modpack includes a mod with the same name. The mod generates creatures with entity names similar to the following:


For these creatures, a feature named "topia" is now supported. To use the feature, proceed as follows:

        * Take the part of the name after the colon (e.g., "cow")
        * Append "topia" (e.g., "cowtopia")
        * Use "/epos1" and "/epos2" to select a small region
        * Execute "/feature cowtopia" (modify to use correct string)

If you do this, the region that you set up in this manner will treat the creature in question specially. That species won't spawn there. However, individuals of that species which live there won't grow old. Additionally, they'll be more resistant than usual to damage, though not indestructible.

To put it another way:

        * A "bunnytopia" region is a utopia for "codermobs:bunny"
        * A "cowtopia" region is a utopia for "codermobs:cow"
        * etc.

1c. These three old Christmas mods have been merged to produce a single new mod:

        * christmas_decor
        * jsxmas (a fork of Jordach's very old "xmas" mod)
        * xmas (a different "xmas" mod)

The new mod is named "xmasdecor".

Most of the old nodes and craft-items are provided under the same "module:object" names as before.

"christmas_decor" objects are aliases to corresponding new objects in the namespace "xmasdecor". For example, "christmas_decor:garland" is an alias for "xmasdecor:garland".

1d. "codermobs" now supports these commands:

        /listmobs - List CoderMobs in a default radius
        /listmobs 32 - List CoderMobs in a specified radius
        /deletemobs - Delete CoderMobs in a default radius
        /deletemobs 32 - Delete CoderMobs in a specified radius

No special privileges are needed to use "/listmobs". "/deletemobs" requires a privilege; presently "worldedit", but this may change.

"/listmobs" sends output both to the game text console and to the program log file.

Not all types of mobs are supported. These two commands may ignore some types.

2. SkyDoom changes:

        * Death no longer takes "fly" and "fast" privileges
        * Lava buckets now pour lava gel instead of lava
        * Modified to work with newer "xpanes"
        * Must be level 4 now to use some "/commands"


1. Core changes:

        * Support Old MT 5 "minetest_game"

1a. Minetest 6 now runs the Minetest 5 "minetest_game" again. Additional work may be needed, but the old "_game" starts up without crashing.

2. Bucket Game changes:

        * coderedit: Add a command alias
        * coderfruit: Fix vertical position of fruit
        * codermobs: Fix a bug that could freeze mobs
        * coderwarp: New option setting "disable_spawn"
        * coderwarp: Support LinuxWorks Original
        * coderwarp: Support SkyDoom
        * hbhunger: New option setting "disable_hunger"
        * eregions: Add "/feature" command
        * ocfixups: Add missing nodes
        * ocsethome: Add an API for use by other mods
        * tronrealm: Disable a conflicting recipe
        * weather: Make snow behavior configurable
        * Multi-mods: Improve support for SkyDoom Game
        * Multi-mods: Support a Winter Wonderland mode

2a. The following option setting may now be used to disable both regular fixed "/spawn" and multi-spawn:

        disable_spawn = true

This setting will be useful in "_games" that provide their own nonstandard "/spawn" commands.

2b. "hbhunger" is now active if and only if these two conditions are met:

        This is set: enable_damage = true
        This is not set: disable_hunger = true

To put it another way: If damage is enabled, hunger is normally enabled. If you'd like to enable damage without hunger, specify both of the settings indictaed above.

2c. "eregions" now supports the command "/feature" as an alias for "addfeature".

2d. Bucket Game now supports the following optional "conf"-file setting:

        winter_wonderland = true

This setting enables a Winter Wonderland mode. In this mode, three things happen:

        * The weather is always snow falling
        * Some ground node types change appearance to snow-covered
        * Trees grow Christmas ornaments as well as fruit

If "winter_wonderland" is changed from true to false and the world involved is restarted, the preceding changes are reversed. As part of this, ornaments that are still attached to trees disappear.

2e. Bucket Game now supports the following two optional "conf"-file settings as well:

        snow_particles_count = 25
        snow_particles_range = 25

These settings may be used together or separately.

The 1st one sets the density of a snow-storm. The useful range is 5 to

25. Higher numbers produce denser storms.

The 2nd one sets the radius of a snow-storm around the player. The useful range is 10 to 30.

3. SkyDoom changes:

        * Use the new API provided by "ocsethome"
        * Continue to update modset from 2012 to 2019
        * Floating islands grow Christmas ornaments


1. Build-framework changes:

        * Add new "build" modes
        * "--makeprod" binaries now work with more Linux distros

1a. "--edgytest" builds EdgyTest (a fork of MT 0.4.X) instead of Final Minetest. A 0.4.X "_game" is substituted for Bucket Game. Implies "--fakemt4" and "--oldproto".

1b. "--fakemt4" fakes a MT 0.4.X release number. Implies "--oldproto".

1c. "--oldproto" limits network protocol level to 32. This is presently the default, and only, mode of operation. So, for the time being, the switch has no net effect.

2. Core changes:

        * Improve "/give" and "/giveme" further

3. Bucket Game changes:

        * areas: Add command aliases "/apos1" and "/apos2"
        * coderedit: Improve node-name resolution
        * codermobs: Fix a dungeon-spawner crash
        * ocfixups: Add water block from old Meowtest "_game"
        * ocfixups: Add fruitless bushes from "bushes_classic"
        * unified_inventory: Patch to support Old MT 4 core engine
        * wool: Add "wool:glow_color" versions of the "wool:color" nodes
        * Multiple mods: Remove 33 copies of an erroneous text file


1. Ported "luk3yx" core-engine features:

        * Password manager in GUI
        * Optional music for main menu
        * Pause automatically on lost focus

1.1. By default, the Final MT client now prompts to save passwords on a username/world basis.

In other words, the client is able to save and reuse a different password for each username on each world.

A global override is supported. You can add a setting of the following form to a client-side "minetest.conf" file:

        password = apple/saucer

If you do this, the specified password will be used for all log-ins to all worlds.

The GUI password manager will be disabled except for the saved-passwords screen.

If you remove the "password =" line from "minetest.conf", the GUI password manager will be active again. Passwords saved in the past will still be there.

1.2. In the past, Final MT supported other places to put a global password.

The other places are disabled presently for reasons related to the GUI password manager code.

If you'd like to set a global-password override, this needs to be done in "minetest.conf" as explained above.

1.3. The "pause on lost focus" feature doesn't presently stop attacks by mobs or other players.

2. Trollstream core changes:

        * Restore intended functionality to minimap markers (#8819)
        * Randomwalk caves: Reduce 'insure' value from 10 to 2 (#9035)
        * Inventory: Handle removeItem leftovers (#8884)
        * Fix crash related to falling nodes with inventories
        * Fix LocalPlayer::isDead bug related to immortality
        * Fix Inventory::moveItemSomewhere
        * Disable autoforward if player is dead
        * Improve alpha blending in texture mod compositing (#9029)
        * client.h: Add missing const's
        * Make AreaStore IDs persistent (#8888)
        * Document luaentity pitch and roll in world format (#8864)
        * Add help text for settings that lack one (#9007)
        * Set minimum values for critical settings (#9000)
        * Textures: Load base pack only as last fallback (#8974)
        * Allow calling ItemStack with no arguments (#8783)
        * Settings: Prevent mutex deadlock in remove (#7803)
        * CSM: Fix itemstack:get_meta "metadata" indexing error
        * label[]: Fix cut-off translated text
        * Simple shader fixes

3. Other core changes:

        * Run the MT client using "padsp" where possible

3.1. Use of "padsp", where available, improves the odds that sound will work.

The "padsp" feature is presently added only to production builds created using the Linux Minetest Kit.

If you have a non-production build, and your distro provides "padsp", you can achieve the same goal by running the program as follows:

        padsp minetest

4. Bucket Game changes:

        * bluelava: Merge mod into "default" and remove old version
        * bucket: Support blue and green lava
        * coderskins: Improve set of skins
        * default: Add blue and green lava
        * default: Add "lava" privilege related to all colors of lava
        * default: Make more nodes bucket-able
        * ocfixups: Rework the "stairs" code
        * ocfixups: Fix unknowns created by certain types of digs
        * ocfixups: Replace "protector" nodes and chests when necessary
        * unifiedinventory: Updated to latest git code

4.1. The "lava" privilege is new. If a player doesn't have it, he or she can't manually place "lava_source" or "lava_flowing" nodes. This applies both to regular lava and to blue lava.

The "lava" privilege doesn't presently affect:

        * Buckets of lava (see below for more information)
        * Special lava nodes that are used for building purposes
        * Water

Buckets of lava are addressed by a "conf"-file setting named "bucket_gels_lava".

By default, if a lava source node is placed in a bucket, it turns into a safer type of lava called "lava gel". This applies both to regular lava and to blue lava.

To allow transport of a lava source by bucket, the world owner may use the following setting:

        bucket_gels_lava = false

5. RedIce Game changes:

        * codermobs-lite: Fix warning message related to a missing mob
        * mesecons: Fix ghost- and remove- stone inventory images
        * protector: Remove due to request

Note: RedIce Game also gets the bug fixes and changes listed under Bucket Game.


For 10 consecutive months, starting in January 2019, we've released major changes each month.

The 191023 fileset might be the last major release for a while. Work will continue, but focus needs to shift, for now, to documentation, packaging, ports, and websites.

1. Core changes:

        * "/give" and "/giveme" no longer need "mod" specifier

1a. In Old Minetest, the "/give" and "/giveme" commands need a "mod" specifier. For example:

        /giveme default:axe_steel

In ths example, the "mod" specifier is "default:".

This Final Minetest commit makes the "mod" specifier optional. If the specifier is omitted, the two commands will figure out the mod to use.

The sample "/giveme" command shown above may therefore be shortened to:

        /giveme axe_steel

This change requires a core update.

The "mod" specifier is still supported. It should be used to disambiguate in cases where an object exists in multiple mods.

If an object exists in multiple mods and the "mod" specifier is omitted, the two commands will choose one of the two mods to use. The "default" mod takes precedence over other mods.

2. Bucket Game changes:

        * abjphabet: Drop mod. Superseded by "ehlphabet".
        * areas: Don't try to list 100s of areas in-game
        * asteroid: Fix a crash
        * asteroid: Remove a dependency on "birthstones"
        * bamboo: Add mod (SmallJoker's version)
        * carts: Reduce resolution of textures to 96x96
        * coderwarp: Support Legends of Revival
        * default: Add a "lumberjack" mode (enhanced tree cutting)
        * default: Convert old 2D ladders to new 3D ladders
        * default: More work on new tree system
        * coderfruit: Only grow fruit near tree trunks
        * emoji: Add mod. Displays emoji when emoticons are used in chat.
        * elphabet: Detect absence of "abjphabet" and replace it
        * elphabet: Use higher-resolution textures from "abjphabet"
        * flowers: Remove an invalid definition (#2324)
        * ocfixups: Support more nodes

2a. A new mode named "lumberjack" is now supported. The new mode makes things easier and is more realistic in some respects.

It also partly replaces leaf decay and is lighter since no ABM is required.

Lumberjack mode is enabled by default, but is optional.

Lumberjack mode comes into play when you chop a normal tree node. If the new mode is enabled, these things happen:

If the chop leaves a vertical gap, the tree column above the gap will fall down to close the gap. Neighboring columns may fall down as well.

Leaves connected to the tree near the chopped node will snap off and disappear. So will leaves connected to nodes that fall down. Fruit or cones will behave the same way.

Deleted leaves spawn saplings that drop to the ground (or to the first level surface encountered). The builder has about a minute to collect dropped saplings before they disappear.

To disable lumberjack mode, use this "conf"-file setting:

        disable_lumberjack = true

The chance that a deleted leaf node will drop a sapling is 1 in 20 by default. To change the 20, use a "conf"-file setting of the following form:

        sapling_drop_chance = 15

2b. Most tree fruit or cone entities grow below associated tree leaves. The tree leaves must now be located within a specific distance of some type of tree.

The default distance is 6 nodes. To change the default distance, use a "conf"-file setting similar to:

        fruit_tree_range = 5

The point of this change is to prevent fruit from growing in leaf sculptures that aren't part of a natural tree system.

2c. The "_game" now converts old 2D ladders to new 3D versions with the correct orientation.

This works for 2D ladders that were placed vertically. 2D ladders that were placed horizontally aren't supported in 3D form. They become vertical ladders.


1. Package changes:

        * Make Linux binary package more portable

1a. The Linux "minetest" wrapper now replaces bundled shared-object libraries with native copies in some cases. This should make the binary package work on more systems.

2. Trollstream core changes:

        * fontengine: Fix non-gettext builds
        * Improve undersampling settings
        * Optimize core.after in a simple way (#8351)
        * Make Mapgen::spreadLight use a queue (#8838)
        * Move debug.txt after it grows too big (#8904)

3. Bucket Game changes:

        * anvil: Add mod (separate from "castles").
        * coderfood: Support "army" and "extra"
        * codermobs: Add debug options
        * codermobs: Support alternate spellings for options
        * default: Disable junglegrass spawning by default
        * extra: Add mod. Note: This is mostly extra types of food.

3a. Either of the following two "conf"-file options, which are equivalent, will now enable debug-type messages (which are sent to the usual log files):

        codermobs_debug = true
        debug_codermobs = true

3b. These five types of "conf"-file options:

        codermobs_enable_oldlady = true
        codermobs_disable_oldlady = true
        codermobs_regional_oldlady = true
        codermobs_monster_oldlady = true
        codermobs_peaceful_oldlady = true

may now spelled, respectively, as follows:

        enable_codermobs_oldlady = true
        disable_codermobs_oldlady = true
        regional_codermobs_oldlady = true
        monster_codermobs_oldlady = true
        peaceful_codermobs_oldlady = true

Substitute any supported mob name for "oldlady" in these commands. Examples include "bunny", "cacodemon", "lawyer", etc.

3c. Junglegrass spawning is now disabled by default. To enable it, use the following "conf"-file setting:

        enable_junglegrass = true


1. Bucket Game changes:

        * castles: Fix a crash
        * castles: Remove modpack from base modset
        * coderedit: Implement a pending-operation queue
        * coderedit: Make confirmation prompts optional
        * codermobs: Fix a problem with ducks. Quack.
        * coderskins: Structural changes
        * default: Trees now look more ragged but are faster
        * eregions: Use "AreaStore" to speed up operation
        * eregions: Support per-attribute ABMs
        * eregions: Add new region attribute "lavagel"
        * facade: Disable use of some mods by default
        * fire: Add new region attribute "noburn"
        * ocfixups: Add alternatives for many more nodes
        * prefab: Add mod. Note: This is a fork of Prefab Redo.
        * soccer: Minor bug fixes
        * streets: Enable modpack by default
        * streets: Scale down wide images. This helps Android.
        * travelnet: Fix a crash
        * Multiple mods: Remove almost all uses of "inventorycube"

1a. Two new region attributes are supported:

lavagel: If you add this attribute to a region, Lava Source nodes in the region will be changed to Lava Gel nodes. Lava Flowing nodes will be removed.

noburn: If you add this attribute to a region, normal fire shouldn't spread or ignite things in the region except for direct ignition. This feature may need more work.

These two attributes are in addition to "nomobs", previously implemented, which prevents most mobs from spawning in a given region. Note that "nomobs" doesn't affect CoderSea mobs and certain special mobs of other types.

1b. The region attributes system, "eregions", now uses a fast mechanism known as "AreaStore" to speed up operation.

1c. "eregions" now supports optional per-attribute ABMs.

If a new region attribute is implemented, an ABM may be specified as part of the attribute definition. The ABM will be executed at runtime if, and only if, at least one region with the specified attribute exists.

1d. Previously, CoderEdit executed these four types of commands asynchronously: copy, emerge, move, and set.

This meant that these operations returned control to the user immediately, but continued to run in the background.

If the user tried to do overlapping operations, a "busy" error message occurred.

The four types of CoderEdit commands listed above are now queued, instead, by default.

This means that commands of this type are stored and then executed in the order of submission. Control still returns to the user immediately.

The "busy" error message doesn't appear in this mode.

The following "conf"-file setting disables the queue mechanism:

        coderedit_noqueue = true

If this setting is used, CoderEdit reverts to the previous mode. For example, the "busy" error message may appear.

A new slash-command "//queue" (with two slashes) can be used to toggle the queue on or off manually. Note: This command doesn't affect operations that are already queued.

1e. Mixing the four types of CoderEdit commands listed above with other CoderEdit commands in the same sequence probably won't work. This is an issue for future review.

1f. As a separate change, confirmation messages are now disabled by default. To enable them, use the following "conf"-file setting:

        coderedit_confirm = true

1g. The following "conf"-file setting may now be used to turn on extra CoderEdit "debug" messages at the log-file level:

        coderedit_debug = true

1h. This update removes nearly all uses of "inventorycube". This fixes a "flickering" problem which occurred the first time that Unified Inventory was used in a given run.

1i. "facade" adds a potentially large number of node types to the "_game". It's inadvisable to include all of them by default. So, the mod now omits the classes of "facade" nodes listed below, but they can be enabled as indicated.

"facade" nodes based on "bakedclay" are disabled by default. To enable them, use the following "conf"-file setting:

        enable_facade_bakedclay = true

"facade" nodes based on "darkage" are disabled by default. To enable them, use the following "conf"-file setting:

        enable_facade_darkage = true

1j. The "streets" modpack is now enabled by default. To disable it, use the following "conf"-file setting:

        disable_streets = true

1k. The leaves change mentioned above is experimental. It consists simply of changing the "drawtype" setting for most tree leaves created by the "default" mod.

The old setting is: "allfaces_optional" The new setting is: "glasslike"

The change allows PCs with less-capable graphics cards to run MT with less motion stuttering.

The drawback is that trees look more ragged with the new setting. On the other hand, they might be more realistic this way.

To switch back to the old mode, use the following "conf"-file setting:

        enable_slow_leaves = true


1. Bucket Game changes:

        * abjphabet: Fix a bug that caused Unified Inventory to flicker
        * codermobs: Support spawning with "noisegrid" mapgen
        * coderskins: Major overhaul. Support Unified Inventory.
        * ocfixups: Allow "invsaw" to cut "basic_materials:cement_block"
        * ocfixups: Add a missing sign type

1a. "coderskins" now gives you all of this:

        * Support both 64x64 MC skins and 64x32 MT skins
        * Compatible with 3D Armor even for 64x64 skins
        * Unified Inventory "skins" GUI (similar to "u_skins")
        * World host can change the order of displayed skins
        * World host can specify 1- or 2-line skin descriptions
        * Players get random gender-neutral skins by default
        * Add more navigation buttons to the "skins" GUI
        * Fix bug in "u_skins" "Change" button
        * Add "u_skins" built-in skins plus numerous new skins
        * Add tooltip that "u_skins" is missing

For details, see:


2. Other changes:

        * "minetest" wrapper now hides "ALSANoMMapProc" flood messages


1. Bucket Game changes:

        * caverealms: Remove unneeded debug logging code
        * codermobs: Add MultiCraft pig (Maksym)
        * codermobs: Dungeons now support special mob spawning
        * codermobs: Rework mob selection settings
        * loot: Add mod
        * mdskeleton: Add sounds (Poikilos)
        * mdskeleton: Replace illegal texture (Poikilos)
        * screwdriver: Replace "readme" files with "LICENSE" file
        * weather: Disable weather underground
        * Switch "icetools" and "magmatools" to creative-only

1a. "codermobs" mob selection now works as follows:

* If either of these settings are used, all "codermobs" are enabled:

        codermobs_enable_all = true
        codermobs_enable_mobs = true # same as preceding

* If either of these settings are used, all "codermobs" are disabled:

        codermobs_disable_all = true
        codermobs_disable_mobs = true # same as preceding

* If none of the settings above used, a set of default mobs is enabled. The default set can be set to empty by:

        codermobs_disable_default = true

* The default set can be set to minimal using:

        codermobs_default_minimal = true
        codermobs_default_minimum = true # same as preceding

or to a typical farm and/or rural set using:

        codermobs_default_farm = true
        codermobs_default_rural = true # same as preceding

"codermobs_disable_default" takes precedence over the "codermobs_disable_..." settings.

* This setting will disable "monster" mobs in most, but not all, contexts:

        codermobs_disable_monster = true
        codermobs_disable_monsters = true # same as preceding

* A "codermob" can be forced to "monster" status using a setting of the form:

        codermobs_monster_oerkki = true
        codermobs_monster_sheep = true

* A "codermob" can be forced to "peaceful" (i.e., non-"monster") status using this instead:

        codermobs_peaceful_oerkki = true
        codermobs_peaceful_sheep = true

* Individual mobs can be enabled using settings of the form:

        codermobs_enable_oerkki = true
        codermobs_enable_sheep = true

or disabled using:

        codermobs_disable_oerkki = true
        codermobs_disable_sheep = true

* Settings that imply disable, in general, take precedence over settings that imply enable.

* If a mob that has already spawned exists, it isn't affected by disable-type settings.

* Unwanted "codermobs" can be cleared in-game, up to a reasonable radius, using:


1b. By default, dungeons now spawn a few "codermobs" periodically. This is a special type of spawning that takes place in addition to regular spawning.

* To disable this feature, use:

        dgspawn_seconds = 0

* To set the spawn time-cycle length, use:

        dgspawn_seconds = 30

Replace 30 with the desired cycle length in seconds. It needs to be at least 10.

* If too many mobs of a given type are present within a radius of one mapblock (16 nodes), that type of mob will stop spawning by dungeon special spawn.

To set the limit in question, use settings of the following type:

        bat_maxnum = 4
        mdskeleton_maxnum = 4
        oerkki_maxnum = 4

Replace 4 with the desired maximum number of mobs for each type. It needs to be from zero to 10.

Zero will disable dungeon special spawning for the associated mob.

The default setting for "oerkki_maxnum" is zero. So, Oerkki won't spawn this way unless you set "oerkki_maxnum" to a positive integer.

* If one of the mobs indicated above isn't enabled, it won't spawn, regardless.

Special case: "codermobs_disable_monsters" doesn't presently affect dungeon special spawning.

* Dungeon special spawning is presently handled by "spawning" nodes. To log locations where the nodes are placed and related settings and information, use:

        dgspawn_log = true

1c. For now, "icetools" and "magmatools" ore generation is largely disabled. The associated tools are, therefore, available only in creative mode.


The 7-month snapshot release of Final Minetest takes things to a level that Old Minetest it will bedevil. It's 20 times faster for some Lua mapgens. Repeat, 20 times.

We've switched to the full version of Caverealms and it runs at full speed.

Our fork of the Underworlds mod has been added with special features. So, a wide variety of underground realms are now possible. Additionally, our versions of Caverealms and Underworlds are smart enough to cooperate.

There are piles of new mobs that you won't find in Old Minetest. The travelnet framework has been improved further. More Minetest 5 API calls have been added. You'll notice a heaping helping of original and trollstream bug fixes.

You won't be able to find a Minetest that is more best than this test. It's the end of your test quest.

1. Core and "_game" speedup change.

Lua mapgens are now up to 20 times faster. Repeat, 20 times.

The Lua mapgen speedup requires the use both of the latest core engine and the latest copy of Bucket Game.

Additionally, we've only tested it under Linux. Windows may or may not be supported. Finally, the degree of speedup and whether or not a speedup occurs at all may be dependent on which Linux distro is used and other factors.


It appears that, with this feature installed, "get3dMap_flat" should be used instead of "get_3d_map_flat" or crashes may occur. This may necessitate, for example, a patch to "mapgen_helper".

2. Trollstream core changes:

        * Don't add group values of zero to group lists (#8751)
        * Flat Mapgen: Fix and improve "getSpawnLevelAtPoint" (#8756)
        * Avoid crash caused by, and improve, "findSpawnPos" (#8728)
        * Mapgen v6: Fix mudflow iteration and iterate twice (#8795)
        * Use recursive mutex to prevent a lockup (#8808)
        * Add "player:get_meta" API function (#7202)
        * Add API function "minetest.read_schematic"
        * Add new names for noise userdata API functions
        * guiVolumeChange: Fix child not being removed
        * Handle multiple deserialization of a block's entities
        * Fix crash in ReliablePacketBuffer on mismatching packets
        * Fix negative offsets not being supported by container[]

3. Core and "_game" change: Disable leaf decay by default.

A number of worlds use leaves as the basis for sculptures. If the sculptures are destroyed by leaf decay, turning leaf decay off won't restore them.

On the other hand, for worlds where the host wants to use leaf decay, there are no negative consequences to having leaf decay off initially and then turning it on.

So, leaf decay has been turned off by default.

As part of this, the parameter "disable_leaf_decay" has been replaced with "enable_leaf_decay". The default setting for the new parameter is:

        enable_leaf_decay = false

4. Travelnet improvements.

Two useful "travelnet" repair features have been added.

Previously, if a travelnet with a given name was destroyed at the node level and you tried to re-create it, either at the same location or at another, you'd get a "travelnet already exists" error message.

This is now corrected in most cases. There may be special cases where problems will still occur.

As a separate issue, if a travelnet with a given name has been destroyed at the node level and you use another travelnet to teleport to where the destroyed travelnet used to be, a fully-functional palantri replacement will be placed there.

The reason that a palantiri is used, as opposed to a normal travelnet, has to do with rotation. There is no way to tell which way a replacement travelnet created in this situation should face. For a palantiri, it doesn't matter.

Known glitches:

Sometimes, you need to travel to the location of a missing travelnet twice before the palantiri will appear.

The palantiri won't appear if there is any node at the location. This should be modified so that the palantiri can overwrite grass, stone, or other natural objects.

5. Underground realms.

We've switched from Caverealms Lite to Caverealms. Due to the FFI speedup change, Final Minetest is now fast enough to run the full Caverealms at full speed.

Additionally, we've added our fork of "underworlds", presently named "deeprealms".

"deeprealms" makes it possible to add custom underground realms easily. About half a dozen realms, including an underground version of Earth itself, come with the mod.

The Bucket Game version of Caverealms knows about "deeprealms" and turns itself off in "deeprealms" regions.

"deeprealms" includes special features as well. These are discussed in the "oldcoder.txt" file that comes with the mod.

6. Other Bucket Game changes:

        * codermobs: Add male and female ducks by Poikilos
        * codermobs: Add 10 high-quality mobs from the "22i" set
        * codersea: Add a new type of fish
        * coloredwood: Add mod
        * decorpack: Compatibility with more types of doors
        * decorpack: Restored bathtub using a smaller model file
        * decorpack: Merge new trollstream nodes
        * default: Add new utility functions
        * default: Change ladders from 2D to 3D
        * default: Merge new trollstream nodes
        * doors: Compatibility with more types of doors
        * exchange: Add mod
        * flowers: Merge new trollstream flowers
        * mobs: Flexible animation parameters spelling
        * moreblocks: Merge new trollstream nodes
        * ocfixups: Support more nodes
        * ropes: Sync with trollstream
        * ufos: Support both "Moontest" and regular types
        * xpanes: Merge new trollstream nodes

6a. New "22i" mobs include Lawyer, Caveman, Hippo, Letter G, Hot Dog (dachshund), Camel, DigiBug, Baby, Old Lady, and Robot Ted.

6b. "mobs" now allows two-word animation parameter names to be spelled in either order; e.g., "speed_normal" or "normal_speed".


1. Bucket Game changes:

        * abjphabet: Add mod
        * chains: Add mod
        * christmas_decor: Add mod. This is a fork.
        * christmastree: Add mod
        * easter_eggs: Add mod
        * farming: Multiple changes and improvements
        * greeknodes: Add mod
        * homedecor: Add more types of 3D bottle contents
        * homedecor: Switch from LBMs to ABMs for conversions
        * jsxmas: Add a meta-present type
        * ocfixups: Support many more types of nodes
        * oclrfurn: Add mod. This mod replaces "lrfurn".
        * rotate: Fix a crash
        * sandplus: Add mod
        * soccer: Add mod
        * windchimes: Add mod
        * wine: Add mod. This is a fork.

1a. "oclrfurn" is a drop-in replacement for "lrfurn" that supports old as well as new furniture types.

In particular, if "oclrfurn" is installed, Home Decor armchairs and sofas dating from 2012 to 2018 should work. I.e. the mod is more compatible with Home Decor than Home Decor itself is.

1b. The forked version of "christmas_decor" merges different versions of the mod and fills in some gaps.

1c. The forked version of "wine" replaces some 2D objects with 3D versions.

1d. A node type "xmas:present_meta" has been added to "jsxmas". This node turns into one of the other "jsxmas" "present_" node types, randomly selected.

1e. Changes to "farming":

        * Add missing crop "strawberry" (based on Ethereal)
        * Add support for a museum mode (enable_museum = true)
        * Disable use of "stairs"
        * Updated mod


1. Bucket Game node overflow changes:

1a. A major problem with MT "_games" is that a relatively small set of mods may pre-register 10,000s of nodes whether or not the nodes are needed.

Only about 32,000 nodes total are allowed. So, the pre-registration may cause "_games" to abort.

1b. To address the problem, Final Minetest has reduced the default number of nodes supported.

carpet3d, castle, streets, and tronrealms: By default, a large number of registrations are now disabled.

To enable the full set, for one of these mods, use the corresponding "conf"-file setting from the list below:

        enable_carpet3d_fullset = true
        enable_castle_fullset = true
        enable_streets_fullset = true
        enable_tronrealms_fullset = true

Warning: These settings may overload Minetest and cause the "_game" not to load.

1c. xdecor is a special case:

The mod provides a workbench. The old version of "xdecor" registered thousands of possible workbench output nodes unnecessarily.

The "xdecor" workbench now supports only input nodes which set "workbench" to 1 or true in their definitions blocks. By default, only a small number of nodes do this.

If you'd like to use particular nodes with the workbench, you must now modify the associated definitions blocks in that manner.

2. Bucket Game flood stopper:

2a. Bucket Game now includes a "flood stopper" that will be useful for people who are building new worlds out of old worlds.

If somebody loads pieces of old worlds into new worlds, quite often, a body of water or lava will have been sliced in half. The result may be bottom-less lava-falls or waterfalls.

The flood stopper is disabled by default. If it's enabled, walls will appear magically to stop lava-falls or waterfalls that are located below sea level.

Warning: Fountains below sea level will also be stopped.

The flood stopper should only be turned on for as long as it takes to fix the problem described above. Reasons:

        * The ABM used will slow down the "_game"
        * Fountains will be stopped as noted above
        * There may be other side effects

To enable the flood stopper, use the following "conf"-file setting:

enable_fixfloods = true

3. Other Bucket Game changes:

        * 3dforniture: Add mod
        * bakedclay: Improve support for slopes
        * birthstones: Fix a crash
        * coderblocks and ocfixups: Add old Home Decor glowlights
        * coderblocks and ocfixups: Add old Home Decor refrigerator
        * coderblocks and ocfixups: Add other missing objects
        * coderedit: Extend "//saveboth" meta-nodes filter
        * default: Fix a crash related to the Trees API
        * default: Add legacy Conifer Tree from April 2012
        * default: Add utility function ocutil.make_set
        * doors: Fix a crash
        * stairs: Merge Stairs Redo functionality

3a. Minetest tip:

Presently, "on_construct" isn't called when a node is created using CoderEdit aka WorldEdit.

So, for example, XDecor workbenches created in this manner won't work correctly.

3b. The Bucket Game "stairs" mod isn't Stairs Redo, but it now includes most of the functionality of Stairs Redo.


The 6-month anniversary release of Final Minetest is up. The "_game" is so amaze that we expect you'll be craze.

1. Core engine changes:

        * Fix isNan on setYaw Lua call (#7380)
        * Restore API function "get_mod_info"

2. Bucket Game changes:

        * bones: Replace "bones" cube with a tombstone
        * coderfruit: Add growing versions of five tree fruits
        * codermobs: Support "codermobs_disable_..." settings
        * codermobs: Tweak spawn parameters
        * darkage: Disable "darkage" mapgen by default
        * death_messages: Add mod
        * default: Add lemon trees (based on Cool Trees version)
        * default: Add maple trees
        * default: Progress on a new Trees API
        * default: Add "default:meselamp_white"
        * default: Add LOTT marble blocks and bricks
        * default: Improve compatibility with "moretrees"
        * engrave: Add mod
        * ocfixups: Improve compatibility with "moretrees"
        * ocfixups: Improve support for old doors
        * ocfixups: Add other aliases and/or nodes
        * streets: Add mod
        * travelnet: Fix a crash

2a. New CoderFruit growing items: acorns, cedar cones, lemons, maple syrup cans, and pine cones.

2b. The new Trees API will simplify the task of adding new types of saplings and trees.

2c. Dark Age mapgen is now disabled by default. It can be turned on using the following "world.conf" setting:

        enable_darkage_mapgen = true

Existing Dark Age nodes are supported, regardless.

3. Minetest tips:

3a. If a sign is loaded from a ".we" schem, writing may not appear until the world is restarted.

3b. If you obtain an item and it doesn't appear in the inventory row, press "i" to display the full inventory. The item may have been added to a stack located below the top row.

4. The "streets" mod runs if, and only if, the following "conf"-file setting is used:

        enable_streets = true


1. Core engine changes:

        * Fix an invalid "gcc" warning message
        * Merge: Add disable_jump to liquids and ladders (#7688)
        * Merge: Make option-setting name rules stricter
        * Merge: Increase upper limit of display_gamma (#8618)
        * Merge: Optimize and unify mesh processing (#7851)

2. Bucket Game changes:

        * bonemeal: Make it more difficult to get infinite bonemeal
        * coderedit: New WorldEdit commands
        * codermobs: Fix a beehive craft bug
        * codermobs: Fix a missing bee in beehive image
        * cottages: Update to match upstream
        * cottages: Disable "cottages" water module
        * default: Add missing function: default.can_interact_with_node
        * default: Fix failure of furnace flame to appear (Slopsbucket)
        * farming: New orange texture (Poikilos)
        * food_basic: New orange texture (Poikilos)
        * infinite_chests: Fix a protection bug (CrowNos)
        * travelnet: New sound plus selectable alternative (Poikilos)

2a. New WorldEdit commands based on the "WorldEdit Additions" mod have been added to CoderEdit.

These include, for example, "//floodfill", which can be used to replace connected nodes with a specified new node, and "//multi", which can be used to execute multiple commands in one line (not just WorldEdit commands).

Documentation may be found in the Bucket Game "coderedit" directory tree and will go online in due course.

One change is that the usual confirmation step has been turned off, for now, for "WorldEdit Additions" operations. This is due to the original mod's reliance on "//yy" and "//nn" commands that may be confusing to some users.

2b. Previously, you could use 3 wild bees but not 3 tame bees to craft a beehive. That has been corrected.

One issue remains: Support for mixing wild and tame bees in the craft grid hasn't been implemented.

2c. The "cottages" water module is unusually complex and seems fragile. Not presently working. Disabled.

2d. Previously, non-owners could delete pages in locked infinite chests. This has been corrected.

2e. A new default travelnet sound by Poikilos has been added.

To get a sound similar to that used in one 1960s TV show, use this conf-file setting:

        travelnet_sound = travelnet_sound_transporter


1. Bucket Game changes:

        * bucket: Reworked Bucket API further
        * coderblocks: Added Bucket O'Cheese
        * default: Added buckets for a number of solid nodes
        * default: Added ocutil.register_node_bucketable
        * tsm_pyramids: Generation bug fix (Slopsbucket)

1a. Bucket API work:

The Bucket API is no longer limited to "liquids" per se. You can now create, for example, Bucket O'Cheese.

The "bucket" mod now provides an alternative to the old "bucket.register_liquid" routine.

The old routine is still supported. The new one, "bucket.register_bucket_hash", has a simpler and safer interface and supports additional features.

The routine in question can construct its own bucket images for inventory and wield use based on a contents image. For example, a cheese image can be used to create, automatically, a Bucket O'Cheese inventory and wield image.

"default", additionally, now defines the following Bucket API routine:


This routine can be used, either before or after "bucket" is loaded, to register node types and create associated bucket types in a single call.

For more information, see "bucket/init.lua" and "default/ocutil.lua".


This is the 5-month anniversary of the first formal release of Final Minetest. To celebrate, we're releasing, after months of work, Total Travelnet.

Total Travelnet is too complex a component to fully document here. For details, see:


1. Key features of Total Travelnet:

* Multiple Types. Total Travelnet supports four types of travelnets: regular travelnets, elevators, palantiri, and travelpads.

* Travelnet Themes. This mod can display legacy travelnets, Poikilos travelnets, or OldCoder travelnets. It can also make regular travelnets look and behave like palantiri.

* No Punch Updates. If the standard Travelnet Repair ABM is enabled, there is no longer a need for players to left-punch on travelnets to update the target lists.

This feature works for all types of travelnets: regular travelnets, elevators, palantiri, and travelpads.

* Sane Sort. This mod sorts "travelnet" target lists in alphabetical order. However, you can enable the old sort algorithm if you'd like to do so.

* Mapgen Tour. This is a mapgen-related tool that is useful for advanced world hosts.

* Configurable. The mod can now be configured using "conf"-file option settings.


1. Bucket Game changes:

        * books: Display book titles in inventory tooltips
        * bucket: Tidy up and extend the Bucket API
        * butterflies: Add mod
        * cottages: Revise anvil recipe to fix a conflict
        * farming: Replace barley texture to make it legal
        * fireflies: Add mod
        * homedecor: Display book titles in inventory tooltips
        * ilights: Add mod
        * manaslimes: Reduce spawn frequency to a reasonable level
        * mtmachines: Fix an infrequent crash
        * ocfixup: Add aliases for obscure corn and tomato plants
        * Unified Inventory: Use meta descriptions in tooltips

1a. "butterflies" and "fireflies" are forks of the corresponding Old MT mods.

The Final MT versions are active if and only if two conditions are met:

The MT server used must support the API call "minetest.get_decoration_id". Additionally, the corresponding conf-file flag from the list below must be set to true:

        * enable_default_butterflies = true
        * enable_default_fireflies = true

These objects aren't mobs; they don't spawn. They'll only show up in areas that are map-genned after the objects are enabled.

If the API call indicated above isn't supported, the game won't crash. In this case, or if the required settings aren't true, the objects won't be generated and existing instances will be aliased to air.

There is no connection between the butterflies added by the "butterflies" mod and the ones added by CoderMobs.

2. Core changes:

        * Add "minetest.get_decoration_id"


1. Minor Bucket Game changes:

        * default: Replace Player Falling Damage sound (Poikilos)
        * nftools: Add missing "amethyst_ore" alias
        * CoderMobs: LOTT spider media changes (Poikilos)

2. Major Bucket Game changes:

        * CoderMobs: Fix a common collision-box problem
        * CoderMobs: Divide chickens into roosters and hens
        * CoderMobs: Mono vs. stereo sound fix (Poikilos)
        * MoreBlocks: Don't override "stairs:" recipes

2a. If the lower Y-coordinate of a mob collision box is equal to zero, CoderMobs now subtracts 0.01 from both Y-coordinates automatically.

This fixes a problem where mob textures disappear below sea level. It probably fixes other problems as well.

2b. Chicken changes:

We've replaced generic chickens with roosters and hens. The name "chicken" is now an alias for "hen".

Hens lay eggs.

If roosters are around when eggs are laid, the eggs are fertilized. Fertilized eggs hatch baby chicks.

Baby chicks don't exhibit gender traits until they mature. At that point, they become roosters or hens.

Deceased chickens, either raw or cooked, show up using the name "chicken" as opposed to "rooster" or "hen".

If fertilized eggs are placed in inventory, they lose their fertilized status. This is due to a technical limitation.

These parameters affect egg hatching:

codermobs_egg_time_delay = 120 -- Hatch time in seconds (default 120)

codermobs_egg_hatch_chance = 1 -- Odds of hatching (1=100%, 2=1 in 2, 3 = 1 in 3, etc.) (default 1)

2c. Poikilos remarks on mono sound issue:

Irrlicht can't presently position stereo files. so for example, when a spider approaches from the left or right, either way it'll sound like you're wearing headphones picking up all sounds from all around, as though you're hearing a dining room from a drive-thru speaker at the pickup window or something like that.

To get a sound to be positioned in 3D space, sounding like it is coming from a mob (using Irrlicht's spatial audio), you must use mono sound format.

This is very poorly documented (I can't find the issue at any official Irrlicht link), but it's confirmed in the Irrlicht forum at:


and in the MT modding book.

2d. Previously, MoreBlocks included recipes for stairs and slabs that took "default:" materials (such as stone) and produced "moreblocks:" nodes instead of "stairs:" nodes. This caused confusion and/or breakage.

The MoreBlocks recipes have been modified as follows:

Recipes for slabs and stairs of "moreblocks:" produce "moreblocks:" output.

Recipes for slabs and stairs of anything else produce "stairs:" output as long as the slabs and stairs actually exist in the "stairs:" space.


1. Large set of Bucket Game liquid changes:

        * Add Water API: Useful new API for Minetest
        * Add Lava Crust Source and Flowing
        * Add Lava Gel and Slope
        * Add Water Gel and Slope
        * Add Green, Orange, Purple, Red, and Yellow Punch
        * Add new buckets
        * Buckets optionally convert some liquids into gels
        * Simplify parts of the liquid and bucket code

1a. The "_game" code for liquid and/or lava nodes and buckets has been cleaned up. Additionally, new buckets, nodes, and/or features have been added.

1b. One new node category is Lava Crust:

Lava Crust comes in Source and Flowing forms like regular lava. It's partly cooled lava that has started to solidify. It's anticipated that this type of lava will be used by mapgens that generate volcanos.

Differences relative to other types of lava:

        * Different appearance compared to regular lava
        * Lava Crust Source is walkable
        * Lava Crust Flowing has only limited flow
        * Not as hot as regular lava
        * Removed "igniter" from groups

1c. There are two Lava Crust modes. They can be selected in "world. conf" as follows:

        * remove_lava_crust = false -- Default mode
        * remove_lava_crust = true -- Alternate behavior

1d. If "remove_lava_crust" is false (this is the default mode):

Lava Crust Source can be scooped up using a bucket or dug normally. Both steps transfer the node to inventory.

Lava Crust Slope can't be scooped up using a bucket. It can be dug normally, but this destroys the node.

If a Lava Crust Source Node is removed, associated Slope nodes remain. Note: They'll fall down because the Source node is no longer there to support them.

This mode is the most natural one for survival worlds as opposed to creative worlds.

1e. If "remove_lava_crust" is true:

The Sourcen node can be scooped into a bucket or dug using "icetools:pick_ice". The ice-pick dig turns the node into stone and transfers the node to inventory. The node can't be dug using normal tools.

Lava Crust Slope can't be scooped into a bucket or dug using normal tools. It can dug using "icetools:pick_ice". The ice-pick dig turns the node into stone and transfers the stone to inventory.

A dug Slope node will be replaced by the associated Source node. The new Slope node can then be dug and the cycle will repeat. So, one oddity in this mode is possession of an ice pick leads to an infinite supply of stone.

If a Lava Crust Source Node is removed, associated Slope nodes disappear.

Some builders working in creative worlds may prefer this mode to the default mode.

1f. The following unrelated setting can be used to set the flow range for Lava Crust Flowing:

lava_crust_range = 2

A setting of 0 is permitted. The default setting is 2. The specified setting is clipped, if necessary, to a sane range.

1g. Another new node category is Lava Gel:

Lava Gel is similar to regular lava, but it doesn't generate more lava or flow. It's suitable for use as a building material. A relatively dangerous one.

By default, Lava Source that's scooped into a bucket turns into Lava Gel. Note: This is the primary place that Lava Gel comes from, other than WorldEdit.

Additionally, Lava Source has been removed from Creative Inventory.

These steps should reduce one of the most problematic types of griefing.

If you'd like to disable the feature where buckets gel Lava Source, add this setting to "world.conf":

bucket_gels_lava = false

Lava Gel can be scooped into a bucket or dug using "icetools:pick_ice". The ice-pick dig turns the node into stone and transfers the stone to inventory. The node can't be dug using normal tools.

1h. Lava Gel Slope, like Lava Gel, is an alternative type of lava introduced for anti-griefing and/or building purposes.

Lava Gel Slope is used with Lava Gel, but it doesn't come from Lava Gel. Presently, it comes only from WorldEdit, but it could be added to Creative or possibly to crafting recipes.

The purpose of Lava Gel Slope is to add slopes to the edges of structures made out of Lava Gel cubes. If a Lava Gel Slope is placed next to a Lava Gel cube, the Slope connects in a natural manner to the cube.

Lava Gel Slope has some liquid-like attributes, but it doesn't flow.

Lava Gel Slope can't be scooped into a bucket or dug using normal tools. It can be dug using "icetools:pick_ice". The ice-pick dig turns the node into stone and transfers the stone to inventory.

2. Final Minetest now provides a Water API.

The Water API greatly simplifies the process of adding new types of water to the "_game".

One call sets up all of the following:

        * Water Source and Flowing nodes
        * Water Gel and Slope nodes
        * Buckets for the bucket-able nodes

plus these configurable parameters and/or modes:

        * Optional lighting (a)
        * Optional damage (a)
        * Optional drowning (a)
        * Viscosity (a)
        * Flow range (b)
        * Renewable (b)
        * Allow water source in creative inventory or not
        * Conversion of water source by buckets into gel form

        (a) Can be different for normal water and gel forms
        (b) Doesn't apply to gels

The water API automatically builds full-bucket images that match each water type. The images look correct both in inventory and when a bucket is wielded.

3. Other "_game" changes:

        * coderfruit: Adjust fruit size
        * coderfruit: Support Cherry Tree
        * codermobs: Tweak spawn and other parameters (Slopsbucket)
        * codersea: Fish are smarter about swimming into air
        * default: Better gravel texture (Poikilos)
        * default: Add Cherry Tree from Cool Trees
        * diamonds: Don't override default textures
        * mtmachines: Fix minor glitches (Slopsbucket)


1. "_game" changes:

        * Add Region Features system
        * Add more of MoreTrees (thanks to Slopsbucket and Poikilos)
        * codermobs: Fix a long-term Mobs Redo attack glitch
        * codermobs: Add Denny Deinonychus (courtesy of Poikilos)
        * codermobs: Minor sound changes for the BOM and IceBOM
        * lapis: Update to upstream (includes a Poikilos change)
        * default: Add "node_sound_snow_defaults"
        * Switch "default" to some of the "Less Dirt" textures
        * Add a "Less Dirt" type texture by OldCoder
        * Add mod: cblocks
        * Add mod: hiddendoors
        * Add mod: infinite_chest
        * Add mod: maptools
        * Add mod: projection_lights
        * Add mod: travail

1a. The Region Features system lets world owners add or remove special features in selected regions.

This is done at runtime using the MT GUI and chat commands similar to the following:

        * /epos1 -- Set lower-left corner of a region
        * /epos2 -- Set upper-right corner of a region
        * /addfeature nomobs -- Add a feature to the region

This system is implemented by an OldCoder mod named "eregions". The name is short for Environment (or Extended) Regions.

"nomobs" is a sample feature. It disables regular CoderMobs in the selected region. This differs from the Mobs Redo "don't spawn in protected areas" feature in that it can be used for any straight-forward environment attribute.

World owners will be able to use it to disable fire only in selected areas or to give other areas different types of weather.

Such features will require changes to the relevant mods. The Region Features system provides most of the framework needed. However, it doesn't know, itself, about details of other mods.

If you're using a Final MT client, features for the region where you're standing are listed on the left in a "Features" section located above the "Areas" list.

Note: "nomobs" doesn't presently affect CoderSea or other mods that have independent mob API modules.

"nomobs" also doesn't prevent mobs from wandering in from outside of a region that has the attribute.

1b. To remove a feature from a region, a command of the following form may be used:

        /deletefeature 3 -- Delete a feature by ID number

The ID number used by "/deletefeature" can be found by looking on the left side of the MT GUI. It's displayed under the label "Features:" when you walk or fly through a region that has one or more special features.

1c. Final Minetest now includes most or all of MoreTrees in "default" plus aliases to the old MoreTrees nodes.

Some of the trees have been improved visually. Another reason for doing this is that the speed and shadow bugs from MoreTrees are now entirely gone.

If the following setting is used in "world.conf":

        enable_default_apple = true

the Big Apple tree will come with static "default:apple" apples. Otherwise, it'll grow CoderApples (and other CoderFruits) instead.

In the future, the setting shown above may cause new "default:apple" apples to grow as opposed to providing just a static set.

1d. In trollstream Mobs Redo, if you're above a hostile mob and within visual range, the mob spins rapidly like a top. This is hardly realistic.

Final Minetest now includes a partial work-around. The preceding behavior no longer happens unless you're very close to the mob.

Additional work is needed. In particular:

        * The work-around doesn't take mob height into account
        * Flying mobs should simply fly up to attack

1e. CoderMobs now includes Denny Deinonychus, a raptor of distinction, courtesy of Poikilos.

2. Ports of Old MT commits:

        * "const SharedBuffer" network fix (#8125)
        * Optimize string handling (#8128)
        * Make autoforward simulate the 'up' key (#8249)
        * override.txt: Fix crash due to CRLF endings (#8439)
        * Revert part of Old MT commit eb2bda7d0bbb1ef5

3. Other core changes:

        * Revert a light-curve change to fix lighting
        * Update server-list URL
        * Make "/se" support more entities without a mod-name prefix

4. Other changes:

        * Fix building production binaries on Debian 9


1. CoderMobs changes:

        * Add Poikilos BOM and IceBOM (Byte-Order Mark mobs)
        * Fix lockup in Mobs Redo related to alias loops
        * Adjust mob spawn conditions and behavior parameters
        * Restructure code to improve readability
        * Tweaks to "attack" system
        * New conf-file setting "enable_codermobs_all = true"
        * New mobs behavior command "/hostile"

1a. "enable_codermobs_all = true" turns on most CoderMobs. Presently, this setting doesn't affect CoderSea mobs or a few other special cases such as Critters and Pet Ores.

1b. "/hostile" toggles "hostile" mode on and off.

In "hostile" mode, most land mobs will attack players. Additionally, their view range will be temporarily increased.

Sea mobs aren't affected yet. Air mobs will attack, but they aren't smart enough yet to dive towards a target.

Typing "/hostile" again puts everything back to normal.

Presently, this command requires the "basic_privs" privilege. We might switch to a new mob-admin privilege instead.

2. Ports of Old MT commits:

        * Force send of a mapblock to a player where necessary (#8140)
        * Vein ore bug fix (#7371)
        * Fix missing decorations and dust related to deep water (#7470)
        * Improve tracking of modified and/or sent blocks (#7568)
        * Make Player::peer_id server-side only, add access API (#6478)
        * Smoothed yaw rotation for objects (#6825)
        * Improve light-curve code, fix darkened daytime sky (#7693)
        * Fix some compile-time warnings

3. Other core changes:

        * "codermobs:" prefix is now optional for "/se" commands
        * Fix memory overwrite related to a fixed-length buffer
        * Lua API documentation fixes

3a. If "/se" (or "/spawnentity") is used to spawn a CoderMob, the "codermobs:" prefix is now optional as long as the entity's base name is unique across namespaces.

So, for example, you can type: /se mdskeleton instead of: /se codermobs:mdskeleton

Note: This feature requires a core-engine update as opposed to a Bucket Game update.

4. Other "_game" changes:

        * Fixed long-term WorldEdit bug where a Back button didn't work
        * Fixed problems with "default:rail"
        * New "lapis" configuration setting
        * Restored "weather" mod (removed temporarily before)

4a. The following conf-file setting will now enable round-columns support in "lapis":

        enable_lapis_mod_columns = yes

5. Build kits:

        * Linux: mtcompile-program.sh: Add "--debug" switch


1. CoderMobs changes:

        * More realistic bird and wild airplane behavior
        * Add Poikilos baby chicks
        * Complete chicken-egg cycle
        * Fix erroneous Mobs Redo "attack" code
        * New Poikilos "damage" textures
        * Redo the car model to correct problems
        * Mob lifespan changes
        * LOTT Spider: New sounds

1a. Flying mobs (the ones that fly in air) now seek out, and fly, in a per-species vertical comfort zone.

So if, for example, you spawn a wild airplane or a bird that can fly on the ground, it'll take off shortly and head for its vertical comfort zone.

The vertical comfort zone starts at "fly_low" and proceeds upwards to "fly_high". There are reasonable default values.

"fly_low" should be at least 10. "fly_high" should be at least 10 units greater than "fly_low".

1b. Changes to car model: Move model down 10 units in Blender, rotate 270 degrees, and convert from OBJ to B3D format.

Results: (a) The car now drives on the ground instead of in the air. (b) It's no longer necessary to rotate the model and/or attached players at the API level. (c) Turns using the keyboard seem much smoother now.

1c. There are three mob lifespan changes: (a) The default lifespan has been increased to a few game days. (b) You can change the lifespan by setting "lifetimer" to a specified number of real-world seconds. (c) You can make mobs immortal by setting "lifetimer" to 20000 or greater.

2. Ports of Old MT commits:

        * util/hex.h: Reserve result space in "hex_encode"
        * Optimize random turns in "dungeongen" (#8129)
        * Add Irrlicht-specific smart pointer (#6814)

3. Other core changes:

        * Update menu header PNG file


1. "_game" changes:

        * codermobs: Tame-able wild airplanes and cars
        * codermobs: Add Poikilos deer
        * codermobs: 3D chicken eggs no longer float in the air
        * codermobs: Hens now lay the new 3D eggs as opposed to 2D eggs
        * codermobs: Hens now make appropriate noise upon egg-laying
        * codermobs: Bug fixes related to old (rotated) 3D models
        * codermobs: Merge 1.5 years of TenPlus1 Mobs Redo changes
        * codermobs: Fix Mobs Redo behavior at cliff edges
        * codermobs: Numerous other bug fixes in Mobs Redo
        * bike: Fix a nil-pointer crash
        * nftools: Fine-tune ore and node parameters

1a. Presently, airplanes and cars may be tamed using cans of oil. The node name for the latter is "codermobs:can_oil".

Once a vehicle is tamed, it can be flown or driven. This snapshot allows steering by keyboard or mouse.

To mount or dismount a vehicle, right-click while wielding nothing. Note: In the future, you might need to wield an ignition key or a similar object.

1b. Deer and elk are distinct mobs.

2. Core changes:

        * "/se" now supports a number (i.e., count) parameter

2a. "/se" (or "/spawnentity") now supports all of the following modes:

        /se Ent
        /se Ent Num
        /se Ent Pos
        /se Ent Pos Num
        /se Ent Num Pos

For example: /se codermobs:badger 5

The Num parameter is presently limited to 10. The limit may be increased or decreased at a later date.

Note: Spaces are permitted, though optional, before or after commas in Pos (position) parameters.


1. "_game" changes:

        * New and/or improved textures (Poikilos)
        * bones: Mod can be disabled using a ".conf" setting
        * bones: Usability tweaks (Poikilos)
        * cake: Replace TenPlus1's illegal cake with Poikilos Cake
        * codermobs: Port "mobf" living cars to Mobs Redo
        * codermobs: Add high-definition Poikilos Elk
        * codermobs: Add improved fork of Sapier Ostrich
        * codermobs: Chicken eggs are now 3D and realistic
        * codermobs: Ditto for ostrich eggs
        * codermobs: Sync cow with latest TenPlus1 cow
        * codermobs: Improve some textures using "scalerx -k 4"
        * codermobs: Add Mdoege Skeleton
        * codermobs: Add KrupnoPavel Warthog
        * codermobs: Add Vombie (new implementation)
        * codermobs: Light-damaged mobs can now burst into flames
        * codermobs: Add improved fork of Sapier Creeper
        * codermobs: Fix two Mobs Redo bugs that broke old mobs
        * codermobs: Add Sapier's Animal Materials
        * default: Enable leaf decay by default
        * nftools: Tweaks by OldCoder and Poikilos

1a. Poikilos contributed new and/or improved food and/or related textures to "codermobs", "codersea", and "food_basic".

1b. To disable "bones", you can now use the following conf-file setting:

        disable_bones = true

1c. To disable leaf decay, you now need to use the following conf-file setting:

        disable_leaf_decay = true

Note that this can be important in some types of worlds.

The "enable_leaf_decay" setting is no longer used.

4. World changes:

        * Add Roman Fort to Bucket City
        * Add schem and documentation for Roman Fort

5. Ports of Old MT commits:

        * Tune star appearance time and full brightness time (#7921)
        * Add "math.factorial" (#8298)
        * Add "vector.angle" (#7738)
        * Dungeons: Don't remove non-ground-content nodes (#8423)
        * Fix segfault due to uninitialized "m_env" (#7857)
        * Escape special characters in server-list search (#7842)
        * Fix sky object brightness flicker (#8417)

6. Original core changes:

        * Support both "/haspriv" and "/hasprivs"
        * Support "textures" subdirs in convenient places

If a world directory contains a "textures" subdirectory, textures stored in the subdirectory override default textures that come with mods.

If a "_game" directory contains a "textures" subdirectory, the same thing happens.

If both "textures" subdirectories exist, for a given world, textures stored in the world directory's "textures" subdirectory take precedence.

Texture overrides, i.e., standard Minetest textures "override.txt" files stored in the directories in question, should work normally.


1. OS support:

        * Post first OpenBSD release of Final Minetest

2. "_game" changes:

        * Add 7 new upstream mods - see notes below
        * codersea: Add jellyfish spawner - see notes below
        * coderblocks: Define more blocks when necessary
        * default: Add several missing nodes
        * default: Fix a bug related to "enable_leaf_decay"
        * farming: Support "enable_museum" - see notes below
        * moreblocks: Add 3 types of missing traps
        * moreblocks: Enable old-node conversion ABMs
        * moreblocks: Support more types of node conversions
        * ocfixups: Add a number of safe aliases
        * ocfixups: Add fakes for several obsolete nodes
        * stairs: Add missing stairs nodes
        * fallback_spawn: New original mod - see notes below

2a. New mods include more_chests, ownerhack, pbj_pup, smartshop, stairsio, and the InfinityProject diamonds mod.

2b. The jellyfish spawner is used in SONOS as part of the trap in the spawn dome. Its Nyan Cat appearance was chosen so as to blend in with other blocks in the trap.

2c. "coderblocks" now defines these 3 nodes in the "mobs" namespace if no other mod does so: cobwebs, fence_top, and fence_wood.

2d. In "farming", the boolean setting "enable_museum" now has two effects: turn off plant growth and don't run the water-soil wetting ABM.

2e. Spawn now works as follows:

If "static_spawn_point" is set, that takes highest priority and multispawn mode is disabled.

If multi-spawn mode hasn't been disabled, either implicitly by the use of "static_spawn_point" or explicitly by the use of "disable_multi_spawn", and if a spawn point has been added using "/addspawn", that takes next priority.

If none of the above applies, the new mod "fallback_spawn" selects a reasonable starting point for new players.

3. Core changes:

        * Add some biome APIs (ports of Old MT commits)
        * Tweak "modeset.lua" as suggested by Slopsbucket


1. "_game" changes:

        * Add mods to "coderfood": cake, pie, pizza, thirsty
        * Improve images for preceding mods
        * Add "sneak_glitch". See notes further down.
        * Add "cottages" (needed for the pirate ship)
        * Add "weather" (OldCoder version; integrated with CoderSky)
        * Add tourist teleport commands for various realms
        * Add Poikilos birds
        * Add Lost Soul and Cyberdemon
        * Add sounds for the Doom-type mods supported so far
        * Add "jsxmas" (2012 Xmas mod by Jordach)
        * Add "ocfixups". This mod does some alias-level fixups.
        * Rename "ocblocks" to "coderblocks"
        * building_blocks: Fix a circular dependency that broke the mod
        * decorpack: Restore a missing glass door
        * decorpack: Use an LBM to convert old nodes
        * jsxmas: Improve images
        * Update "unifiedbricks" and "unifieddyes"

1a. The "unifiedbricks" update fixes an LBM-related crash.

1b. "xmas" and "jsxmas" share the "xmas" namespace.

1c. The Bucket Game version of "sneak_glitch" enables the classic "sneak" behavior by default. To disable the classic behavior, use this setting:

        disable_classic_sneak = true

1d. "weather" commands include:

        /rain - Set weather on Earth to rain
        /snow - Set weather on Earth to snow
        /storm - Set weather on Earth to storm
        /regular - Set weather on Earth to normal (or regular)

        /bubbles - Bubbles
        /locusts - Plague of Locusts
        /pennies - Pennies from Heaven
        /weather ... - Set weather (rain, snow, locusts, etc.)

"weather" commands should only affect the weather on Earth (and only on Earth at y=0 as opposed to Earth II or other alternate Earths).

A Plague of Locusts doesn't occur naturally under normal conditions. However, people with the "weather" privilege can use "/locusts" or "/weather locusts" to create one.

"/locusts" by itself will also work. Additionally, the word "locust" may be substituted for "locusts".

Similarly for Pennies from Heaven. "/pennies" or "/weather pennies" may be used in this case. Additionally, the word "penny" may be substituted for "pennies".

1e. To enable "thirsty", the following config-file settings are needed:

        enable_damage = true
        enable_thirsty = true

"enable_thirst = true" will work, for the 2nd setting, as well.

2. World changes:

        * Add Diagonal Development and Wizard's Keep to Bucket City
        * Add schems for the new Bucket City builds
        * Add pirate ship to Wonder World

3. Core changes (separate from Old MT commits):

        * Password-related bug fixes and features (see notes below)
        * Add "/tp" as an alias for "/teleport"
        * Tweaks to game-mode code in "modeset.lua"

There are now 4 ways to skip typing a password in the MT GUI password field. Two are new. Two are old but include bug fixes.

3a. You can add a line similar to the following to your client-side "minetest.conf" file:

        password = mypasshere

3b. Under Linux, you can put your password in either of the following text files:


The file, in either case, should contain one line. The line should consist of your password followed by a newline.

3c. You can use a CLI argument of the form:

        --password 'mypasshere'

3d. You can use two CLI arguments of the form:

        --password-file $HOME/pass

The 2nd argument should be an absolute pathname for a text file that contains one line. The line should consist of your password followed by a newline.

One drawback to these features is that the same password will be used regardless of the world that you go to.

In other words, per-world passwords aren't supported yet. For (a) and (b), of course, you can change passwords and/or password files specified on the command line as necessary.

However, another feature is that you can override passwords set using the preceding methods by typing a password manually in the MT GUI password field.

The "--password" and "--password-file" features existed before this commit. This commit fixes some bugs in these two features.

4. Ports of Old MT commits:

        * Update gamebar on tab enter (#8192)
        * Fixes related to "num_emerge_threads"
        * Fix incorrect string-length check
        * Replace inefficient "for" loop (#8194)
        * Add referer to remote media requests (#8135)
        * Make "place_offset_y" usable with simple decorations
        * Fix cast from const (#8327)
        * Add client-side translations
        * Read dependencies and description from "mod.conf" if present

5. Website changes:

        * Sync time (for server list) with Google and other sites
        * Add quickstart page

6. Changes to "minetest*" production wrappers:

        * Support spaces in pathnames
        * Create symlinks in "solib" subdirectory if necessary

There's a minor bug where, if a world-directory pathname contains a space, the world-directory pathname will be displayed incorrectly. However, the world should work, regardless.

7. Misc. changes:

        * Replace bash program build script with a Perl version
        * Updates and fixes for "ircpack"

Note: "ircpack" is a modpack for servers distributed separately from Bucket Game.

8. Useful information.

8a. If a world is flagged as creative, players can break nodes by hand. This is turned off otherwise unless a node is configured to be breakable by hand.

8b. There's a core bug that manifests in tricky ways. If the "depends. txt" optional-mod feature ("?") is used, it's possible for two mods to have a circular dependency that isn't obvious. Additionally, if this happens, one of the two mods may simply be ignored regardless of its contents.


1. Core changes:

        * All mods can use 64x64 skins now if minor tweaks are made
        * Fix an Old MT world-owner privileges problem
        * New worlds now use "auth.sqlite" by default

2. "_game" changes:

        * New game modes: Builder Mode and Moontest
        * Add Earth 2, a complete optional 2nd Earth
        * bike, 3d_armor - Add mods
        * bike, 3d_armor - Support both 64x32 and 64x64 skins
        * coderskins - New functions
        * darkage - New option setting (see below)
        * default - reduce cotton and wheat to 64x64 to prevent lag
        * Drop "minimal" game for now
        * A separate MineClone2 package is now provided
        * Multiple fixes and enhancements to multi-spawn

2a. Multi-spawn is enabled by default. To disable it, use:

        disable_multispawn = true

In that mode, a single spawn point, specified as follows, will be used:

        static_spawn_point = 0, 10, 0

2b. In multi-spawn mode, numerous spawn points may be used. When a new player joins, one is selected at random. The following commands may be used to work with the list:

        * To see spawn points: /listspawn or /listspawns
        * To TP to a random spawn point: /spawn
        * To TP to a specific spawn point: /spawn 3
        * To add one: /addspawn 20, 10, 30 or /addspawn 20 10 30
        * To delete one: /delspawn 3 or /deletespawn 3

where "3" should be replaced with the desired spawn ID number as shown by "/listspawns".

2c. A bug related to "world.conf" has been identified. Specifically, settings in "world.conf" persist from world to world in a given Minetest session.

This is known to happen, with certainty, in cases where multiple worlds are stored and used locally. We haven't checked the status of the issue in server-side contexts yet.

2d. This particular bug won't be fixed in the short term.

One work-around is to specify settings in a group of worlds that may cause conflicts as completely as possible for each world in the group. I.e. Don't rely on defaults.

Another work-around will be in the Final MT code. We'll probably replace game-mode settings of the following form:

        enable_bucket_city = true
        enable_moontest = false
        enable_wonder = false

with something similar to the following

        game_mode = bucket_city

2e. To enable Builder Mode, use either of the following settings:

        enable_builder = true
        enable_builders = true

Additional documentation will be provided at a later date.

2f. A Moontest world is now included in the production packages. No settings are needed to use it. If you'd like to create your own Moontest world, several steps are required. The steps will be documented in the Bucket Game pages.

2g. Earth 2 is a complete 2nd Earth located up in space. It was added so that the Moontest could have both the Earth and the Moon. However, it's present in most other game modes as well unless you explicitly turn it off.

The switch to turn it off is:

        disable_earth2 = true

In Moontest mode, you can travel to Earth using "/earth". You can get back to the Moon using "/moon" or "/spawn" or one of the "/home..." commands.

In other modes, you can travel to Earth 2 using "/earth2". You can get back to Earth 1 using "/spawn" or one of the "/home..." commands.

Earth 2 is relatively slow because it's a pure-Lua mapgen. However, it's interesting as an example of that type.

2j. The "darkage" ore mapgen rules now support three modes: default, Wonder World, and original.

Default and Wonder World modes generate fewer of the "darkage" ores. To enable the original rules, use:

        darkage_ore_rules = true

3. World changes:

        * Add Star Dome to Bucket City
        * Add schem pair and documentation for Star Dome
        * Update the Bucket City map
        * Improved header image (courtesy of Poikilos)
        * Replace some textures with Drummyfish versions

4. Site changes:

        * Improved font family (courtesy of Poikilos)
        * More background images


1. Binary packages:

        * Add a 64-bit Linux binaries ZIP file
        * Add "small" versions of Linux and Windows ZIP files

2. Core changes:

        * Change "shaders" default back to "true"
        * Port commit: Don't apply "slippery" when swimming
        * Sync statbars code with Old Minetest
        * Integrate some CSM fixes

3. "_game" changes:

        * default:ice - Adjust groups
        * default:ice - Register slabs and stairs
        * Add Cave Ice and "icesheet" biome
        * default - Bug fix that should improve speed

4. Build kits:

        * Linux: Improve "build" script (mtcompile-program.sh)
        * Linux: Add a cleanup script (mtcleanup-program.sh)
        * Linux: Document how to build a portable Linux package
        * Windows: Improve documentation

5. World changes:

        * Add Dyer's Guild to Bucket City
        * Add schem pair and documentation for Dyer's Guild
        * Update the Bucket City map

6. Other changes:

        * Disable another Irrlicht warning message


1. Core changes:

        * Add auto-jump feature. Enabled by default.
        * Add pitch-fly / pitch-swim. Toggled by the "L" key.
        * Other bug fixes and tweaks

2. "_game" changes:

        * "moreblocks": Lighting bug fix. See note below.
        * "nether": Don't convert existing stairs

"moreblocks" slabs made out of default nodes no longer propagate sunlight unless they're transparent.

3. Site changes:

        * Add a separate "CoderEdit" page
        * Add Bucket City schems ZIP file to Downloads
        * Add Bucket City Schems 04 page
        * Improve smartphone support

4. World and other changes:

        * Update Bucket City map
        * Update "schems" directory in Bucket City
        * Disable Irrlicht "interlace" warning message
        * Fix Windows MT "shaders" support


1. "_game" changes:

        ambience: Add mod (see notes below)
        castle_masonry: Add support for more mods
        facade: Simplify new code
        mychisel: Add mod

"ambience" is enabled by default. To disable it, use the following config-file setting:

        disable_ambience = true

2. Core-engine changes:

        * Add several bug fixes from Old Minetest
        * Disable non-fixable warning about "suitable paramtype2"


1. "_game" changes:

        codermobs: Reduce loading verbosity
        decorpack: Reduce loading verbosity
        default: Add "desert_sandstone"
        default: Fix "cold desert" biome parameters
        facade: Add support for more mods suggested by CaptPete
        fortune: Add mod
        nether: Add a fork (see notes below)
        ocblocks: Register a few nodes with "pkarcs"
        pkarcs: Fix some warnings
        technic: Fix some warnings

The Bucket Game version of "nether" provides "nether" materials and also live-portal code, but the latter is disabled unless the following config-file setting is used:

        enable_nether_portal = true

This is a fork of Poikilos's fork of upstream.

2. Site changes:

        * Added "Minetest Changes" page
        * Switched to pseudo-3D nav-buttons


1. "_game" changes:

        codermobs: Add cacodemon
        darkage: Support pkarcs
        decoblocs: Support pkarcs
        facade: Don't register bricks for nodes lacking them
        flowerpot: Skip some non-existent plants
        lapis: Support pkarcs
        moreblocks: Support pkarcs
        pkarcs: Update mod
        quartz: Support pkarcs
        xdecor: Support pkarcs. Also update mod.

2. World changes:

* Updated Bucket City to latest map.


1. Build-kit changes:

* The Linux build kit now supports a build-git mode in addition to the default build-kit mode. See "linux-build-kit.txt".

2. Added these Lua API calls to the core engine:


These additions should improve compatibility with newer mods.

3. Basic "mod" changes:

        compost: Updated. Added meta-info.
        flowerpot: Updated. Added meta-info. Patched to be portable.
        hopper: Added. Added meta-info.
        pkarcs: Added. Added meta-info.

        ehlphabet: Added git history and meta-info.
        facade: Updated. Merged CaptPete changes.

4. Other "_game" changes:

* CoderEdit now allows you to turn off some of the information messages that it produces by default. To do so, use this "world.conf" setting:

        disable_coderedit_verbose = true

* A minor bug in CoderEdit has been corrected.

* By default, "default:apple" is now disabled. It's superseded by CoderApple (coderfruit:apple).

Note: Since "default:apple" is a node and "coderfruit:apple" is a craftitem, the 1st can't be fully replaced by an alias to the 2nd. So, the 1st is turned off entirely so as to avoid Node Resolver error messages.

If you don't wish to use CoderFruit, or you wish to retain "default:apple" regardless, use this "world.conf" setting:

        enable_default_apple = true

* A player falling-damage sound has been added. Thanks to Slopsbucket for selection of the sound.


1. Site change: Set up a P2P Minetest server list. It can't be taken down by any single party.

© 2012-2019 Robert Kiraly aka OldCoder and BoldCoder    |  Privacy   |  Contact   |  Notices