- command: replace /lp alias with /lpk (LuckPerms conflict, p.144);
parkour alias kept; docs/changelog/javadoc updated
- lint p.169: restructure last 69 void early-returns into if-blocks and
helpers; ReturnCount is now an error gate (0 violations)
- lint p.170: Throwable->RuntimeException on 3 boundaries; narrow 5
catches to concrete types; document 14 intentional boundary catches
- scheduler p.21: add runTimerAsync to the facade (Bukkit + Folia
backends); MetricsCacheStore and duels go through the facade, no
BukkitRunnable/Bukkit.getScheduler outside scheduler/ (archunit
freeze-store emptied); drop the unverified Folia badge from README
- tracker: mark p.26-29/32-33 done (fixed in fea15e6, verified)
3 KiB
Parkour schematics (LoParkour)
Jump structures are loaded from plugins/LoParkour/schematics/ and matched to a difficulty in plugins/LoParkour/schematics/schematics.yml.
Supported file types
| Extension | Source | Notes |
|---|---|---|
.nbt |
Vanilla structure block, /structure save |
Pasted with Bukkit StructureManager |
.schem, .schematic |
WorldEdit (//copy, //schem save) |
Read via embedded WorldEdit clipboard IO |
.lpschem |
Legacy LoParkour format | Not used in-game; convert with /lpk schematic convert |
During parkour generation, when the profile rolls schematic type, the plugin picks a random file whose difficulty in YAML is ≤ the player's schematic setting (0.0–1.0).
Difficulty keys (schematics.yml)
difficulty:
d0e227d2: 0.25 # short id (recommended)
For file parkour-d0e227d2.schem you can use key d0e227d2 or the full stem parkour-d0e227d2.
Player setting 0.25 (easy) → only structures with difficulty ≤ 0.25.
1.0 → any structure.
Creating schematics in-game (admin)
- Get the wand:
/lpk schematic wand - Left-click = position 1, right-click = position 2 (or use
/lpk schematic pos1/pos2) - Save and register:
/lpk create <difficulty>— auto nameparkour-<hash>.schem+ YAML entry/lpk schematic create <difficulty>— same/lpk schematic create <name> <difficulty>— custom name (letters, numbers,-,_)
Difficulty examples: 0.25, 0.5, 0.75, 1.0 (must be between 0 and 1).
/lpk schematic reload— reload files without restart
Converting old .lpschem files
Place .lpschem files in plugins/LoParkour/schematics/ or legacy schematics-new/, then:
/lpk schematic convert
Each file becomes parkour-<id>.schem in schematics/ and gets a difficulty: entry (from the old metadata, or 0.5 if missing). Original .lpschem files are kept; delete them manually after checking.
Admin commands
| Command | Description |
|---|---|
/lpk schematic wand |
Selection wand |
/lpk schematic pos1 / pos2 |
Set corners at your feet |
/lpk create <difficulty> |
Save selection → .schem + YAML |
/lpk schematic create <name> <difficulty> |
Save with custom name |
/lpk schematic convert |
Convert all .lpschem in schematics folders |
/lpk schematic list |
List loaded structures |
/lpk schematic paste <name> |
Test-paste at your location |
/lpk schematic reload |
Reload disk files |
Flow (runtime)
flowchart LR
A[BlockPlacer SCHEMATIC roll] --> B[SchematicManager.pick]
B --> C{Format}
C -->|nbt| D[Structure.place]
C -->|schem| E[Clipboard paste]
D --> F[Track blocks / score]
E --> F
Folders
plugins/LoParkour/schematics/—.nbt,.schem,.schematic(active)plugins/LoParkour/schematics/schematics.yml— difficulty mapplugins/LoParkour/schematics-new/— legacy; scanned only for.lpschemconvert