moreblocks and stairsplus
more blocks for minetest, a free and open source infinite world block sandbox game.
stairsplus adds a large variety of new shapes for registered nodes:
this is a fork of the version maintained by the minetest-mods group at https://github.com/minetest-mods/moreblocks. it provides numerous new features and bugfixes and is designed to reduce the number of registered nodes, to avoid the node ID limit.
mods in the pack
moreblocks
defines a bunch of new kinds of nodes. provides an API for creating variants of some nodes.
moreblocks_legacy_recipes
provided to keep compatibility w/ recipe changes from older versions of moreblocks. disabled by default.
stairsplus
allows the creation of 49 new shapes for registered nodes. provides an API for registering new shapes.
stairsplus_legacy
stairsplus registrations for various mods which were formerly done automatically as part of moreblocks.
stairs
overrides the stairs mod from minetest_game to use stairsplus behind the scenes, to avoid duplication of nodes.
invsaw
adds a button in unified_inventory that allows you to use the circular saw interface if you are
playing creatively, or have a circular saw item in your inventory and have the right priv
(interact
, by default).
invsaw was taken from cheapie's invsaw mod, which itself borrowed heavily from an older version of this mod. Flux decided to just add it here because it needed to be fully rewritten to be compatible w/ their modifications to the stairsplus API.
documentation
for players
use of a decent inventory manager (e.g. unified_inventory or i3) will help you figure out how to craft various nodes.
for admins
minetest version compatibility
more blocks is only tested against up-to-date minetest. Issues arising in older versions will generally not be fixed.
legacy mode
the 2023-02-01 release of moreblocks introduces a "legacy" mode, which is on by default, and is meant to
allow new servers to not commit to creating as many nodes as older versions, while not breaking anything
on existing servers. See settingtypes.txt
for available settings.
by defaul the 2023-02-01 release disables certain recipe overrides that were part of moreblocks 2.*. to re-enable
them, set moreblocks_legacy_recipes.enabled = true
.
settings
see settingtypes.txt
for available settings.
dependencies
moreblocks and stairsplus do not have hard dependencies on other mods. invsaw depends on unified_inventory
and stairsplus.
compatability
moreblocks currently supports resources from a number of mods and minetest_game. without these installed,
some things may not be craftable, may have low-quality textures, or may not have "node sounds" registered.
if available, resources will be used from bucket
, default
, rhotator
, screwdriver
, and vessels
.
if the stairsplus_legacy
mod is enabled, stairsplus nodes will automatically be registered for the following
mods, if they are available: basic_materials
, default
, farming
, gloopblocks
, prefab
, technic
,
and wool
.
stairsplus whitelist mode
stairsplus can add a lot of nodes to the world - it comes with 49 shape variants! this can lead to big problems, because minetest can only handle 32767 different kinds of nodes at the same time. that means, you can at maximum create all possible variants for 655 distinct nodes. even fewer variations are possible if you want to use other mods at the same time.
in order to reduce the number of registered nodes, stairsplus can be run in whitelist mode, which means that only
nodes listed in a certain file ($WORLDPATH/stairsplus.whitelist
) will actually get registered (see note 1 below).
to enable whitelist mode, set stairsplus.whitelist_mode = true
in minetest.conf.
additionally stairsplus comes w/ tools to automatically create a whitelist for existing worlds, so that server
operators can reap the benefits of whitelist mode without ending up w/ tons of "unknown" nodes. first, before enabling
whitelist mode, run the /dump_stairsplus_registered_nodes
command to generate $WORLDPATH/stairsplus_dump.json
,
which will be used in the next step. generating this file should be quick and painless.
the next step is not necessarily quick and painless. you will need to run a provided python script, located at
moreblocks/stairsplus/scripts/create_whitelist.py
. this script can only process sqlite and postgres map backends.
additionally, this script only works w/ map serialization version 29, introduced with minetest 5.7.0. if you are
not running 5.7.0, you will have to upgrade and migrate your database (--recompress
). additionally, while the script
is fairly efficient and makes use of multiple threads, it is still slow, and you will have to shut your server down
for the duration of the execution of this script, or run it against a backup database.
the script requires several non-standard python modules be installed, listed in
moreblocks/stairsplus/scripts/requirements.txt
.
to run the script against a sqlite database, execute
python create_whitelist.py -s $WORLDPATH/map.sqlite $WORLDPATH/stairsplus_dump.json
for postgres, fill in the correct connection string for your database:
python create_whitelist.py -p "host=127.0.0.1 user=minetest password=pass dbname=minetest" $WORLDPATH/stairsplus_dump.json
both of these commands will generate $WORLDPATH/stairsplus.whitelist
if successful. while running, an estimate
of how much more time is needed for the script to complete will be provided.
notes:
- micro_*_8 variants are always registered, as they are fundamental to the functionality of the mod.
migrating schemas
stairsplus also comes with a script which can migrate blocks in minetest schemas and worldedit save files to their new names in stairsplus. without this, trying to load schemas saved while using old stairsplus may cause a server crash.
first, create the stairsplus_dump.json
file mentioned in whitelist mode. next, run
python translate_schems.py $WORLDPATH/stairsplus_dump.json $WORLDPATH/schems
for mod makers
See moreblocks/API.md and stairsplus/API.md.
license
moreblocks, stairsplus, stairsplus_legacy, moreblocks_legacy_recipes
- © 2011-2022 Hugo Locurcio and contributors under the zlib license
- © 2023- fluxionary under the LGPL v3+
- unless otherwise specified, textures are licensed under CC BY-SA 3.0 Unported.
moreblocks_copperpatina.png
was created by pithydon, and is licensed under CC0 1.0 Universal.stairsplus_saw_button.png
CC BY-SA 3.0 Unported
invsaw
- © 2022 cheapie and contributors under the zlib license
- © 2023- fluxionary under the LGPL v3+