Obstacle-course challenges for Paper servers. Each challenge builds an arena — a corridor of chained rooms, where every room is a different obstacle drawn at build time: maze, parkour, lava river, ice track, dart corridor, guardian room, door puzzle and a bridge over the void. Whoever clears them all gets the reward at the end.
Every block the build overwrote is recorded on disk, so /desafio remover still restores the
original terrain after a server restart.
Requires: Paper 1.21.4+ and Java 21. Server-side only — players install nothing.
The commands and the in-game messages are in Portuguese. The Portuguese reference documentation is in the repository, linked at the bottom of this page.
Install
- Download the jar from the Download tab.
- Drop it into the server's
plugins/folder. - Restart the server (do not use
/reloadin production).
How it works
An operator builds the arena once, standing where it should appear:
/desafio criar iniciante
The arena grows along +Z from a few blocks ahead of whoever ran the command, and comes with a gateway at the front: an alcove with a sign, a button and a pressure plate. After that nobody needs a command — a player who walks up reads the challenge name on the sign and enters by stepping on the plate or pressing the button.
Only the gateway's own triggers let players in. A button someone places outside does not become a challenge door, and nothing inside the arena works as a trigger.
Commands
| Command | Permission | Effect |
|---|---|---|
/desafio |
desafios.use (everyone) |
Lists the challenges and which ones already have an arena |
/desafio info <id> |
desafios.use |
Difficulty, stages, reward and the rooms drawn |
/desafio entrar <id> |
desafios.use |
Starts the run |
/desafio sair |
desafios.use |
Leaves the run, and pulls out anyone stuck inside |
/desafio ranking <id> |
desafios.use |
The ten best times |
/desafio criar <id> [seed] |
desafios.criar (op) |
Builds the arena in front of you |
/desafio remover <id> |
desafios.criar (op) |
Undoes it, restoring the original blocks |
/desafio reload |
desafios.reload (op) |
Reloads config.yml |
Aliases: /desafios, /df.
The same seed rebuilds the same arena. Without a seed, each build draws different rooms. A plain
word works as a seed too (/desafio criar torre aniversario).
The rooms
| Generator | The obstacle |
|---|---|
labirinto |
A perfect maze, carved by backtracking. No cycles, so there is one path and no shortcut. Cobwebs from normal difficulty up, and less and less lantern light |
parkour |
Platforms over a lava pit. Every jump comes from the game's real reach table |
lava |
A lava lake with a trail of stones, some of them magma, and gaps to jump |
gelo |
Blue ice floor full of holes: the obstacle is speed, not the jump |
dardos |
Eyes in the walls spit fast arrows (3 blocks per tick) in volleys; there are pillars to hide behind |
mobs |
The exit grate only opens once every guardian is down |
portas |
Three doors, one goes through. The right colour is marked on the floor — subtly on hard |
ponte |
A narrow bridge over the void. On hard and insane, gusts of wind push you |
Falling, burning or taking the finishing blow does not kill: it returns the player to the start
of the room and counts a fall. If you prefer the opposite, enable corrida.morte-real in
config.yml.
The dart corridor's arrows do real damage — 2 hearts on easy, 2.5 on normal, 3 on hard and 3.5 on insane, without losing force across the room. Armour still counts.
No buffs inside the challenge
At the start the plugin strips, and for as long as the run lasts it blocks:
- potion effects — all of them, including ones the player already had; a potion drunk mid-run is refused, and lingering clouds or beacons do not apply;
- flight — including creative flight, because creative and spectator become survival at the start;
- elytra;
- ender pearls and chorus fruit — no skipping a room by teleport. The pearl is not even spent;
- mounts — the player dismounts whatever they were riding.
The effects they arrived with are given back when the run ends, however it ends. Without this, a jump boost would turn the parkour into a stroll and the leaderboard time would mean nothing.
An ability another plugin implements outside the game's effect system — an item that teleports on its own, say — this plugin cannot see; if your server has one, test before opening the challenge.
Difficulty
facil, normal, dificil and insano are a single number that each generator interprets: a
longer jump in the parkour, less light in the maze, a narrower ice track, more guardians, a smaller
colour patch in the door puzzle, wind on the bridge.
Rewards
Per challenge, in config.yml:
premio:
mensagem: "Voce atravessou a Trilha do Aprendiz!"
xp: 30
itens:
- material: DIAMOND
quantidade: 3
comandos: []
comandos runs on the console with %jogador% replaced by the winner's name — that is how the
reward becomes an item from another plugin without this one depending on it:
comandos:
- "itens dar espada-do-infinito %jogador%"
Limits worth knowing
- One run per arena. The rooms keep state in the world itself — the guardian grate, the living mobs — so two runners at once would open each other's grate. For two people to run together, build the arena of another challenge.
- The arena takes up real space. With the default values, a 7-stage challenge uses
17 x 16 x 200 blocks of the world. Pick an empty spot, or a high one, and check
/desafio infobefore building near anything that matters. - Removing during the build does not work. The list of original blocks is only written when the build finishes; interrupting it halfway leaves whatever was already written in the world.
Bedrock players
The build and the run are entirely server-side, so Geyser + Floodgate are enough. If a Bedrock
player cannot run /desafio criar, it is permissions, not compatibility — desafios.criar is
default: op and Floodgate prefixes their name (. by default):
op .PlayerName
Configuration
config.yml carries arena (measurements, blocks per tick, adventure mode), corrida (real
death, respawn on burning, time warning, victory announcement) and desafios. Every field is
commented in the file itself.
Source, issue tracker and the full Portuguese documentation: https://github.com/eupolemo/DesafiosPlugin
MIT licensed.
No gallery available for this project.
| Version | Minecraft | Loader | Download |
|---|---|---|---|
|
DesafiosPlugin 1.0.1 1.0.1 |
1.21.4
|
paper
|
Download |