docs: unify README style with flat-square badges and bilingual layout

This commit is contained in:
loki5512344 2026-07-12 00:32:31 +02:00
parent 2773db98cf
commit 535d472a41
Signed by: boba
GPG key ID: 253067914055423B

181
README.md
View file

@ -1,108 +1,135 @@
<div align="center">
<h3>LoParkour</h3>
<strong>
Advanced infinitely generating parkour plugin for Minecraft
<br>
by <a href="https://github.com/loki">loki</a>
</strong>
<br><br>
[![Version](https://img.shields.io/badge/version-1.3.1-blue.svg)](CHANGELOG.md)
[![Java](https://img.shields.io/badge/Java-21+-orange.svg)](https://adoptium.net/)
[![Paper](https://img.shields.io/badge/Paper-1.20.4+-green.svg)](https://papermc.io/)
# LoParkour
Advanced infinitely generating parkour plugin with ghost system, leaderboards and multiple game modes.
![Java](https://img.shields.io/badge/Java-21+-orange?style=flat-square&logo=openjdk&logoColor=white)
![Paper](https://img.shields.io/badge/Paper-1.19.2+-blue?style=flat-square)
![Folia](https://img.shields.io/badge/Folia-supported-purple?style=flat-square)
![License](https://img.shields.io/badge/license-GPLv3-blue?style=flat-square&logo=gnu&logoColor=white)
![version](https://img.shields.io/badge/version-1.3.3-green?style=flat-square)
[English](#english) | [Русский](#russian)
</div>
## 📢 Latest Release - v1.3.1
---
**Critical security and stability update!**
<a name="english"></a>
- 🔒 **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
## English
See [CHANGELOG.md](CHANGELOG.md) for full details.
### Overview
## 🚀 Building
LoParkour is an advanced parkour plugin with infinite world generation. The course generates endlessly as you play, with multiple game modes, a ghost racing system, custom schematics, visual themes, and MySQL leaderboards.
```bash
# Windows
gradlew.bat clean build
### Features
# Linux/Mac
./gradlew clean build
```
| Feature | Description |
|---------|-------------|
| Infinite generation | Parkour generates endlessly as you play |
| Multiple game modes | Default, Speedrun, Gravity Shift, Elytra |
| Ghost system | Race against top player recordings |
| Custom schematics | Create and use your own parkour structures (.lpschem) |
| 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 (en, ru included) |
| PlaceholderAPI | Parkour stats in other plugins |
| Vault economy | Economy rewards support |
| Floodgate | Bedrock player support |
Output: `build/libs/LoParkour-1.3.0.jar`
### Game Modes
## 📋 Requirements
| Mode | Description |
|------|-------------|
| Default | Classic infinite parkour |
| Speedrun | Blocks disappear after a few seconds |
| Gravity Shift | Random gravity effects (levitation, slow falling, jump boost) |
| Elytra | Fly through particle rings |
- Java 21+
- Spigot/Paper 1.20.4+
- MySQL (optional, for leaderboards)
### Commands
## ✨ Features
| Command | Description |
|---------|-------------|
| `/lp join` | Join parkour |
| `/lp leave` | Leave parkour |
| `/lp spectate <player>` | Spectate another player |
| `/lp schematic save <name>` | Save a schematic |
| `/lp schematic reload` | Reload schematics |
| `/lp schematic convert` | Convert old vilib format |
| `/lp forcejoin <player>` | Force player to join (admin) |
| `/lp reset` | Reset leaderboards (admin) |
- **Infinite Generation** - Parkour generates endlessly as you play
- **Multiple Game Modes** - Default, Speedrun, 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
### Dependencies
## 🎮 Game Modes
- Required: Paper 1.19.2+, Java 21+
- Optional: PlaceholderAPI, Vault, HolographicDisplays, Floodgate, Multiverse-Core
- **Default** - Classic infinite parkour
- **Speedrun** - Blocks disappear after a few seconds
- **Gravity Shift** - Random gravity effects (levitation, slow falling, jump boost)
- **Elytra** - Fly through particle rings
### Installation
## 🗂️ Schematics
1. Drop the jar into `plugins/`
2. Restart the server
3. Configure `plugins/LoParkour/config.yml`
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
<a name="russian"></a>
- `/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
LoParkour - продвинутый паркур-плагин с бесконечной генерацией мира. Трасса генерируется по мере игры, с несколькими режимами, системой призраков, кастомными схематиками, визуальными темами и MySQL лидербордами.
## 🌍 Localization
### Возможности
Add custom languages in `plugins/LoParkour/locales/`
- Default: English (`en.yml`)
- Included: Russian (`ru.yml`)
- Players can switch language in-game menu
| Возможность | Описание |
|-------------|----------|
| Бесконечная генерация | Паркур генерируется по мере игры |
| Несколько режимов | Default, Speedrun, Gravity Shift, Elytra |
| Система призраков | Гонка против записей топ-игроков |
| Кастомные схематики | Создавайте свои структуры (.lpschem) |
| Визуальные темы | Настройка стилей блоков и частиц |
| Лидерборды | Топ результатов через MySQL или локально |
| Награды | Настройка наград за достижение очков |
| Мультиязычность | Полная локализация (en, ru) |
| PlaceholderAPI | Статистика паркура в других плагинах |
| Vault | Экономические награды |
| Floodgate | Поддержка бедрок-игроков |
## 🔌 Integrations
### Команды
- **PlaceholderAPI** - Use parkour stats in other plugins
- **Vault** - Economy rewards support
- **HolographicDisplays** - Holographic leaderboards
- **Floodgate** - Bedrock player support
| Команда | Описание |
|---------|----------|
| `/lp join` | Начать паркур |
| `/lp leave` | Выйти из паркура |
| `/lp spectate <игрок>` | Наблюдать за игроком |
| `/lp schematic save <имя>` | Сохранить схематику |
| `/lp schematic reload` | Перезагрузить схематики |
| `/lp forcejoin <игрок>` | Заставить игрока начать (админ) |
| `/lp reset` | Сбросить лидерборды (админ) |
## 📝 Development
### Зависимости
Built with LoLib 2.0 framework for modern Minecraft plugin development.
- Обязательные: Paper 1.19.2+, Java 21+
- Опциональные: PlaceholderAPI, Vault, HolographicDisplays, Floodgate, Multiverse-Core
See `docs/CHANGES.md` for changelog.
### Установка
1. Положите jar в папку `plugins/`
2. Перезапустите сервер
3. Настройте `plugins/LoParkour/config.yml`
---
### Links
- [Releases](../../releases)
- [Issues](../../issues)
- [License](LICENSE)
### License
GNU General Public License v3.0