Customizable Elevators

Customizable Elevators

Build an elevator from your own blocks! There is support for doors and rope.

by
1.6K Downloads
datapackfabricminecraftneoforgequiltadventuregame-mechanicstechnology
Rent Server with this Mod

Screenshots

Preview
Elevator Selector
Floor Selection Button
Rope Selector
Stop Setter
Call buttons

About this Mod

Search for important errors and bugs for survival, help with translations is required (currently only Russian, English, Polish and Russian Pre-Reform).

⚙️ Installation

For the datapack to WORK, you need to install the MIDWUT(click) core datapack!

📖 About

With this data pack, you can turn ordinary blocks into a working elevator! All elevator elements consist of your blocks.

Features:

  • Clone movement of blocks and teleportation of entities in/above/below the elevator;
  • Handling all possible errors during the creation and operation of the elevator;
  • The elevator speed is adjustable;
  • Support for your texts on buttons(signs);

🧊 Blocks & Crafts

New block — Elevator Station

The player will receive a recipe in the recipe book if they receive a copper ingot or redstone.

  • There is a screenshot of the recipe in the gallery.
  • Recipe visualization on the misode generator website: Click

It's a container block with elevator configuration tools inside.

There is an elevator speed setting and a display of the current speed. On the technical side, speed is a delay in ticks between movements (1 sec = 20 ticks), so it is impossible to set the exact speed in some ranges. The formula for converting the delay in ticks to blocks per second: 20/(delay)

Old Lodestone recipe has been returned

Now a netherite ingot is used in crafting, as in version 1.21.4 and earlier.

This is due to the fact that the Lodestone is used as a winch, and I decided to return the more expensive craft.

🧰 Tools

General Usage Information

Selectors set points that select areas. The points are placed by right-clicking. The color of the second point is darker.

The button and stop setter select one block by right-clicking. Button and Door setters requires the copied floor ID by holding down Sprint key and right-clicking on the block with the stop set.

Any point can be removed by holding down Sneak key and right-clicking on the block.

Elevator Selector

Places global two green points, selects elevator cabin. There is a height limit for points: not reaching the bedrock and not close to the world ceiling.

Rope Selector

Places two purple points, selects elevator rope(s). Each of the ropes must consist of one block along its entire length. The first point is fixed to the roof of the elevator, the second to the winch(Lodestone). I note that block entity are not supported.

Floor Selection Button

Places one yellow point, only inside the elevator cabin. Modifies the sign so that the front side becomes clickable.

Stop Setter

Places blue points, one for each Y coordinate. For other tools, the floor ID will need to be copied from these blocks.

Call Buttons

Places golden points, needs to copy the floor ID. Modifies the sign so that the front side becomes clickable.

Doors Selector

It has two types of door placement - for elevator and floor.

For the elevator door, two red points are placed inside the cabin, selects the door.

For the floor door, you need to copy the floor ID, then two gray dots are placed, selects the door.

I note that block entity are not supported.

🏗️ Elevator Elements

Elevator Cabin

The cabin moves by moving blocks.

  • When moving up, entities inside the cabin and on the roof are teleported up;
  • When moving down, entities inside the cabin and below the cabin are teleported down.

If a block is detected in the direction of movement, the elevator will stop and tell the players in the elevator about it.

Rope

When the elevator is moving, the correctness of the cable blocks on the roof of the elevator with the blocks saved is checked. The elevator will stop and tell you an error if an incompleteness or an incorrect cable block is detected.

Doors

Any doors are checked for the absence of an block entity before opening, and then they will open. When closing, the absence of any block or mob in place of the doors is checked.

The doors will open in the following situations:

  • The elevator arrived on the floor;
  • The player pressed the elevator call button if the elevator is already on the floor with the doors closed;
  • The player inside the elevator pressed the door open button.

The doors will try to close after 15 seconds, but if the doors cannot close, the closing will be repeated after 3 seconds.

Buttons

The elevator call buttons send a signal to the non-moving elevator with the floor ID and the elevator ID. The value is encoded using the formula: {(eID * 1000) + (height + 400)}0
If you specify a number in the first line of the sign, it will be considered the floor number, then you can write any text in the other three lines. Otherwise, the contents of the sign will be replaced with the text with the height of the floor.

The floor selection button stores only the elevator ID. When player clicks on it, the player is shown a list of floors and a door opening button. The doors can only be opened when the elevator is not moving. The value of the floor buttons is calculated using the same formula as for call buttons, but at the end the number is 1: {(eID * 1000) + (height + 400)}1. The elevator will not receive a signal if the player presses the floor button outside the elevator cabin.

🧩 Add-ons & Technical info

Entities

By default, the elevator can only move all vanilla living entities, but this is configurable.

  • Add the ignore.customizable_elevators tag to the living entity and the elevator will ignore it.
  • For living entities from mods, you need to add the entity ID to the #customizable_elevators:living entity_type tag.
  • For non-living entities, you need to add the entity ID to the #customizable_elevators:not_living entity_type tag and also add the notice.customizable_elevators mob tag.

Height limit for points

If you need elevator support in your dimension, you need to add the #customizable_elevators:dimension_for_y_check function tag with your function to handle your dimension in your datapack.

Example:

# function from dimension_for_y_check tag
execute if dimension <dimension_id> run return run function <custom_path>/dimension_for_elevator/<dimension>

# <dimension> function
## The #y main_score score stores the Y coordinate of point
## Do not change these functions, they contain a ready-made error message. If you need to, then create your own functions, don't forget about the `return fail` command

execute if score #y main_score matches ..-60 run return run function customizable_elevators:zzz/block/elevator_station/selector/raycast/dimension/below
execute if score #y main_score matches 317.. run return run function customizable_elevators:zzz/block/elevator_station/selector/raycast/dimension/above
return 1

If you need to change the limits for vanilla dimensions, then you also need to add the #customizable_elevators:redefining_validation_for_vanilla_dimension function tag with your function, use the command in it:
data modify storage midwut:main dimension append value {id:"<dimension_id>"}

🔗 Links

You can leave a comment on the PMC page!

PMC

Russian discord server of datapackers / Русский дискорд сервер датапакеров

Если вы датапакер, ищите адекватной помощи, полезных ресурсов и возможности поделиться проектами, то вам на СвинСоюз: Датапаки!
Это сервер-ответвление от изначального заброшенного сервера ZeroCaty "СвинСоюз". Сейчас мы не имеем к нему никакого отношения.

SvinSoyuz

Available Versions

Supports Uprelease
MC 1.21.11fabric, neoforge, quilt
January 13, 2026
Supports Uprelease
MC 1.21.11datapack, minecraft
January 13, 2026

How to Install Customizable Elevators on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set datapack Loader

In the panel under "Egg", select the datapack loader and matching Minecraft version (1.21.11).

3

Install Mod

Open the mod browser in the dashboard and search for "Customizable Elevators". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

datapackfabricminecraftneoforgequilt

Minecraft Versions

1.21.11, 1.21.8, 1.21.7 (+1 more)

Server-side

Required

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

Customizable Elevators server crashes on startup – what to do?

Most common cause: wrong datapack version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.11). You can switch loaders with one click in the panel.

Is Customizable Elevators compatible with datapack and fabric and minecraft and neoforge and quilt?

Customizable Elevators officially supports datapack, fabric, minecraft, neoforge, quilt for Minecraft 1.21.11, 1.21.8, 1.21.7. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with Customizable Elevators – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Customizable Elevators consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install Customizable Elevators with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
Creative Commons Attribution Non Commercial No Derivatives 4.0 International
Server-side
Required

Supported Versions

1.21.111.21.81.21.71.21.6