Co-authored-by: Mykhailo Balaker <83900885+Angry3vilbot@users.noreply.github.com>
9.3 KiB
NotEnoughItems Unofficial — від команди GTNH
🌐 Мови: English | Українська
Продовження модифікації NotEnoughItems для 1.7.10 від розробників збірки GregTech: New Horizons із функціями, натхненними та/або бекпортованими з JustEnoughItems.
Ми протестували цю версію з усіма модами, що входять до GTNH, а також із обмеженим набором інших модів (як-от моди від Reika). Було докладено всіх зусиль для збереження зворотної сумісності, однак основну увагу приділено модам зі збірки GTNH.
Якщо у вас виникли проблеми з NEI за межами збірки GTNH, ви можете повідомити про них у GitHub-репозиторії GTNH NEI.
Нові можливості:
- Швидкодія
- Використовує паралельний потік для пошуку у списку предметів на кількох ядрах процесора, що в середньому пришвидшує пошук у 2–6 разів.
- Завантажує обробники рецептів паралельно.
- Текстове поле пошуку з більшістю очікуваних функцій — переміщення курсора вперед/назад, виділення тексту тощо.
- Закладки! Перебуваєте у процесі крафту? Додайте потрібний рецепт до закладок за допомогою клавіші «A» або налаштуйте власну клавішу.
- Перемикання видимості панелі закладок. Гаряча клавіша за замовчуванням —
B. Меню «Підгрупи предметів» доступне лише тоді, коли панель закладок прихована. - Кнопки утиліт та читів вирівнюються в ряд та переносяться на новий рядок залежно від розміру графічного інтерфейсу.
- Список предметів (
ItemList) більше не генерується повторно зItemRegistryпід час кожного відкриття інвентарю. - Вкладки у стилі JEI (або творчого режиму) [За бажанням]. Примітка: вимагає явної підтримки для рендерингу
ItemStack, інакше використовуються перші дві літери назви обробника. - Вкладки/обробники завантажуються з конфігураційного CSV-файлу в JAR-архіві (або за бажанням з папки
config). Для авторів модів доступні IMC-повідомлення з NBT-данимиregisterHandlerInfoтаremoveHandlerInfoдля додавання інформації про обробники з використанням тих самих полів, що й у CSV-файлі. - Пошук за допомогою синтаксису
@[Мод]->[предмет]. Наприклад:@Mod.gregtech->iron ingot. - Перемикання між режимами рецептів, утиліт та читів за допомогою CTRL + ЛКМ по іконці гайкового ключа.
- Інструменти/предмети з GT5u та інструменти з GT6 тепер мають коректно працювати з функцією накладення та перенесення рецепта.
Обробник інформаційних сторінок
Хочете додати інформацію про блок чи предмет, не створюючи для нього величезну підказку? Ви можете додати інформацію про будь-який блок чи предмет, зареєструвавши його в обробнику інформації.
Інформаційні сторінки відображаються під час пошуку рецептів або способів використання відповідного предмета. Усі відповідні предмети будуть циклічно змінюватися у верхній частині інформаційної сторінки.
Ваш мод може викликати:
FMLInterModComms.sendMessage("NotEnoughItems", "addItemInfo", nbt);
Де nbt — це NBTTagCompound, відформатований, як описано нижче.
| Тег | Тип | Опис |
|---|---|---|
filter |
String |
Текстовий фільтр для визначення предметів, для яких має відображатися ця інформаційна сторінка. Можна використовувати modname:itemname, метадані, теги OreDictionary та регулярні вирази. Повний формат можна переглянути у config/NEI/collapsibleitems.cfg. |
page / pages |
String / String NBTTagList |
Безпосередньо текст для відображення. Різницю між одно- та багатосторінковими повідомленнями див. нижче. Обидва формати підтримують автоматичний переклад наданих рядків. |
Односторінковий формат
Використовуйте текстовий тег "page", якщо хочете додати лише одну сторінку інформації:
NBTTagCompound tag = new NBTTagCompound();
tag.setString("filter", "minecraft:log 3");
tag.setString("page", "Exotic wood found in tropical climates.");
FMLInterModComms.sendMessage("NotEnoughItems", "addItemInfo", tag);
Багатосторінковий формат
Використовуйте тег "pages" як NBTTagList із рядків, якщо потрібно додати понад одну сторінку:
NBTTagCompound tag = new NBTTagCompound();
tag.setString("filter", "minecraft:diamond_sword");
NBTTagList pages = new NBTTagList();
pages.appendTag(new NBTTagString("A powerful melee weapon."));
pages.appendTag(new NBTTagString("Can be enchanted for extra effects."));
tag.setTag("pages", pages);
FMLInterModComms.sendMessage("NotEnoughItems", "addItemInfo", tag);
- Кожен елемент списку — це одна сторінка.
- Сторінки з’являтимуться в NEI з кнопками для їх гортання.
Відповідність предметів
Усі предмети, що відповідають фільтру filter, відображатимуть вашу інформаційну сторінку. Повний формат фільтра див. у config/NEI/collapsibleitems.cfg.
Файл конфігурації інформації про предмети
Якщо ви творець збірки модів і хочете створити власні інформаційні сторінки для предметів, їх можна легко додати у файлі config/NEI/informationpages.cfg, де також наведено ще кілька прикладів.
Інші примітки:
- Вилучено стиль TMI
- Вилучено збереження/завантаження стану інвентарю
Ліцензія
Авторські права на модифікації від команди GTNH (c) 2019-2024 належать mitchej123 та команді GTNH.
Поширюється за ліцензією LGPL-3.0 або новішої версії — використовуйте цей код на власний розсуд, але, будь ласка, діліться з розробниками будь-якими внесеними вами змінами.
Окремі частини коду натхненні, запозичені або бекпортовані з JEI за ліцензією MIT.
Авторські права на оригінальний код (c) 2014-2015 належать mezz; код поширювався за ліцензією MIT.