NimBlock Войти

Все статьи

Как выдать стартовый набор Minecraft новым игрокам на сервере Paper

Чтобы выдавать стартовый набор только новым игрокам, добавь к триггеру входа игрока условие «первый визит», а затем по одному действию «выдать предмет» на каждый предмет из набора. Такое правило можно собрать в студии NimBlock и запустить на уже работающем сервере Paper, не написав ни строчки на Java. Игроки, которые уже играли на твоём сервере, набор не получат, а новичок получит его один раз, при первом входе.

Что делает стартовый набор Minecraft при первом входе

Набор из этого гайда: каменный меч, каменная кирка и 16 хлеба, а после них личное сообщение в чате, которое говорит новичку, что он только что получил. Набор выдаётся автоматически, когда игрок впервые заходит на твой сервер. Не нужно вводить команду и настраивать права.

«Впервые» здесь значит то, что Paper и так знает: это игрок, которого сервер ни разу не сохранял до его входа. Сам runtime не ведёт ни своего списка, ни счётчика. Поэтому набор работает на сервере, который у тебя уже есть, и поэтому же он не умеет кое-что, о чём написано ниже.

Этот рецепт использует блочный редактор NimBlock и его отдельный бесплатный runtime. Аккаунт NimBlock нужен, чтобы сохранить правило. Чтобы запустить его, нужен уже существующий сервер Minecraft Java, хостинг которого разрешает загружать плагины. Шаги ниже рассчитаны на Paper 1.21.11 с Java 21. Сервер на хостинге NimBlock не нужен.

Собери правило набора в студии

  1. Открой свои плагины в NimBlock и создай новый плагин. Редактор открывается с правилом приветствия; его можно оставить или удалить.
  2. Из раздела Правила перетащи в плагин новое правило и назови его Стартовый набор.
  3. Из раздела Триггеры поставь Игрок подключается в его слот когда.
  4. Из раздела Условия поставь Игрок заходит впервые в его слот если.
  5. Из раздела Действия добавь Дать предмет игроку три раза: STONE_SWORD в количестве 1, STONE_PICKAXE в количестве 1, BREAD в количестве 16.
  6. Последним добавь Отправить сообщение игроку, например Добро пожаловать, {player}! Вот стартовый набор, чтобы было с чего начать. Оставь {player} ровно так, как написано: runtime заменит это на ник игрока.
  7. Сохрани плагин. На его странице скопируй весь показанный JSON в обычный текстовый файл с именем starter-kit.json и сохрани его в кодировке UTF-8.

Предметы пишутся своим названием в Minecraft, например IRON_AXE или COOKED_BEEF. Замени три предмета на свой набор: одно действие на предмет, у каждого своё количество. В публичной грамматике перечислены все доступные триггеры, условия и действия.

Установи его на свой сервер Paper

  1. Скачай runtime NimBlock. Останови сервер, положи .jar runtime прямо в plugins/, затем запусти сервер.
  2. Проверь командой /plugins, что NimBlock включён. В гайде Paper по установке плагинов объясняется, как разобраться, если плагин не загрузился.
  3. Загрузи starter-kit.json в plugins/NimBlock/specs/. Сохрани заглавные буквы в названии папки. Если нужно, сначала создай эту папку.
  4. Будучи оператором сервера, выполни /nimblock reload, затем /nimblock list. Должно появиться название твоего сохранённого плагина. В консоли сервера пиши команды без косой черты в начале.

Исправь все ошибки, которые появились при перезагрузке, прежде чем тестировать. Неизвестное название предмета обнаруживается только когда правило срабатывает, поэтому проверь написание каждого предмета до первого теста.

Проверь на аккаунте, который ещё ни разу не заходил

Твой собственный аккаунт уже играл на твоём сервере, поэтому набор он не получит, и это значит, что правило работает. Проверяй на аккаунте Minecraft Java, который ни разу не заходил на этот сервер, например на аккаунте друга, или на копии своего сервера с новым миром. При этом первом входе аккаунт должен получить меч, кирку, хлеб и сообщение. Выйди, подожди немного и зайди снова: больше ничего выдаваться не должно.

Игроки, которые заходили до того, как ты установил правило, не новички и набор не получат. Загрузка правила не повторяет прошлые входы.

Ограничения набора при первом входе

  • Один раз на игрока, пока сервер его помнит: условие читает собственные данные игроков Paper. Если начать новый мир, все снова станут новичками и снова получат набор. Если удалить данные игрока, новичком снова станет только этот игрок, и он снова получит набор.
  • Выполняется всю первую сессию: условие выполняется не только в момент входа новичка, но и до тех пор, пока он не выйдет с сервера, даже если сервер за это время его сохранит. Держи его под Игрок подключается; под другим триггером, например при возрождении, новичок может получить набор второй раз за эту первую сессию.
  • Ни ежедневного набора, ни перезарядки, ни счётчика: runtime реагирует на события и ничего не запоминает, поэтому не может выдавать набор «раз в день» или «три раза на игрока».
  • Обычные предметы: действие выдаёт тип предмета и количество. Зачарования и свои названия в него не входят.
  • Полный инвентарь: всё, что не влезло, падает на землю под ноги игроку. Инвентарь новичка обычно пустой, так что это редко имеет значение.

Как изменить набор без переустановки runtime

Измени правило в студии и сохрани новую версию. Замени содержимое того же файла starter-kit.json новым сохранённым JSON, затем выполни /nimblock reload. Следующий новичок получит новый набор; игрокам, которые уже получили старый, больше ничего не выдаётся. Если оставить и старый, и новый файл, загрузятся оба правила и будут выдаваться два набора.

Runtime можно использовать на своём совместимом сервере Paper, не покупая хостинг NimBlock. Твоё правило остаётся читаемым файлом JSON, который можно посмотреть и хранить вместе с бэкапом сервера.

Собери правило стартового набора в студии, а потом используй его на своём сервере Paper.

Во время бета-тестирования хостинг бесплатный. Сервер останавливается, если в течение 15 минут нет подключённых игроков. При остановке твой мир не удаляется. Ты можешь снова запустить сервер из панели, когда появятся свободные ресурсы. Один сервер с 1 ГБ памяти на аккаунт.