DesafiosPlugin

Obstacle-course arenas built from rooms drawn at random: maze, parkour, lava, ice, darts, guardians, door puzzle and a bridge over the void. Timed runs, leaderboards and rewards.

0 downloads 0 followers

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

  1. Download the jar from the Download tab.
  2. Drop it into the server's plugins/ folder.
  3. Restart the server (do not use /reload in 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 info before 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