Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Что сразу вы? Автор писал, что обновит до 1.14.4 и сказал, что оповестит, когда это случится. Вот я и жду.
На данный момент плагин поддерживает только 1.13.2. Я уже всё давно проверил.
Не разводите ненужные споры, сидим ждём.
смотрите о чём я говорю, например ядро 1.13.2, я поставил плагин, но он будет так же работать по viabackwards для 1.12-1.13.1, например как обновление WorldEdit для ядра 1.12.2, будет предоставлять возможности так же для 1.8
 
Там не было больших изменений. Поменяете импорты и станет под 1.14. Хотя такой код надо переписывать на нормальный.
 
Автор, что-то тебя всё нет и нет)
А мы ведь ждём)
 
Автор, что-то тебя всё нет и нет)
А мы ведь ждём)
Время нашёл. Сейчас полностью переписываю код. Будет поддержка разных версий, постараюсь оптимизировать обработчик крафтов, особенно печек и добавлю интерфейс просмотра и редактирования созданных рецептов.
 
Отлично! Спасибо тебе большое за твою работу!
На данный момент она уникальна и аналогов ей я не находил.
 
Новая версия. По функционалу аналогично версии 1.1.0, но код был полностью переписан, вроде так оно выглядит и работает лучше.

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

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

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

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

Понимаю, что задача нестандартная, поэтому не прошу о скорой реализации. Лишь интересуюсь, стоит ли подобное ждать в перспективе?
 
На самом деле, я перечитал два раза и тоже не понял, зачем это)
Точнее, для чего такое может пригодиться?
 
Тут же и так nbt, зачем тут какие то костыли с твоими сверялками?
В первую очередь хочу сравнивать по отдельному тегу, а не всему нбт. И потом свои критерии докручивать по мере необходимости.
На самом деле, я перечитал два раза и тоже не понял, зачем это)
Точнее, для чего такое может пригодиться?
Походу придётся форкать и как-то самостоятельно прикручивать :(
 
Привет!
Оценил удобный интерфейс в плагине.

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

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

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

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

Вообще я тут так прикинул. В этом что-то есть. Ведь действительно, кто-нибудь может изменить название у предмета, которое используется в крафте и уже не сможет им пользоваться. Или же можно будет создавать рецепты, где будет требоваться наличие определенного чарования, а остальными характеристиками пренебречь. Вполне себе интересная идея. Можно прикрутить проверку отдельных тегов, вот только какие ещё критерии, кроме nbt ты можешь предложить? Время суток? Погода? Уровень игрока? Мне просто интересно, что бы ты ещё прикрутил? Ну и если добавлять, то это будет скорее для тех, кто использует плагин в качестве библиотеки, ибо настройка рецепта в интерфейсе будет сложная и грамоздкая.
 
В первую очередь хочу сравнивать по отдельному тегу, а не всему нбт. И потом свои критерии докручивать по мере необходимости.
Я на такое юзаю свой интерфейс под именем Similar
Similar.has(stack1, stack2, Similar.критерия1, Similar.критерия2, etc...);
 
В игре меняется только имя и чарки. Остальное прибито гвоздями.
Про название я как плохой пример привел. А вообще я виду немного другой смысл в этой идее. Допустим мы держим большой RPG сервер. Куча всяких предметов кастомных. Есть, к примеру камень душ. Их с десяток разных видов и каждый используется где-то в крафтах, но у нас так же есть рецепт, где нам не важно какой использовать камень, главное чтобы количество душ было больше или равно определенному значению.
 
Я на такое юзаю свой интерфейс под именем Similar
Similar.has(stack1, stack2, Similar.критерия1, Similar.критерия2, etc...);
Ты в каждой теме свой код вбрасываешь? Хоть бы ссылками на сорцы кидал. Спасибо, учту, если посчитаю нужным.
 
Ты в каждой теме свой код вбрасываешь? Хоть бы ссылками на сорцы кидал. Спасибо, учту, если посчитаю нужным.
Он не на нбт и тут нужен другой подход. Некий NBTCopierFactory, который срежет лишние данные для матрицы.
 

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

Назад
Верх