BetterElevator
!BetterElevator Real-block elevators with smooth motion, solid walls, and per-elevator speed control. Folia and Paper safe.
Features
- Build your own cabin — select any shape with a blaze rod, run
/bet create <name>, done. No restrictive templates. - Smooth, real-block motion — the cabin moves as actual FallingBlocks with vanilla physics carrying you up/down. No teleport jank, no "fall through floor" bugs.
- Solid walls (via ProtocolLib) — passengers can't walk through cabin walls horizontally. Implemented with client-only block packets — server world untouched, non-passengers see nothing. Predictive packet scheduling compensates for network latency.
- Per-elevator speed levels —
/bet speed <elevator> <level>switches between configurable speeds (default 2.5 / 5 / 10 / 20 blocks/sec). Persisted per elevator. - Sign and button triggers — write
[BET] / <elevator> / <floor>on a sign and right-click rides. Or/bet bind <elevator>to turn any block into a call button (opens a floor-picker chest GUI). - Auto floor registration — writing
[BET] / <elevator> / 5F:+6on a sign auto-registers a new floor 6 blocks above the highest existing one. - Per-player permission groups — limit max cabin size, max elevators owned, max speed per group via
permissions/groups.yml. - World filtering — whitelist/blacklist worlds where elevators work.
- Multi-backend storage — YAML (default), SQLite, or MySQL. SQL backends auto-migrate schema.
- i18n — bundled
zh_twanden_us; each player sees their client locale automatically. Drop in your ownlang/<locale>.yml. - Mixed colour syntax — every message accepts MiniMessage tags, legacy
&6codes, and hex&#FFAA00/#FFAA00freely mixed. - Auto config migration — new config keys from updates are merged into your existing config on reload, with comments. Existing values are never overwritten.
Requirements
- Paper 1.21+ (or any Folia build)
- ProtocolLib (soft dependency — only needed for solid walls; without it the plugin runs fine and walls fall back to walk-through)
- Java 21+
Quick start
- Drop the jar in
plugins/. - Restart.
- Get a blaze rod. Left-click one corner of your cabin, right-click the opposite corner.
- Stand inside the cabin. Run
/bet create lobby. - Place a sign somewhere with: [BET] lobby 2F:+5
Right-click it. Cabin moves 5 blocks up.
Commands
| Command | Description |
|---|---|
/bet create <name> | Create elevator from current selection + standing position |
/bet floor add <elevator> <floor> | Register your current position as a floor |
/bet floor remove <elevator> <floor> | Remove a floor |
/bet bind <elevator> | Bind the block you're looking at as a call button |
/bet unbind | Remove the call-button binding from the targeted block |
/bet goto <elevator> <floor> | Force-call elevator to a floor |
/bet speed <elevator> <level> | Switch speed level |
/bet list | List all elevators |
/bet info <elevator> | Inspect an elevator |
/bet delete <elevator> | Delete an elevator |
/bet reset <elevator|all> | Clear stuck ride state / orphan blocks |
/bet reload | Reload config, lang, permissions |
Permissions
betterelevator.admin— full management (default: op)betterelevator.use— ride elevators via signs/buttons (default: true)betterelevator.speed— change elevator speed level (default: op)betterelevator.group.<name>— per-group limits inpermissions/groups.yml
Configuration highlights
motion:
default-blocks-per-second: 2.5
speed-levels: [2.5, 5.0, 10.0, 20.0]
passengers:
fake-wall-blocks: true # solid walls via ProtocolLib
fake-wall-lookahead-ticks: 2 # latency compensation
inride-friction: 0.6 # X/Z friction while riding
worlds:
mode: all # all / whitelist / blacklist
list: []
storage:
type: yaml # yaml / sqlite / mysql
Notes
Folia: the plugin uses per-region scheduling for block writes and entity work. Cross-region rides work.
Passenger limits: by default the cabin carries the player plus any mobs and dropped items inside it. Toggle via passengers.carry-mobs / passengers.carry-items.
Storage migrates from older versions automatically. Don't lose any existing data.
Bug reports and PRs welcome.
Партнёрский материал
Сервер для плагина BetterElevator - как у профи
Плагин BetterElevator создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином BetterElevator для друзей можно за пару минут - BungeeHost всё уже подготовил.
Часто задаваемые вопросы
Совместимость
Ссылки
Создатели
Детали
Лицензия:
Опубликован:4 месяца назад
Обновлён:4 месяца назад

