No description
Find a file
loki 6e0f0e4327 Force getString() for locale default to prevent Boolean parsing
Config.get() was returning Boolean true instead of String "en",
causing locale lookup to fail. Now using getString() directly.
2026-04-09 13:00:32 +02:00
.github/ISSUE_TEMPLATE Initial commit: LoParkour v1.1.0 2026-02-24 22:07:03 +01:00
gradle/wrapper fix 50% 2026-03-01 22:43:37 +01:00
release fix jump slab 2026-03-17 13:36:23 +01:00
src Force getString() for locale default to prevent Boolean parsing 2026-04-09 13:00:32 +02:00
.gitignore fix and migrate 70% 2026-03-05 20:28:25 +01:00
build.gradle.kts Fix critical bugs and Caffeine ClassNotFoundException 2026-04-09 12:02:01 +02:00
gradle.properties Initial commit: LoParkour v1.1.0 2026-02-24 22:07:03 +01:00
gradlew Initial commit: LoParkour v1.1.0 2026-02-24 22:07:03 +01:00
gradlew.bat Initial commit: LoParkour v1.1.0 2026-02-24 22:07:03 +01:00
LICENSE Initial commit: LoParkour v1.1.0 2026-02-24 22:07:03 +01:00
README.md new version 1.3.3 2026-03-10 12:39:21 +01:00
settings.gradle.kts fix 50% 2026-03-01 22:43:37 +01:00
TODO.md Refactor admin command cooldown handling and update localization 2026-04-01 16:25:41 +02:00

LoParkour

Advanced infinitely generating parkour plugin for Minecraft
by loki


Version Java Paper

📢 Latest Release - v1.3.1

Critical security and stability update!

  • 🔒 Fixed SQL Injection vulnerability - All database operations now use PreparedStatement
  • 🐛 8 critical bugs fixed - Ghost system, thread safety, data persistence
  • ✅ Config validation - Prevents crashes from invalid configuration
  • 🚀 Performance improvements - Optimized Random usage and player lookups

See CHANGELOG.md for full details.

🚀 Building

# Windows
gradlew.bat clean build

# Linux/Mac
./gradlew clean build

Output: build/libs/LoParkour-1.3.0.jar

📋 Requirements

  • Java 21+
  • Spigot/Paper 1.20.4+
  • MySQL (optional, for leaderboards)

✨ Features

  • Infinite Generation - Parkour generates endlessly as you play
  • Multiple Game Modes - Default, Speedrun, Hardcore, Gravity Shift, Elytra
  • Ghost System - Race against top player recordings
  • Custom Schematics - Create and use your own parkour structures
  • Visual Themes - Customize block styles and particle effects
  • Leaderboards - Track high scores with MySQL or local storage
  • Rewards System - Configure rewards for score milestones
  • Multi-language - Full localization support

🎮 Game Modes

  • Default - Classic infinite parkour
  • Speedrun - Blocks disappear after a few seconds
  • Hardcore - Lose all rewards on fall
  • Gravity Shift - Random gravity effects (levitation, slow falling, jump boost)
  • Elytra - Fly through particle rings

🗂️ Schematics

LoParkour uses .lpschem format for custom parkour structures:

  • Lightweight JSON-based format with GZIP compression
  • Supports block states, markers (start/end points), and metadata
  • Automatic conversion from old vilib format: /lp schematic convert
  • Create schematics in-game with /lp schematic save <name>
  • Reload schematics: /lp schematic reload

🔧 Commands

  • /lp join - Join parkour
  • /lp leave - Leave parkour
  • /lp spectate <player> - Spectate another player
  • /lp schematic <save|reload|convert> - Manage schematics
  • /lp forcejoin <player> - Force player to join (admin)
  • /lp reset - Reset leaderboards (admin)

📊 Configuration

Main config: plugins/LoParkour/config.yml

  • Enable/disable features
  • Configure game modes
  • Set up MySQL connection
  • Customize generation settings
  • Configure rewards

🌍 Localization

Add custom languages in plugins/LoParkour/locales/

  • Default: English (en.yml)
  • Included: Russian (ru.yml)
  • Players can switch language in-game menu

🔌 Integrations

  • PlaceholderAPI - Use parkour stats in other plugins
  • Vault - Economy rewards support
  • HolographicDisplays - Holographic leaderboards
  • Floodgate - Bedrock player support

📝 Development

Built with LoLib 2.0 framework for modern Minecraft plugin development.

See docs/CHANGES.md for changelog.