1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Плагин [ADMIN/DEV/MECH] CraftingAPI 3.0.0 - Кастомные крафты с поддержкой NBT тэгов [1.14 - 1.15]

Тема в разделе "Неподтвержденные плагины", создана пользователем _TheZit445_, 6 мар 2019.

  1. Lepa3axapoBa

    Lepa3axapoBa Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Lionic
    смотрите о чём я говорю, например ядро 1.13.2, я поставил плагин, но он будет так же работать по viabackwards для 1.12-1.13.1, например как обновление WorldEdit для ядра 1.12.2, будет предоставлять возможности так же для 1.8
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Там не было больших изменений. Поменяете импорты и станет под 1.14. Хотя такой код надо переписывать на нормальный.
     
  3. Amanako

    Amanako Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Amanako
    Автор, что-то тебя всё нет и нет)
    А мы ведь ждём)
     
  4. Автор темы
    _TheZit445_

    _TheZit445_ Активный участник Пользователь

    Баллы:
    76
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Время нашёл. Сейчас полностью переписываю код. Будет поддержка разных версий, постараюсь оптимизировать обработчик крафтов, особенно печек и добавлю интерфейс просмотра и редактирования созданных рецептов.
     
  5. Amanako

    Amanako Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Amanako
    Отлично! Спасибо тебе большое за твою работу!
    На данный момент она уникальна и аналогов ей я не находил.
     
  6. Автор темы
    _TheZit445_

    _TheZit445_ Активный участник Пользователь

    Баллы:
    76
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Новая версия. По функционалу аналогично версии 1.1.0, но код был полностью переписан, вроде так оно выглядит и работает лучше.

    version pre-2.0.0
    1. Полностью переписан код.
    2. Плагин поддерживается ядром 1.13 и 1.14.
    3. Добавлена возможность просмотра и редактирования рецепта.
    4. Добавлена возможность удаления рецепта.
    5. Добавлена возможность включить рецепту разрешение на использование.
    6. Убраны некоторые функции.
      • В консоль не выводится количество загруженных рецептов (временно).
      • В консоль не выводится количество ошибок при загрузке (временно).
      • Теперь рецептам нельзя установить группу, так как это бесполезная фича.
    Старые крафты не поддерживаются!
    Версия всё равно сыровата, проверьте на наличие багов и доложите.
    Писал долго, ибо есть проблемы. Если кто может, киньте немного на жизнь. Спасибо.
    Яндекс.Деньги | Сбербанк - 5469380077044815
     
  7. Amanako

    Amanako Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Amanako
    Спасибо тебе, друг! Я в долгу не останусь, причтётся, только я сам перебиваюсь всем подручным, поэтому чем смогу.
    Ты только ссылку на скачивание приделай :lol:
     
  8. Автор темы
    _TheZit445_

    _TheZit445_ Активный участник Пользователь

    Баллы:
    76
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Ссылка осталась на том же месте, в первом сообщении.
     
  9. Автор темы
    _TheZit445_

    _TheZit445_ Активный участник Пользователь

    Баллы:
    76
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    version 2.0.0
    1. Добавлен браузер рецептов.
    2. Исправлен баг с сохранением и загрузкой рецептов для печки.
    3. Исправлен баг с загрузкой прав для созданных крафтов в других плагинах при помощи API.
    4. Исправлен графический интерфейс редактора рецептов для печи.
    5. Мелкие исправления
     
  10. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Привет!
    Оценил удобный интерфейс в плагине.

    Возник у меня один интересный вопросец.
    Есть ли возможность переопределить критерии, по которым определяется, подходит ли предмет к крафту?
    Мне же нужно, чтобы сравнение происходило по моему кастомному nbt-тегу, в котором лежат кастомные айдишники предметов.

    В теории, конечно, можно попробовать закостылить это всё на PrepareCustomCraftEvent, но работать будет хрен пойми как. Да и непонятно, что делать, если у одного предмета внезапно поменяется майкнрафтовский материал-иконка (выход новой версии игры или просто чья-то хотелка).

    Вообще, если реализация интересна - то я вижу два варианта:
    1) Для каждого рецепта настройка в конфиге, которая будет указывать на конкретный ключ/ветвь в NBT, которые нужно сравнивать. В целом сойдёт, хотя и будет работать не особо гибко и удобно
    2) Использовать объекты функционального апи, передаваемые зависимыми плагинами. Алгоритм примерно такой:
    - Загружается CraftingAPI
    - Загружается зависимый плагин
    - Зависимый плагин передает в CraftingAPI какой-нибудь BiPredicate<ItemStack, ItemStack> и список рецептов (объектов/названий/айди), для которых применить данный критерий сравнения
    - CraftingAPI запоминает данный критерий для указанных рецептов
    - При попытке использовать тот или иной рецепт применяет к ингредиентам их критерий сравнения

    Понимаю, что задача нестандартная, поэтому не прошу о скорой реализации. Лишь интересуюсь, стоит ли подобное ждать в перспективе?
     
  11. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Тут же и так nbt, зачем тут какие то костыли с твоими сверялками?
     
  12. Amanako

    Amanako Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Amanako
    На самом деле, я перечитал два раза и тоже не понял, зачем это)
    Точнее, для чего такое может пригодиться?
     
  13. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    В первую очередь хочу сравнивать по отдельному тегу, а не всему нбт. И потом свои критерии докручивать по мере необходимости.
    Походу придётся форкать и как-то самостоятельно прикручивать :(
     
  14. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Да не для чего.
     
  15. Автор темы
    _TheZit445_

    _TheZit445_ Активный участник Пользователь

    Баллы:
    76
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Вообще я тут так прикинул. В этом что-то есть. Ведь действительно, кто-нибудь может изменить название у предмета, которое используется в крафте и уже не сможет им пользоваться. Или же можно будет создавать рецепты, где будет требоваться наличие определенного чарования, а остальными характеристиками пренебречь. Вполне себе интересная идея. Можно прикрутить проверку отдельных тегов, вот только какие ещё критерии, кроме nbt ты можешь предложить? Время суток? Погода? Уровень игрока? Мне просто интересно, что бы ты ещё прикрутил? Ну и если добавлять, то это будет скорее для тех, кто использует плагин в качестве библиотеки, ибо настройка рецепта в интерфейсе будет сложная и грамоздкая.
     
  16. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    В игре меняется только имя и чарки. Остальное прибито гвоздями.
     
  17. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Я на такое юзаю свой интерфейс под именем Similar
    Similar.has(stack1, stack2, Similar.критерия1, Similar.критерия2, etc...);
     
  18. Автор темы
    _TheZit445_

    _TheZit445_ Активный участник Пользователь

    Баллы:
    76
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Про название я как плохой пример привел. А вообще я виду немного другой смысл в этой идее. Допустим мы держим большой RPG сервер. Куча всяких предметов кастомных. Есть, к примеру камень душ. Их с десяток разных видов и каждый используется где-то в крафтах, но у нас так же есть рецепт, где нам не важно какой использовать камень, главное чтобы количество душ было больше или равно определенному значению.
     
  19. Автор темы
    _TheZit445_

    _TheZit445_ Активный участник Пользователь

    Баллы:
    76
    Skype:
    kirik2425
    Имя в Minecraft:
    _TheZit445_
    Ты в каждой теме свой код вбрасываешь? Хоть бы ссылками на сорцы кидал. Спасибо, учту, если посчитаю нужным.
     
  20. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Он не на нбт и тут нужен другой подход. Некий NBTCopierFactory, который срежет лишние данные для матрицы.
     

Поделиться этой страницей