Fast Crafting
Обзор
Fast Crafting заменяет ванильный верстак меню, в котором перечислены рецепты, доступные игроку, и которое создаёт предметы одним кликом. Рецепты считываются из каталога рецептов сервера, а то, что игрок может создать, пересчитывается по его собственному инвентарю на сервере. Игроки выбирают количество или кликают с Shift, чтобы создать максимум, а ингредиенты берутся из их инвентаря.
Встроенное меню использует один инвентарь на 54 слота с двумя вкладками. На вкладке Crafting есть ряд быстрого крафта с доступными в данный момент рецептами и ручная сетка 3x3. Вкладка Recipes — это каталог, разбитый по профессиям RPG Core (бой, добыча, земледелие, ремесло и так далее), со счётчиками доступных и общего числа, фильтрами, сортировкой и диалогом поиска. Клик по рецепту в каталоге сразу создаёт предмет; рецепт никогда не раскладывается в сетку за вас.
Расширение работает на сборке BTC для TypeWriter (BTC Core, Paper/Folia) и описано здесь для ознакомления. Оно читает метаданные рецептов из RPG Core и применяет к рецептам его блокировку по уровню.
Возможности
- Крафт в один клик — кликните по рецепту, чтобы создать выбранное количество (по умолчанию 1, 4, 8, 16, 32, 64 или авто), кликните с Shift для максимума.
- Ряд быстрого крафта — показывает доступные рецепты, только для игроков с правом.
- Каталог по профессиям — девять категорий со счётчиками
available / total, по профессии RPG Core каждого рецепта. - Поиск, сортировка и фильтр — поиск через диалог Paper по названию, идентификатору и профессии, сортировка по алфавиту или доступности и фильтры «все», «доступные» или «недостающие».
- Ручная сетка 3x3 — необязательная сетка со слотом результата, куда игрок кладёт ингредиенты вручную; оставшиеся предметы возвращаются ему при закрытии меню.
- Замена верстака — правый клик по верстаку может вместо этого открывать данное меню.
- Источники рецептов — ванильные рецепты, одно пространство имён, например
custom, или рецепты станций MMOItems. - Блокировка по уровню — применяется ограничение рецептов по уровню из RPG Core, а другие плагины могут отклонить крафт через событие.
- Безопасные результаты — излишек выпадает у ног игрока или блокирует крафт, а необязательная перезарядка ограничивает спам.
Установка
- Установите RPG Core (расширение
RPGBundle), расширение TypeWriter Basic и расширение GUI (GuiAndDialogs). Без них Fast Crafting не загрузится. - По желанию: установите MMOItems, если хотите использовать рецепты его станций (
useMMOItemsRecipes). - Поместите JAR-файл Fast Crafting в
plugins/Typewriter/extensions/и перезапустите сервер. - Выдайте право
fastcrafting.quickcraftигрокам, которые могут видеть ряд быстрого крафта.
Начало работы
Откройте встроенное меню командой:
- В веб-панели TypeWriter откройте страницу manifest и добавьте действие Fast Crafting.
- Задайте
inventoryTitle, оставьтеinventoryRowsравным6и включитеintegratedMenu.enabled. - Оставьте в
categoryIdsдевять профессий RPG Core или оставьте только те, что используете. ВключитеclassicCrafting.enabled, если хотите ручную сетку 3x3. - Если вам нужны только ваши собственные рецепты, задайте
recipeNamespaceравным пространству имён ваших рецептов, напримерcustom. - Добавьте запись пользовательской команды (например,
fastcrafting) и поместите действие Fast Crafting в еёtriggers. NPC, предметы и диалоги тоже могут запускать это действие. - Чтобы заменить ванильный верстак, включите
replaceCraftingTableи при необходимости задайтеreplaceCraftingTablePermission. - Опубликуйте, выдайте себе немного ингредиентов и выполните команду.
При выключенном integratedMenu.enabled (по умолчанию) действие открывает более старую раскладку, построенную из layoutPool, recipeGrid и маркеров fastcraft_button:. Включите его для меню с одним инвентарём, описанного здесь. Встроенное меню игнорирует устаревшие кнопки открытия и закрытия, а также кнопку SELECTION_INFO.
В старой раскладке маркеры — OPEN_GRID, REFRESH, PAGE_PREV, PAGE_NEXT, CRAFT_AMOUNT, SELECTION_INFO и CLOSE. Левый клик по рецепту создаёт предмет, Shift + левый клик создаёт максимум, правый клик выбирает рецепт. SELECTION_INFO показывает рецепт, выбранный правым кликом (или созданный последним), с текстами из поля selectionInfo: название, количество результата, число возможных созданий и по строке на каждый ингредиент. Ключи см. в Fast Crafting.
Как это работает
Каталог строится один раз для каждой конфигурации записи из рецептов Bukkit: только рецепты крафта, отфильтрованные по recipeNamespace и disableVanillaRecipes. Профессия каждого рецепта берётся из RPG Core, а рецепты без неё попадают в crafting. Что можно создать, пересчитывается по инвентарю игрока, который обновляется, когда он перемещает, подбирает, выбрасывает или расходует предметы.
Результаты, являющиеся ванильными предметами, преобразуются в их эквиваленты BTC, когда у RPG Core есть замена. Без recipeNamespace рецепты, результатом которых является предмет CraftEngine или BTC, скрываются из каталога, поэтому задайте recipeNamespace (например, custom), чтобы перечислить ваши пользовательские рецепты.
Меню
Встроенное меню состоит из шести рядов:
| Ряд | Вкладка Crafting | Вкладка Recipes |
|---|---|---|
| 1 | Вкладки Crafting и Recipes. | Вкладки Crafting и Recipes. |
| 2 | Рецепты быстрого крафта (до quickRecipesPerPage, скрыты без права быстрого крафта), с переключением страниц. | Категории профессий со счётчиками available / total. |
| 3–5 | Ручная сетка 3x3, слот результата и кнопка количества. | Рецепты выбранной категории (recipesPerPage, по умолчанию 27). |
| 6 | Элементы управления меню. | Элементы поиска, сортировки, фильтра и страниц. |
Левый клик по рецепту создаёт выбранное количество. Клик с Shift создаёт максимум, когда включён allowShiftCraftAll. Кнопка количества переключает значения из craftAmountButton.values, с вариантом Auto, когда включён includeAuto. Диалог поиска ищет по названию рецепта, идентификатору и профессии. Сортировка по умолчанию — defaultSort (AVAILABLE_FIRST или ALPHABETICAL), а фильтр по умолчанию — defaultFilter (ALL, AVAILABLE или MISSING). Тексты меню на французском.
Ручная сетка размещается через classicCrafting. Игроки кладут в неё предметы вручную, а результат создаётся при клике по слоту результата, с кликом с Shift для максимума. Предметы, оставшиеся в сетке, возвращаются в инвентарь при закрытии меню.
Конфигурация
Всё задаётся в записи Fast Crafting. Основные параметры, не связанные с раскладкой:
| Параметр | Назначение |
|---|---|
fastCraftPermission | Право, необходимое для открытия меню и крафта (пусто — для всех). |
recipeNamespace | Перечислять только рецепты этого пространства имён. |
disableVanillaRecipes | Скрыть рецепты minecraft:. |
useMMOItemsRecipes | Добавить рецепты станций MMOItems, когда MMOItems включён, и скрыть ванильные рецепты. |
dropWhenInventoryFull | Выбросить результат у ног игрока, когда инвентарь полон. Если выключено, крафт отклоняется, когда результат не помещается. |
craftCooldownTicks | Перезарядка между созданиями в тиках (0 — без перезарядки). |
autoRefreshTicks | Обновлять открытое меню каждые N тиков (0 — без обновления). |
replaceCraftingTable | Открывать это меню вместо ванильного верстака. Игроки, которые приседают, сохраняют ванильный верстак. |
Права
| Право | Что даёт |
|---|---|
fastcrafting.quickcraft | Показывает ряд быстрого крафта встроенного меню. Название — это значение по умолчанию integratedMenu.quickCraftPermission; оставьте поле пустым, чтобы показывать ряд всем. |
Значение fastCraftPermission | Право на ваш выбор для открытия меню и крафта. |
Значение replaceCraftingTablePermission | Право на ваш выбор для получения меню при использовании верстака. |
У расширения нет собственных команд и плейсхолдеров. Клики в меню используют внутренний канал fastcraft:, привязанный к открытому меню игрока, который нельзя ввести вручную.
Записи
Записей: 1, сгенерированы из исходного кода расширения.
Действия1
- Fast CraftingFast Crafting
Устранение неполадок
Меню — старая раскладка. integratedMenu.enabled выключен, а это значение по умолчанию. Включите его, чтобы получить вкладки, каталог и ряд быстрого крафта.
Каталог пуст. Проверьте recipeNamespace: перечисляются только рецепты этого пространства имён. Без пространства имён рецепты, результатом которых является предмет CraftEngine или BTC, скрыты. При disableVanillaRecipes или useMMOItemsRecipes рецепты minecraft: убираются.
Нет ряда быстрого крафта. У игрока нет права быстрого крафта (по умолчанию fastcrafting.quickcraft). Очистите поле, чтобы показывать ряд всем.
Рецепт затенён или отказывается создаваться. Возможно, у игрока не хватает ингредиентов, его уровень в RPG Core ниже требуемого для рецепта (сообщение появляется в экшн-баре) либо другой плагин отменил крафт. Крафт также отклоняется, пока идёт перезарядка и когда результат не помещается, а dropWhenInventoryFull выключен.
Рецепт в неправильной категории. Категория берётся из профессии, зарегистрированной в RPG Core для ключа рецепта. Рецепты без неё попадают в crafting. Категория из categoryIds, которую RPG Core не определяет, всё равно показывается, с обобщённым названием и значком.
Ванильный верстак не заменяется. replaceCraftingTable должен быть включён, у игрока должно быть replaceCraftingTablePermission, если оно задано, а приседающие игроки сохраняют ванильный верстак. Используется первая запись с включённой опцией.
Кнопка поиска ничего не делает. integratedMenu.searchEnabled должен быть включён. Поиск открывает диалог Paper, поэтому нужен сервер, поддерживающий диалоги Paper.