Skip to content

Налаштування серверу

Клас ItemWeightsConfigServer управляє конфігурацією на стороні сервера для мода MT Inventory Weight. Він обробляє кастомні ваги предметів, максимальну вагу, яку можна нести, та налаштування ваги кишень, які впливають на рух і взаємодію гравця на основі ваги предметів у їхньому інвентарі.

Огляд конфігурації

Конфігурація сервера зберігається у файлі inventory_weights_server.json у каталозі config/inventoryweight. Цей файл дозволяє адміністраторам серверів визначати глобальні ваги для різних категорій предметів і налаштовувати максимальну вагу, яку гравці можуть нести, перш ніж відчути негативні ефекти, такі як зменшена швидкість руху.

Основні змінні конфігурації

  • maxWeight: Максимальна вага, яку гравець може нести, перш ніж йому будуть накладені штрафи у вигляді обмеження руху.
  • pocketWeight: Вага, що асоціюється з предметами, які зберігаються в кишенях броні гравця.

Основні методи

  • loadConfig():

    • Зчитує конфігурацію з inventory_weights_server.json.
    • Завантажує ваги предметів і ключові змінні, такі як maxWeight і pocketWeight, з конфігурації.
    • Якщо конфігураційний файл не існує, створюється стандартний файл з попередньо визначеними значеннями для категорій предметів (відра, пляшки, блоки тощо).
    • Оновлює клас InventoryWeightUtil завантаженою вагою кишень для забезпечення узгодженості в ігрових механіках.
  • saveConfig():

    • Записує поточні ваги предметів і налаштування сервера (такі як maxWeight і pocketWeight) назад у файл inventory_weights_server.json.
    • Забезпечує збереження кастомних значень, які можна буде повторно використовувати після перезапуску сервера.
  • getMaxWeightFromConfig():

    • Отримує максимальну вагу для носіння з конфігураційного файлу.
  • setMaxWeight(float value):

    • Оновлює максимальну вагу для носіння в пам’яті та зберігає її в конфігураційному файлі.

Структура файлу

Файл inventory_weights_server.json має таку структуру:

json
{
    "buckets": 3.5,
    "bottles": 0.5,
    "blocks": 10.0,
    "ingots": 2.5,
    "nuggets": 0.1,
    "items": 1.0,
    "creative": 0.0,
    "maxWeight": 50.0,
    "pocketWeight": 5.0
}
  • buckets, bottles, blocks, ingots, nuggets, items, and creative: Ці поля визначають ваги для різних категорій предметів.
  • maxWeight: Визначає максимальну вагу, яку гравець може нести, перш ніж отримати штраф.
  • pocketWeight: Встановлює вагу предметів, що зберігаються в кишенях броні гравця.

Стандартні значення

Якщо конфігураційний файл відсутній, система створює стандартний файл конфігурації з попередньо визначеними значеннями для кожної категорії предметів:

json
*   **Buckets**: `810.0`
*   **Bottles**: `270.0`
*   **Blocks**: `810.0`
*   **Ingots**: `90.0`
*   **Nuggets**: `10.0`
*   **Items**: `50.0`
*   **Creative mode**: `30000` (Значення для деяких предметів, що асоціюються з творчим режимом)
*   **Max Weight**: `80000`
*   **Pocket Weight**: `10000`

Ці значення можна налаштувати, редагуючи JSON файл безпосередньо або за допомогою інструментів конфігурації, специфічних для мода.

Налаштування ваги

Щоб налаштувати вагу конкретних категорій предметів, просто змініть значення у файлі inventory_weights_server.json. Наприклад:

json
{
    "blocks": 12.0,
    "ingots": 3.0
}

Ця зміна встановить вагу блоків до 12.0 і злитків до 3.0, що вплине на те, скільки таких предметів гравець може нести, перш ніж він буде уповільнений або отримає штраф.

Обробка помилок

Якщо виникає помилка під час завантаження або збереження конфігурації, вона буде перехоплена і надрукована в консолі сервера. Це забезпечує, що сервер залишається працездатним, навіть якщо з конфігураційним файлом виникли проблеми.

Як конфігурація впливає на ігровий процес

  • Максимальна вага: Значення maxWeight безпосередньо впливає на те, скільки гравець може нести, перш ніж застосуються штрафи (наприклад, зменшена швидкість руху).
  • Вага кишень: Значення pocketWeight дозволяє мати спеціальну систему інвентарю, де предмети, що зберігаються в кишенях (наприклад, всередині броні), мають свою вагову категорію, що впливає на загальну вагу по-іншому.

Ці налаштування на стороні сервера дозволяють точно налаштувати ігровий досвід відповідно до потреб різних серверів, додаючи рівень реалізму та стратегії до управління інвентарем у Minecraft.

Ця гнучкість дозволяє адміністратору сервера налаштувати систему ваги відповідно до будь-якого кастомного модпака чи стилю гри.