CTKor NoPlace: контроль размещения блоков в измерениях Minecraft
Когда вы создаёте сервер или кастомную сборку с уникальной механикой, часто возникает необходимость запретить игрокам ставить определённые блоки в конкретных мирах. Например, портал в ад должен активироваться исключительно в Незере, а декоративные руды — только в Энде. Решить эту задачу элегантно и без громоздких плагинов помогает мод CTKor NoPlace. Он добавляет гибкую конфигурацию, позволяющую точечно управлять размещением блоков по измерениям.
Как работает мод
CTKor NoPlace использует простой JSON-конфиг, где прописываются идентификаторы блоков и списки разрешённых или запрещённых измерений. Когда игрок пытается установить блок, мод проверяет текущий dimension ID и сопоставляет его с правилами из файла. Если условие не выполнено, размещение отменяется, а в инвентарь возвращается заданный предмет. Никаких лишних вычислений — только прямая логика, которая не нагружает сервер.
В основе работы лежит библиотека CTKor Library. Без неё мод не запустится, поэтому перед установкой обязательно добавьте её в папку mods. Кстати, если вы пользуетесь лаунчером foxygame.net, то установка проходит в пару кликов — библиотека подтягивается автоматически вместе с основным модулем прямо из меню лаунчера, что особенно удобно для начинающих игроков и владельцев сборок, которые не хотят вручную отслеживать зависимости.
Конфигурация: whitelist, blacklist и их логика
Конфигурационный файл выглядит как набор объектов внутри секции "blocks". Каждый объект описывает конкретный блок и правила его размещения. Рассмотрим базовый пример:
minecraft:stone:0 — это камень с метаданными 0. Для него заданы два ключевых поля: dimensionIdWhiteList и dimensionIdBlackList. Если whitelist не пуст, блок можно поставить только в перечисленных измерениях. Если же используется blacklist, блок разрешён везде, кроме указанных dimension ID. Важный нюанс: когда заполнены оба списка для одного и того же измерения, приоритет остаётся за whitelist — блок всё равно разместится.
Такая двойная система даёт свободу в настройке. Можно, например, разрешить обсидиан только в Незере (dimension -1) через whitelist, а все остальные миры закрыть. Или наоборот — запретить размещение кроватей в Энде через blacklist, оставив их доступными в обычном мире и аду.
Параметр returnedItem: возврат предметов без потерь
Обычно при отмене размещения мод возвращает предмет, который выпадает при разрушении блока. Но для некоторых блоков это поведение некорректно. Например, камень при добыче превращается в булыжник. Если оставить returnedItem пустым, игрок получит булыжник вместо камня, что ломает игровую экономику. Параметр returnedItem позволяет явно указать, какой предмет вернуть в инвентарь. В примере выше задано значение "minecraft:stone:0", поэтому игрок получит обратно именно камень, а не булыжник.
Эта механика критически важна для блоков с особыми таблицами добычи: руды, стекло, книги и многие другие. Вы всегда можете переопределить возвращаемый предмет, сохраняя баланс и логику сборки.
Сообщения для игроков: прозрачность вместо багов
Поле message в конфиге отвечает за уведомление. Когда игрок пытается разместить запрещённый блок, он видит заданную строку в чате. Это не просто косметика — без сообщения пользователь может решить, что сервер лагает или мод сломался. Понятный текст вроде "Камень нельзя ставить в обычном мире, попробуйте Незер" снимает вопросы и направляет действия.
Если оставить message пустым, уведомление не появится. Рекомендуется всегда заполнять это поле, особенно на публичных серверах, где играют новички. Хорошая практика — добавлять подсказки, куда именно нужно переместиться для размещения блока.
Практическое применение на серверах и в модпаках
CTKor NoPlace незаменим в сборках с кастомной прогрессией. Представьте себе модпак, где игроки должны пройти через врата в разные измерения, но каждые врата строятся из уникальных материалов, доступных только в определённом мире. Вы настраиваете конфиг так, что рамка портала в ад собирается только в Незере, а портал в Энд — только в крепости. Игроки физически не смогут сжульничать и построить всё в одной локации.
Другой сценарий — защита серверных спавнов. Запретите размещение любых блоков в радиусе спавна через blacklist для измерения 0, и новички не застроят важные зоны. Или ограничьте установку взрывоопасных механизмов в общественных мирах, чтобы избежать гриферства.
Совместимость и лицензия
Мод работает на Forge и требует CTKor Library. Он лёгкий, не конфликтует с популярными модами вроде JEI, JourneyMap или оптимизаторами типа OptiFine. Разработчик разрешает свободное использование в любых модпаках при условии, что файлы мода не распространяются отдельно — игроки должны скачивать его с официальных площадок. Это стандартная практика для защиты авторских прав и поддержки актуальных версий.
Итоги
CTKor NoPlace решает узкую, но важную задачу: контроль размещения блоков по измерениям. Гибкий JSON-конфиг, понятная логика whitelist и blacklist, настраиваемый возврат предметов и информативные сообщения делают его удобным инструментом для владельцев серверов и авторов модпаков. Мод не перегружает игру, легко настраивается и не требует глубоких технических знаний. Если вы строите сборку с уникальной механикой миров или просто хотите навести порядок на сервере, добавьте CTKor NoPlace в свой список — он закроет пробел, который часто остаётся без внимания.