Escalator

Description

escalator — Luanti Mod 🔗

A fully functional escalator system that transports players, NPCs, and mobs smoothly along a diagonal stair incline built from any stair node (group:stair).


Features 🔗

Feature Detail
Controller block escalator:controller – place at the base of a staircase
Universal Stair Support Works automatically with any stair node in MTG, VoxeLibre, and custom mods
Direction Configurable Up or Down per controller
Orientation North / South / East / West cardinal facing
Transport Moves players, NPCs, and mobs via velocity override
Legacy mob support Positional nudge via ABM for mobs without set_velocity
Stack rule Controllers stack up to 10 high, enforced on placement
Performance Scans only the active stair-path; no global entity sweeps
Tunable All speeds and lengths configurable via settingtypes.txt

Quick-start 🔗

  1. Copy the escalator/ folder into your game's mods/ directory.

  2. Enable the mod in the Content / Mods menu or minetest.conf.

  3. Craft the controller:

    Minetest Game (MTG) Recipe:

    • Place a Mese Crystal at the top-center, and Steel Ingots in a U-shape:
      [              ]  [ Mese Crystal ]  [              ]
      [ Steel Ingot  ]  [ Steel Ingot  ]  [ Steel Ingot  ]
      [ Steel Ingot  ]  [              ]  [ Steel Ingot  ]
    

    (Uses default:steel_ingot and default:mese_crystal)

    Crafting Controller in Minetest Game

    MineClone2 / VoxeLibre Recipe:

    • Place a Redstone Block at the top-center, and Iron Ingots in a U-shape:
      [              ]  [Redstone Block]  [              ]
      [  Iron Ingot  ]  [  Iron Ingot  ]  [  Iron Ingot  ]
      [  Iron Ingot  ]  [              ]  [  Iron Ingot  ]
    

    (Uses mcl_core:iron_ingot and mesecons_torch:redstoneblock / mcl_redstone:redstone_block)

    Crafting Controller in VoxeLibre

  4. Place the controller block:

    • Upward Escalator: Place the controller block at the bottom of the staircase.
    • Downward Escalator: Place the controller block at the top platform behind the stairs.
  5. Step onto any stair — you'll be smoothly carried along!


📐 How to Place the Controller 🔗

↗️ Upward Escalator 🔗

Place the controller block at the bottom base of the stairs:

       ↗️ Stair
     ↗️ Stair
   ↗️ Stair
⬛ Controller

↘️ Downward Escalator 🔗

Place the controller block on the top platform directly behind the first descending stair step:

⬛ Controller ↘️ Stair
               ↘️ Stair
                 ↘️ Stair

The controller automatically scans up to 32 stairs along the diagonal.


Configuration (settingtypes.txt) 🔗

Setting Default Description
escalator_h_speed 1.5 Horizontal speed (nodes/s)
escalator_v_speed 1.5 Vertical speed (nodes/s)
escalator_max_stair_length 32 Max stair nodes scanned
escalator_timer_interval 0.15 Controller timer interval (s)
escalator_max_stack 10 Max controller stack height

Debug command 🔗

/escalator_info

Look at a controller (within 8 nodes) and run this command to see its current configuration and how many stair steps were detected.


Compatibility 🔗

  • Luanti (formerly Minetest) ≥ 5.6
  • stairs / mcl_stairs mod (standard in almost all games)
  • MTG (Minetest Game) – full compatibility (using any stairs:stair_* block and standard steel/mese recipe)
  • VoxeLibre / MineClone2 / Mineclonia – full compatibility (using any mcl_stairs:stair_* block and iron/redstone block recipe)

License 🔗

MIT – do whatever you want, attribution appreciated.

Reviews

Review

Do you recommend this mod?

  • English

    Doesn't actually work, among other issues

    OK, so most importantly - the mod doesn't actually work. If you build an up escalator and walk onto the stairs, it just pushes you forward into the stairs, after which you go nowhere. If you turn fly on or are going down then it kind of works but the camera vibrates a bunch and you stop short of the end.

    Looking at the code, there's all sorts of strange stuff going on here:

    • An "is stair" check that starts off OK, but then lumps every node containing "stair" in its name in with the stairs too. I guess if I have a node that's a sign pointing towards stairs and call it something like signs:to_stairs, then that's a stair itself now too.
    • A globalstep function doing... I'm not sure what really, but even with only one player online it's already taking longer than nearly every other globalstep function on the server, even without actually riding any escalators
    • There's a limit on how many of the controllers you can vertically stack, which seems to serve no purpose (there don't seem to be any mechanics that would require you to stack them in the first place) and in any case can be trivially bypassed by stacking downwards instead of upwards
    • The file starts off with some variables that look like they should be settings, except they're just hard-coded to certain values and no method is provided to change them aside from editing init.lua. There's a settingtypes.txt file present that lists settings it supposedly reads, but it never actually does so.
    • There are some helper functions that seem to be reinventing core.pos_to_string(). One is a wrapper for the other, and it seems to be random whether the wrapper is actually used on any given call or just reimplemented.
    • Lots of usage of the deprecated minetest namespace instead of core
    • Several comments describing issues with code that used to be present, in one case with the old code still present but commented out
    2 comments
  • English

    FINALLY AN ESCALATOR MOD FOR LUANTI,

    dude what an amazing mod and FINALLY AN ESCALATOR MOD FOR LUANTI, congratulations and I tested and everything is working and now I'm going to test with mobs...

    1 comments

Releases

2026-07-27

Download

2026-07-27 06:23 UTC

2026-07-27 🔗

  • updated bugs
  • changed small issues
  • Add files via upload
  • agi

2026-07-26

Download

2026-07-26 00:50 UTC

2026-07-26 🔗

  • Update LICENCE.md
  • Update and rename LICENCE.md to LICENSE.md

2026-07-25

Download

2026-07-25 22:06 UTC

2026-07-25 🔗

  • Update LICENCE.md

2026-07-22

Download

2026-07-22 01:18 UTC

2026-07-22 🔗

  • Add files via upload
  • messed up on voxellibre update
  • readme change
All releases