- Для версий
- 1.21.✘
- 26.✘
- Исходный код
- https://github.com/noloverme/NUnReal
🎮 NUnReal
Мощный плагин для Paper/Spigot Minecraft, добавляющий систему способностей по чанкам и пользовательские генераторы мобов.
Обзор
NUnReal преобразует геймплей Minecraft, предоставляя систему активируемых по чанкам способностей. Игроки могут размещать специальные блоки способностей в чанках, чтобы разблокировать мощные модификаторы, влияющие на скорость добычи, полёты, сбор предметов, взаимодействие с сущностями, рост растений и многое другое.
Основные возможности:
Установка
Требования:
Шаг 1: Подготовка кода
Шаг 2: Сборка проекта
Скомпилированный JAR появится по пути:
Шаг 3: Установка на сервер
Шаг 4: Перезагрузка сервера
Или просто перезагрузите сервер полностью.
Шаг 5: Проверка
Вы должны получить блок способностей в инвентарь.
Конфигурация
Плагин полностью настраивается через
1. Крафт (craft)
Определяет рецепт создания блока способностей:
Логика: Рецепт будет выглядеть как:
2. Параметры блоков (blocks)
Управляет поведением блоков способностей:
3. Экономика (economy)
Система стоимости способностей:
Логика стоимости: Когда игрок активирует способность, из его инвентаря удаляются предметы согласно конфигурации.
4. Меню (menu)
Настройка интерфейса выбора способностей:
5. Способности (abilities)
Детальные параметры каждой способности:
6. Генераторы мобов (spawners)
Система крафта для спавнеров:
Логика рецепта: Верстак будет требовать расстановку предметов в виде:
Способности
В плагине доступно 15 уникальных способностей:
Способности на основе атрибутов:
Специальные способности:
Команды
Все команды требуют права
/nunreal reload
Перезагружает конфигурацию и переинициализирует все рецепты.
Когда использовать: После редактирования
/nunreal give [игрок]
Выдаёт блок способностей игроку. Если игрок не указан, выдаёт себе.
/nunreal givespawner <моб> [игрок]
Выдаёт спавнер определённого моба.
Взаимодействие игроков:
1. Поместите блок способностей в чанк (ПКМ)
2. Нажмите ПКМ по блоку → откроется меню способностей
3. Кликните на способность в меню
4. Проверьте стоимость и подтвердите активацию
Права доступа
Примеры установки прав через LuckPerms:
Структура проекта
Как это работает
Логика активации способности:
Система сохранения данных:
Асинхронные задачи:
Два фоновых процесса работают отдельно от основного потока:
ChunkCheckTask (каждые 20 тиков = 1 сек по умолчанию)
MagnetTask (каждые 5 тиков по умолчанию)
Примеры использования
Пример 1: Создание "Зоны добычи"
Цель: Создать чанк, где добыча происходит в 2 раза быстрее.
Конфигурация:
Действия:
Пример 2: "Ферма с автоплавкой"
Цель: Руда переплавляется сразу в слитки.
Действия:
Пример 3: "Зона безопасности"
Цель: Создать зону, где враги не спауняются и игрок не падает.
Действия:
Пример 4: Кастомный спавнер
Логика:
Решение проблем
Плагин не загружается
Симптомы: В логе консоли ошибки при загрузке.
Решение:
Блок способностей не появляется в крафте
Симптомы: Даже с правильными ингредиентами блок не крафтится.
Решение:
Способность не активируется
Симптомы: Выбираю способность, но эффект не применяется.
Проверочный список:
Решение:
Полёт не работает
Симптомы: Активирована способность FLIGHT, но полёт не включается.
Решение:
Кастомный рецепт спавнера не работает
Симптомы: Вкладываю ингредиенты на верстак, но спавнер не создаётся.
Проверка:
Проверка ингредиентов:
Решение:
Производительность
Оптимизация для больших серверов
Уменьшить нагрузку ChunkCheckTask:
Оптимизировать магнит:
Ускорить разрушение блока:
Мониторинг TPS в игре:
Если TPS падает при активации способностей:
1. Отключить асинхронные задачи (временно)
2. Уменьшить radius магнита
3. Увеличить interval-ticks
Сборка и разработка
Требования для разработки:
Команды Maven:
Заметки
Спасибо за использование NUnReal!
Для вопросов и предложений обратитесь к разработчику или оставьте issue в репозитории.
Мощный плагин для Paper/Spigot Minecraft, добавляющий систему способностей по чанкам и пользовательские генераторы мобов.
Обзор
NUnReal преобразует геймплей Minecraft, предоставляя систему активируемых по чанкам способностей. Игроки могут размещать специальные блоки способностей в чанках, чтобы разблокировать мощные модификаторы, влияющие на скорость добычи, полёты, сбор предметов, взаимодействие с сущностями, рост растений и многое другое.
Основные возможности:
- 15+ Способностей - От добычи до полёта, от магнита до вечной сытости
- 27+ Мобов - Все враждебные и мирные мобы с кастомными рецептами
- Система Чанков - Один блок на чанк с постоянным сохранением данных
- Полная конфигурируемость - Все параметры регулируются через config.yml
- Продвинутая обработка событий - Кастомный крафт, взаимодействие, состояния игрока
- Асинхронные задачи - Магнит предметов и проверка чанков работают без лагов
Установка
Требования:
- Java 21+
- Paper/Spigot Server (протестировано на 1.21.8 Paper)
- Maven 3.6+ (для сборки)
Шаг 1: Подготовка кода
Bash:
git clone https://github.com/noloverme/NUnReal/ && cd NUnRealШаг 2: Сборка проекта
Bash:
mvn clean packageСкомпилированный JAR появится по пути:
target/NUnReal-1.0.2.jarШаг 3: Установка на сервер
Bash:
cp target/NUnReal-1.0.2.jar /path/to/server/plugins/Шаг 4: Перезагрузка сервера
Код:
/restartИли просто перезагрузите сервер полностью.
Шаг 5: Проверка
Код:
/nunreal give ваш_никВы должны получить блок способностей в инвентарь.
Конфигурация
Плагин полностью настраивается через
config.yml. При первом запуске автоматически создаётся файл конфигурации со значениями по умолчанию.1. Крафт (craft)
Определяет рецепт создания блока способностей:
YAML:
craft:
enabled: true
shape:
- "C D E"
- "F L F"
- "M N O"
slots:
C: CRYING_OBSIDIAN
D: AMETHYST_CLUSTER
E: OBSIDIAN
F: TINTED_GLASS
L: TOTEM_OF_UNDYING
M: ENCHANTED_GOLDEN_APPLE
N: END_CRYSTAL
O: TURTLE_HELMET
result-name: "§6Блок Способностей"
result-lore:
- "§7Поставьте и нажмите ПКМ"
- "§7чтобы выбрать способность"Логика: Рецепт будет выглядеть как:
Код:
[A] [B] [C]
[D] [D] [D]
[D] [D] [D]2. Параметры блоков (blocks)
Управляет поведением блоков способностей:
YAML:
blocks:
one-per-chunk: true
require-pickaxe: true
break-time-ticks: 20
insta-break: false
drop-item: true
messages:
placed: "§aБлок способностей установлен!"
already-exists: "§cВ этом чанке уже есть блок!"
broken: "§eБлок способностей разрушен."
need-pickaxe: "§cИспользуйте кирку!"3. Экономика (economy)
Система стоимости способностей:
YAML:
economy:
default-cost:
material: DIAMOND
amount: 1
ability-costs:
MINING:
material: DIAMOND
amount: 20
FLIGHT:
material: NETHERITE_INGOT
amount: 10
KEEP_RESOURCES:
material: DIAMOND
amount: 32Логика стоимости: Когда игрок активирует способность, из его инвентаря удаляются предметы согласно конфигурации.
4. Меню (menu)
Настройка интерфейса выбора способностей:
YAML:
menu:
title: "§8Выбор способности"
size: 18
filler:
enabled: true
material: GRAY_STAINED_GLASS_PANE
name: " "
abilities:
MINING:
slot: 0
material: GOLDEN_PICKAXE
name: "§eКопание"
lore:
- "§7+30.0 к скорости ломания"
- ""
- "§eЦена: 20 алмазов"
active-lore-line: "§aАктивно"5. Способности (abilities)
Детальные параметры каждой способности:
YAML:
abilities:
MINING:
attribute: BLOCK_BREAK_SPEED
value: 30.0
MAGNET:
radius: 8.0
speed: 0.30
interval-ticks: 5
max-items-per-tick: 100
FLIGHT:
fly-speed: 0.1
exit-protection: SLOW_FALLING
slow-falling-seconds: 56. Генераторы мобов (spawners)
Система крафта для спавнеров:
YAML:
spawners:
enabled: true
require-silk-touch: true
recipes:
SKELETON:
enabled: true
shape:
- "G C G"
- "D B D"
- "A A A"
ingredients:
G: "BONE"
C: "BOW"
B: "NETHERITE_INGOT"
D: "ARROW"
A: "DIAMOND"Логика рецепта: Верстак будет требовать расстановку предметов в виде:
Код:
[BONE] [BOW] [BONE]
[ARROW] [NETHERITE] [ARROW]
[DIAMOND] [DIAMOND] [DIAMOND]Способности
В плагине доступно 15 уникальных способностей:
Способности на основе атрибутов:
- MINING - +30 к скорости ломания (20 💎). Ускоряет добычу всех блоков в чанке
- LONG_ARM - +15 к дальности взаимодействия (20 💎). Позволяет взаимодействовать с блоками издалека
- ANTI_KNOCKBACK - +30 к сопротивлению отдаче (1 💎). Защита от отброса при попадании
- LUCK - +30 к удаче (5 💎). Больше дропа, чаще редкие предметы
- DWARF - -0.75 к масштабу (1 💎). Игрок становится меньше ростом
- FALL_RESIST - +10 к безопасной высоте падения (1 💎). Можно падать без урона с большей высоты
Специальные способности:
- GROWTH - Растения растут на 50% быстрее (5 💎). Ускоряет рост пшеницы, тыквы и т.д.
- MAGNET - Автосбор выброшенных предметов (10 💎). Предметы притягиваются к игроку
- FLIGHT - Полёт в чанке (10 🔷). Игроки могут летать внутри чанка
- INFINITE_TRADES - Жители не исчерпывают сделки (10 🔷). Бесконечные трейды с жителями
- KEEP_RESOURCES - Сохранение ресурсов при смерти (32 💎). Предметы и опыт не теряются
- SATURATION - Голод не уменьшается (3 💎). Полоса голода "замораживается"
- AUTO_SMELT - Руда переплавляется автоматически (15 💎). Железо, золото, медь → слитки
- HOLY_GROUND - Блокировка спавна враждебных мобов (20 💎). Натуральный спавн мобов невозможен
- THRIFTY_CRAFT - 15% шанс вернуть ингредиент (2 🔷). При крафте на верстаке может вернуться 1 ингредиент
Команды
Все команды требуют права
nunreal.admin (по умолчанию = OP)./nunreal reload
Перезагружает конфигурацию и переинициализирует все рецепты.
Код:
Использование: /nunreal reload
Результат:
✓ Конфиг перезагружен
✓ Рецепты способностей обновлены
✓ Рецепты спавнеров обновлены
✓ Меню переинициализированоКогда использовать: После редактирования
config.yml/nunreal give [игрок]
Выдаёт блок способностей игроку. Если игрок не указан, выдаёт себе.
Код:
Примеры:
/nunreal give
/nunreal give PlayerName/nunreal givespawner <моб> [игрок]
Выдаёт спавнер определённого моба.
Код:
Примеры:
/nunreal givespawner SKELETON
/nunreal givespawner SKELETON PlayerName
Доступные мобы:
Враждебные: SKELETON, ZOMBIE, WITHER_SKELETON, GHAST, CREEPER,
HOGLIN, SHULKER, SPIDER, BLAZE, VINDICATOR,
MAGMA_CUBE, SLIME, ENDERMAN, DROWNED
Мирные: COW, MOOSHROOM, BREEZE, SNIFFER, IRON_GOLEM,
ARMADILLO, WOLF, TURTLE, VILLAGER, SALMON,
COD, CAT, SNOW_GOLEMВзаимодействие игроков:
1. Поместите блок способностей в чанк (ПКМ)
2. Нажмите ПКМ по блоку → откроется меню способностей
3. Кликните на способность в меню
4. Проверьте стоимость и подтвердите активацию
Права доступа
nunreal.admin- Доступ к командам администратора (OP)nunreal.craft- Право крафтить блоки способностей (TRUE)nunreal.use- Право использовать меню способностей (TRUE)nunreal.spawner.place- Право устанавливать блоки способностей (TRUE)nunreal.spawner.break- Право разрушать блоки способностей (OP)
Примеры установки прав через LuckPerms:
Код:
/lp user PlayerName permission set nunreal.admin true
/lp user PlayerName permission set nunreal.craft trueСтруктура проекта
Код:
NUnReal/
├── src/main/java/com/noloverme/nunreal/
│ ├── NUnReal.java
│ ├── ability/
│ │ ├─ AbilityType.java
│ │ ├─ AbilityManager.java
│ │ ├─ AbilityApplier.java
│ │ └─ FlightManager.java
│ ├── block/
│ │ ├─ CommandBlockData.java
│ │ └─ CommandBlockManager.java
│ ├── chunk/
│ │ └─ ChunkManager.java
│ ├── spawner/
│ │ ├─ SpawnerType.java
│ │ ├─ SpawnerItemFactory.java
│ │ └─ SpawnerRecipeManager.java
│ ├── craft/
│ │ └─ CommandBlockRecipe.java
│ ├── config/
│ │ └─ ConfigManager.java
│ ├── command/
│ │ └─ NUnRealCommand.java
│ ├── menu/
│ │ ├─ AbilityMenu.java
│ │ └─ MenuListener.java
│ ├── listener/
│ │ ├─ BlockPlaceListener.java
│ │ ├─ BlockBreakListener.java
│ │ └─ ... (и другие)
│ └── task/
│ ├─ ChunkCheckTask.java
│ └─ MagnetTask.java
├── src/main/resources/
│ ├── plugin.yml
│ └── config.yml
├── pom.xml
└── target/
└── NUnReal-1.0.2.jarКак это работает
Логика активации способности:
Код:
1. Крафт → Игрок создаёт блок способностей по рецепту
↓
2. Установка → Игрок размещает блок в чанке (ПКМ)
↓
3. Взаимодействие → Игрок нажимает ПКМ по блоку
↓
4. Меню → Открывается GUI с выбором способностей
↓
5. Активация → Игрок выбирает способность
↓
6. Проверка → Система проверяет стоимость
↓
7. Применение → Если хватает ресурсов:
- Ресурсы удаляются из инвентаря
- Способность применяется ко ВСЕМ игрокам в чанке
- Данные сохраняютсяСистема сохранения данных:
- Загрузка: При старте плагина все данные блоков загружаются из памяти
- Хранение: Во время работы данные хранятся в памяти (быстро)
- Сохранение: При остановке плагина данные записываются на диск
- Восстановление: При следующем старте данные восстанавливаются
Асинхронные задачи:
Два фоновых процесса работают отдельно от основного потока:
ChunkCheckTask (каждые 20 тиков = 1 сек по умолчанию)
- Проверяет, в каком чанке находится игрок
- Если чанк изменился, переприменяет способности
- Предотвращает "застревание" способностей при движении
MagnetTask (каждые 5 тиков по умолчанию)
- Ищет выброшенные предметы в радиусе 8 блоков
- Притягивает их к игроку со скоростью 0.30
- Обрабатывает до 100 предметов за тик (для оптимизации)
Примеры использования
Пример 1: Создание "Зоны добычи"
Цель: Создать чанк, где добыча происходит в 2 раза быстрее.
Конфигурация:
YAML:
economy:
ability-costs:
MINING:
material: DIAMOND
amount: 10Действия:
Код:
1. /nunreal give
2. Поместить блок в чанк
3. ПКМ по блоку → выбрать MINING
4. Подтвердить (10 алмазов)
5. Готово! Добыча ускорена в чанкеПример 2: "Ферма с автоплавкой"
Цель: Руда переплавляется сразу в слитки.
Действия:
Код:
1. Активировать способность AUTO_SMELT в чанке (15 💎)
2. Копать руду в чанке
3. Вместо руды падают сразу слитки
4. Экономия времени на плавкуПример 3: "Зона безопасности"
Цель: Создать зону, где враги не спауняются и игрок не падает.
Действия:
Код:
1. Активировать HOLY_GROUND (20 💎)
2. Активировать FALL_RESIST (1 💎)
3. В чанке враги не спауняются
4. Можно безопасно падать с высотыПример 4: Кастомный спавнер
Логика:
Код:
Рецепт требует:
[BONE] [BONE] [BONE]
[BONE] [SPAWNER] [BONE]
[BONE] [BONE] [BONE]
Просто вкладываешь ингредиенты на верстак - получаешь спавнер скелета!Решение проблем
Плагин не загружается
Симптомы: В логе консоли ошибки при загрузке.
Решение:
Код:
1. Проверить версию Java: java -version
→ Должно быть Java 21 или выше
2. Проверить plugin.yml:
main: com.noloverme.nunreal.NUnReal
3. Посмотреть логи:
tail -f logs/latest.log
4. Пересоздать конфиг:
rm plugins/NUnReal/config.yml
/reloadБлок способностей не появляется в крафте
Симптомы: Даже с правильными ингредиентами блок не крафтится.
Решение:
YAML:
# Проверить в config.yml:
craft:
enabled: true # Должно быть true!
# Запустить команду:
/nunreal reload
# Проверить права:
# Игрок должен иметь nunreal.craftСпособность не активируется
Симптомы: Выбираю способность, но эффект не применяется.
Проверочный список:
Код:
□ Достаточно ресурсов в инвентаре?
□ Права nunreal.use установлены?
□ Блок находится в правильном чанке?
□ В чанке уже есть другой блок способностей?
(система ограничивает: один блок на чанк)
□ Способность включена в config.yml?Решение:
Bash:
/nunreal reload
/nunreal give
tail -f logs/latest.log | grep -i nunrealПолёт не работает
Симптомы: Активирована способность FLIGHT, но полёт не включается.
Решение:
YAML:
# В config.yml проверить:
abilities:
FLIGHT:
fly-speed: 0.1 # Не должна быть 0!
exit-protection: SLOW_FALLING
# Убедиться что:
□ Вы находитесь в чанке с активированной способностью
□ Нижняя часть вашего тела в этом чанке
□ Нет конфликтов с другими плагинами полёта
# Отладка:
1. Смена чанка: ПКМ ПКМ ПКМ (нажимайте края чанка)
2. Переход в спектром режим: /gamemode spectator
3. Возврат: /gamemode survival
4. Переподключение: /disconnect → повторное подключениеКастомный рецепт спавнера не работает
Симптомы: Вкладываю ингредиенты на верстак, но спавнер не создаётся.
Проверка:
YAML:
spawners:
enabled: true
recipes:
SKELETON:
enabled: true # true = включен!
shape:
- "G C G"
- "D B D"
- "A A A"
ingredients:
G: "BONE"
C: "BOW"
B: "NETHERITE_INGOT"
D: "ARROW"
A: "DIAMOND"Проверка ингредиентов:
Код:
1. Все ли ингредиенты существуют в Minecraft?
/give @s BONE 1
2. Все ли буквы используются в shape и определены в ingredients?
shape:
- "G C G" # Используется: G, C
- "D B D" # Используется: D, B
- "A A A" # Используется: A
Итого: G, C, D, B, A ✓
3. Все ли используемые буквы определены?
ingredients:
G: "BONE" ✓
C: "BOW" ✓
D: "ARROW" ✓
B: "NETHERITE_INGOT" ✓
A: "DIAMOND" ✓Решение:
Bash:
/nunreal reload
tail -f logs/latest.log | grep -i "recipe"
/nunreal givespawner SKELETONПроизводительность
Оптимизация для больших серверов
Уменьшить нагрузку ChunkCheckTask:
YAML:
task:
interval-ticks: 40 # Вместо 20 (проверка каждые 2 сек)Оптимизировать магнит:
YAML:
abilities:
MAGNET:
radius: 6.0
interval-ticks: 10
max-items-per-tick: 50Ускорить разрушение блока:
YAML:
blocks:
break-time-ticks: 10Мониторинг TPS в игре:
/tpsЕсли TPS падает при активации способностей:
1. Отключить асинхронные задачи (временно)
2. Уменьшить radius магнита
3. Увеличить interval-ticks
Сборка и разработка
Требования для разработки:
- Java 21 JDK
- Maven 3.6+
- Git
- IntelliJ IDEA или VS Code (рекомендуется)
Команды Maven:
Bash:
mvn clean package # Полная сборка с очисткой
mvn package -DskipTests # Быстрая сборка (без тестов)
mvn compile # Компиляция без упаковки
mvn clean # ОчисткаЗаметки
- Все сообщения в игре на русском языке - настраиваются через
config.yml - Плагин использует Bukkit Attribute System для применения модификаторов
- Обнаружение чанков автоматическое через Bukkit API
- Все стоимости настраиваются отдельно для каждой способности
- Рецепты спавнеров поддерживают 3×3 сетку (9 ингредиентов максимум)
- Данные сохраняются при выключении плагина и загружаются при включении
Спасибо за использование NUnReal!
Для вопросов и предложений обратитесь к разработчику или оставьте issue в репозитории.


