ScriptsLab
WikiDownloadsSourcesSupport
ScriptsLab
DocumentationDownloadsGitHubDiscord

© 2026 ScriptsLab

Back to wiki
M

README.md

Markdown · 157 lines · 6.6 KB

wiki/README.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# ⚡ 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, если плагин вам полезен!