Back
README.md
markdownwiki/README.md
# ⚡ ScriptsLab Wiki
Добро пожаловать в полную документацию плагина ScriptsLab!
## Для кого эта документация?
Эта Wiki написана для всех - как для новичков, которые впервые сталкиваются с плагинами для Minecraft серверов, так и для опытных разработчиков. Здесь вы найдёте:
- 📥 **Установка** - Пошаговая инструкция по установке
- ⚙️ **Настройка** - Конфигурация плагина
- 📝 **API** - Полное руководство по JavaScript API
- 💡 **Примеры** - Готовые скрипты с объяснениями
- 🔧 **Решение проблем** - Ответы на частые вопросы
---
## Быстрые ссылки
| Раздел | Описание |
|--------|----------|
| [Установка](installation.md) | Как установить плагин на сервер |
| [Настройка](configuration.md) | Конфигурация config.yml |
| [Команды](commands.md) | Команды сервера для управления плагином |
| [Права](permissions.md) | Система разрешений |
| [Script API](script-api.md) | Полный справочник JavaScript API |
| [Модули](modules.md) | Система модулей |
| [Примеры](examples/) | Готовые примеры скриптов |
| [FAQ](faq.md) | Часто задаваемые вопросы |
---
## Что такое ScriptsLab?
ScriptsLab - это мощный плагин-фреймворк для серверов Minecraft (Paper/Spigot), который позволяет создавать кастомный игровой контент с помощью **JavaScript**.
### Почему ScriptsLab?
| Возможность | Описание |
|------------|-----------|
| 🚀 **Hot-Reload** | Перезагрузка скриптов без перезапуска сервера |
| 🎯 **Модульность** | Организация кода в переиспользуемые модули |
| ⚡ **Производительность** | Работает на движке GraalVM JavaScript |
| 🔒 **Безопасность** | Песочница (sandbox) для защиты сервера |
| 🎨 **Богатый API** | Команды, события, предметы, хранилище, планировщик |
| 🛠️ **Developer Friendly** | Современный JavaScript с поддержкой IDE |
### Основные функции
- **Система команд** - Регистрация своих команд с правами доступа
- **Обработка событий** - Прослушивание любых событий Bukkit/Paper
- **Кастомные предметы** - Создание предметов с способностями и атрибутами
- **Хранилище** - YAML-based постоянное сохранение данных
- **Планировщик задач** - Синхронное/асинхронное планирование задач
- **Сбор метрик** - Встроенный мониторинг производительности
- **Модульная система** - Горячая загрузка модулей плагинов
---
## Требования
| Требование | Версия |
|-------------|--------|
| Minecraft Server | Paper 1.20.4+ (или совместимый Spigot форк) |
| Java | 17 или выше |
| Минимальная память | 2GB RAM |
---
## Быстрый старт
### 1. Установите плагин
Скачайте `ScriptsLab-1.0.0.jar` и поместите в папку `plugins/` вашего сервера.
### 2. Создайте первый скрипт
Создайте файл `plugins/ScriptsLab/scripts/hello.js`:
```javascript
Commands.register('hello', function(sender, args) {
sender.sendMessage('§aПривет, ' + sender.getName() + '!');
}, 'scriptslab.hello');
Console.log('Команда /hello зарегистрирована!');
```
### 3. Используйте команду
В игре напишите `/hello` - вы получите приветственное сообщение!
---
## Структура файлов плагина
```
plugins/ScriptsLab/
├── config.yml # Основная конфигурация
├── messages.yml # Сообщения плагина
├── scripts/ # Ваши JavaScript скрипты
│ ├── hello.js
│ └── examples/
│ └── ...
├── modules/ # Модули плагина
│ └── demo/
│ └── module.yml
└── storage/ # Сохранённые данные (YAML)
```
---
## Перевод цветовых кодов
В ScriptsLab поддерживаются как старые коды (`&`), так и новые (MiniMessage):
| Код | Цвет | Пример |
|-----|------|-------|
| &0 | Чёрный | §0текст |
| &1 | Тёмно-синий | §1текст |
| &2 | Тёмно-зелёный | §2текст |
| &3 | Тёмно-голубой | §3текст |
| &4 | Тёмно-красный | §4текст |
| &5 | Фиолетовый | §5текст |
| &6 | Золотой | §6текст |
| &7 | Серый | §7текст |
| &8 | Тёмно-серый | §8текст |
| &9 | Синий | §9текст |
| &a | Зелёный | §aтекст |
| &b | Голубой | §bтекст |
| &c | Красный | §cтекст |
| &d | Светло-фиолетовый | §dтекст |
| &e | Жёлтый | §eтекст |
| &f | Белый | §fтекст |
| &l | Жирный | §lтекст |
| &o | Курсив | §oтекст |
| &n | Подчёркнутый | §nтекст |
| &m | Зачёркнутый | §mтекст |
| &k | Мигающий | §kтекст |
---
## Поддержка и помощь
- **GitHub Issues**: Сообщить об ошибке
- **GitHub Discussions**: Задать вопрос
- **Discord**: Присоединиться к сообществу
---
## Лицензия
ScriptsLab распространяется под лицензией **MIT** - подробности в файле [LICENSE](../../LICENSE).
---
**Сделано с ❤️ для Minecraft сообщества**
⭐ Поставьте звёздочку на GitHub, если плагин вам полезен!