Skip to content
tiberiucorbu edited this page Sep 21, 2014 · 20 revisions

Element portals are designed to add teleport capabilities in Minetest game. They are connected together in the world by the natural elements like dirt, wood, sand, water and lava. The crafting is fairly easy but in order to use them you have to power them accordingly with their base element.

The portals can be used just by their owner and can only be dig if there is nothing in the inventory slot of the portal, but they can be burned or blasted by tnt.

Portals are separated between each other, meaning that you cannot use a liquid portal to teleport to a tree portal for example.

Nodes

Each portal has it's own particularities and they are categorised as follows:

Liquid Portals - Bidirectional cave to lakes fast routes:

Tree portals - Explore and get back home:

Sand portals - Escape quick:

Additional nodes used:

Nodes that you can view but you cannot craft :

  • Liquid portals rays
  • The sand portal vortex
  • The roots that grows around the tree portal

Another two (or maybe three) kinds of portals are in development:

  • Dirt portal - Public portal that helps you teleport to nearby players by "digging" tunnels.
  • Stone box - Doesn't teleport a player but works more or less like a locked chest but it's inventory is shared across all stone boxes.
  • Maybe a Mese portal - Expensive to craft but with all the abilities of the other portals elements. "Maybe" mainly because it may shade the other portal types.

Under the hood

The code is based on minetest lua api, what wasn't covered by the api implementation but needed for the portals to work as planed was implemented in the module element_portals_functional, this contains all the common logic shared across the portal types.

Subjects covered by element_portals_functional sub module :

  • Storing portal data
  • Node template
  • Loading parts of the world outside the view range
  • World manipulation and node lookup in ranges by name or keywords
  • Node shape library

Others

Please feel free to issue bugs or request enchantments on the project issue page, all feedback is greatly appreciated.

Clone this wiki locally