Налаштування ваги предметів
Клас ItemWeightConfigItems
призначений для управління та зберігання конфігурацій ваги предметів для моду MT Inventory Weight. Він працює шляхом читання та запису в файл inventory_weights_items.json
, який містить дані про вагу конкретних предметів.
Параметри конфігурації
Файл inventory_weights_items.json
зберігає власну вагу предметів, зазначені гравцями або авторами модів, серверів. Це дозволяє точно контролювати вагу, призначену конкретним предметам, забезпечуючи гнучкість у тому, як система ваги впливає на ігровий процес.
Основні методи
loadConfig()
:- Цей метод перевіряє наявність файлу
inventory_weights_items.json
. - Якщо файл існує, він читає файл і завантажує власні ваги предметів за допомогою
ItemWeights.loadCustomWeightsFromConfig()
. - Якщо файл не існує, він створює конфігурацію за замовчуванням і зберігає її, а потім завантажує значення за замовчуванням у мод.
- Цей метод перевіряє наявність файлу
saveConfig()
:- Цей метод записує власні ваги предметів у файл
inventory_weights_items.json
. - Він фільтрує статичні або стандартні ваги предметів, зберігаючи лише динамічно налаштовані ваги з модифікацій гравця.
- Метод
ItemWeights.getCustomItemWeights()
використовується для отримання власних ваг перед збереженням.
- Цей метод записує власні ваги предметів у файл
Структура файлу
Файл inventory_weights_items.json
містить власні ваги в наступному форматі:
{
"minecraft:stone": 810.0
}
У прикладі, minecraft:stone
має вагу 810.0f
. Ви можете додавати або змінювати предмети та їх відповідні ваги в цьому файлі.
Управління власною вагою
createDefaultConfig()
:- Цей метод створює конфігурацію за замовчуванням з попередньо заданими вагами для відомих предметів. Наразі він призначає вагу
810.0f
дляminecraft:stone
. - Ви можете змінювати або розширювати цей список за замовчуванням, щоб включити більше предметів за потреби.
- Цей метод створює конфігурацію за замовчуванням з попередньо заданими вагами для відомих предметів. Наразі він призначає вагу
isDynamicItem(String itemName)
:- Цей метод перевіряє, чи є даний предмет динамічним (тобто, чи можна його налаштувати гравцем) і повертає
true
, якщо його можна змінювати. - Статичні предмети, що мають попередньо визначені ваги, не можуть бути змінені і фільтруються під час збереження конфігурації.
- Цей метод перевіряє, чи є даний предмет динамічним (тобто, чи можна його налаштувати гравцем) і повертає
Обробка помилок
У випадку помилки під час читання або запису у файл inventory_weights_items.json
, виключення перехоплюються і виводяться на консоль для відлагодження. Це забезпечує, що мод не зламається, якщо щось піде не так під час обробки файлів.
Приклад використання
Щоб додати власну вагу для предмета, просто відкрийте файл inventory_weights_items.json
у директорії config/inventoryweight
і додайте ID предмета разом з його бажаною вагою. Наприклад:
{
"minecraft:iron_ingot": 100.0,
"minecraft:diamond": 200.0
}
Після збереження файлу мод завантажить ці ваги наступного разу, коли він запуститься.
Вага предметів за замовчуванням
Метод createDefaultConfig()
можна модифікувати, щоб включити вагу за замовчуванням для додаткових предметів. За замовчуванням лише minecraft:stone
має призначену вагу, але ви можете розширити цей список в залежності від предметів у вашій модифікації або світі.
Розширення конфігурації
Система конфігурації є гнучкою і може бути легко розширена, додаючи більше предметів та їх відповідні ваги до файлу inventory_weights_items.json
. Власні ваги дозволяють гравцям налаштувати систему ваги в грі відповідно до їхніх уподобань, надаючи їм контроль над тим, як певні предмети впливають на рух і ігровий процес.