Building your own nodes and mods in Minetest

Interacting

One final problem with your nodes is that, as they stand, they are unbreakable. This means that, once you lay them down, you can't pick them up again or bash them until they smash. They are indestructible.

You can make nodes destructible by adding the groups directive to the nodes table. A line that would make our reinforced steel crack and break after three or four consecutive blows with a pickax would be:

groups = {cracky = 3},

The groups directive tells the Minetest engine how the node is destroyed [11]. Hard objects, like stone and bricks, crack, so they belong to the cracky group. Softer objects, like dirt or sand, belong to the crumbly group. There are a wide variety of groups that cover flammability, wetness, liquid porosity, and so on.

The value assigned to the group tells Minetest how resistant the node is. The higher the value, the harder it is to break. As it stands, the so-called "reinforced" steel is pretty weak and cracks and breaks easily. You may want to increase that 3 to something higher.

Your final mod will look like Listing 6.

Listing 6

init.lua Complete

minetest.register_node ("personal:reinforced_steel", {
 tiles = {"reinforced.png"},
 groups = {cracky = 3},
 drawtype = "nodebox",
 node_box = {
  type = "fixed",
  fixed = {{-0.5, -0.5, -0.5, 0.5, -0.3, 0.5}},
 }
})
minetest.register_node ("personal:safe", {
 tiles = {
  "reinforced.png",
  "reinforced.png",
  "reinforced.png",
  "reinforced.png",
  "reinforced.png",
  "reinforced.png^safe_front.png"
 }
})
minetest.register_craft ({
 output = "personal:safe",
 recipe = {
   {"personal:reinforced_steel", "personal:reinforced_steel", "personal:reinforced_steel"},
   {"personal:reinforced_steel", "", "personal:reinforced_steel"},
   {"personal:reinforced_steel", "personal:reinforced_steel", "personal:reinforced_steel"}
 }
})

Conclusion

This article has only just scratched the surface of mod making for Minetest. You can interact with your nodes in many other ways. You have a whole slew of events you can trigger when you punch, dig, use, or right-click an object in your world. You could, for example, make your safe very, very resistant to digging, but, when right-clicked, it will ask players for a combination that will allow them to open the safe.

Minetest's possibilities are pretty much endless, and the modding community is thriving. Players and developers from all over the world are creating mods that help turn Minetest worlds into role playing games, educational environments, places where visitors can express their creativity, and so much more.

Minetest is a cracking good game in its own right, and its mod system offers a whole new level of control and flexibility that you won't find in the alternatives.

Infos

  1. Minetest: https://www.minetest.net/
  2. "Minetest" by Mike Saunders, Linux Magazine, issue 204, November 2017, pg. 70: http://www.linux-magazine.com/Issues/2017/204/Minetest
  3. Customize Minetest with mods: https://www.minetest.net/customize/
  4. Creatures, including zombies and ghosts: https://github.com/BlockMen/cme
  5. More creepy creatures: https://wiki.minetest.net/Mods/Not_So_Simple_Mobs
  6. Lua programming language: https://www.lua.org/
  7. Register a node: http://dev.minetest.net/minetest.register_node
  8. Node textures: http://dev.minetest.net/texture
  9. Node boxes: http://dev.minetest.net/Node_boxes
  10. Node Box Editor: https://rubenwardy.com/NodeBoxEditor/
  11. Node groups: http://dev.minetest.net/Groups/Custom_groups

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Tutorials – Docker

    You might think Docker is a tool reserved for gnarly sys admins, useful only to service companies that run complicated SaaS applications, but that is not true: Docker is useful for everybody.

  • Introduction

    This month in Linux Voice. 

  • Gobbling Up

    Most video editors supply you with a generic catalog of transitions, usually in the shape of tired wipes and fades. But what if you wanted something a little more special? FFmpeg to the rescue.

  • Embed Elements into Your Clips Using Natron

    Tracking is good for stabilizing video clips, and it helps you put stuff in scenes that wasn't there in the first place.

  • FOSSPicks

    After watching Ubuntu help NASA with its first controlled flight on another planet, Graham spent far too much time this month visiting Mars in Elite Dangerous, via Proton on Linux.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News