May 20, 2017
I have been working on setting up a new installation of Minetest (an open-source MineCraft-alike) with a bunch of different new and old mods, in order to re-create the feeling of Dwarf Fortress in full 3D. It’s been very interesting.
You see, many of the mods are simply not compatible with the current way the game does things. Here are some examples of things that the mods don’t expect:
- The Doors mod is now a part of the core game, and doesn’t work the same way that most mods expect.
- For example, the “doors.register” function is now “doors:register_door”.
- The function “register_lbm” is now “register_abm”.
- Many functions, especially register functions like doors:register_door, now have different “def” argument layouts, so a mod integrator such as Yours Truly must find a working “def” and copy it over, doing what they can to adjust for changes, making the old mod use the new “def”.
Ironically, some of the older and simpler mods “just work”, mostly due to the simpler, more established functions in use. Those are great, because they are just added to the mod folder, and once you modify the game to “enable” that mod, it becomes fully integrated. This is usually the case for mods that simply add (register) new “recipes” for different blocks. (E.g. Use 4 dirt blocks to build a cobble block, or something simple like that.)
You’ll see that I’m currently focused on integrating door mods into my game. I think I have about 24 different doors now. I’m successfully integrating the mods “mydoors” and “castle_gates” (whew, those were tough), among other mods that bring doors to the game. Doors will make the Dwarf Fortress experience more real in Minetest.
It’s not all doors, though. There is lots of other stuff. Lessee…. 16 “pages” of about 40 items each? Let’s call it 600 blocks. Sure, about a third of it is unavailable unless I use admin commands (which I plan not to do), but still, 400 different blocks are a lot of stuff with which to build a respectable fortress, including running water and magma. (Careful to avoid flooding!)