Проєкт

Твій мод не ламається

Мод для Crafting має працювати й далі, коли оновлюється Minecraft і коли оновлюється Crafting. Ця сторінка пояснює, що гарантовано і що тобі треба зробити, щоб цим скористатися.

Що гарантовано

Усе публічне в API для Kotlin і Java, а також кожне ключове слово, вбудована функція й назва події CraftScript. Внутрішня будова Crafting (як він завантажує моди, як підключається до гри) може змінитися в будь-якій версії; твій мод її не бачить і не потребує.

Чому оновлення гри його не ламають

Твій мод ніколи не торкається коду Minecraft. Коли нова версія гри щось переносить або перейменовує, Crafting всередині змінює, до якої частини гри звертається кожна функція API. Функція, якою користується твій мод, зберігає ту саму назву й робить те саме.

Сьогодні Crafting працює з Minecraft Java 26.3. Кожну нову версію гри додають повністю: функція API або працює в цій версії, або версія не вважається підтримуваною.

Чотири правила

  1. Речі додаються, а не змінюються. Новий параметр має значення за замовчуванням, тож наявні виклики лишаються чинними. Нова поведінка отримує нову назву.
  2. Заміни приходять із попередженням. Коли з’являється кращий спосіб щось зробити, старий позначається як застарілий, підказує, чим його замінити, і працює так само, щонайменше до наступної мажорної версії. Редактор показує його закресленим.
  3. Речі вилучаються лише в мажорній версії, тій, що змінює першу цифру версії Crafting. Про це оголошують у примітках до випуску, із заміною для кожного пункту.
  4. Нічого не підробляється. Якщо функція не може працювати в запущеній грі, вона видає зрозумілу помилку. Вона ніколи не повертає вигадане значення, через яке мод вважав би, що все пройшло добре.

Що це означає для тебе

  • Оновлення Crafting ніколи не змушує тебе змінювати мод, окрім мажорної версії, і тоді ти точно знатимеш, що змінити.
  • Коли щось, чим ти користуєшся, позначене як застаріле, у тебе є час: зміни це, коли тобі зручно, до наступної мажорної версії. Документація завжди показує актуальний спосіб.
  • Якщо моду потрібне те, чого у твоїй версії Crafting ще немає, Crafting скаже про це під час завантаження, а не завантажить мод наполовину.
  • Не імпортуй класи net.minecraft у мод на Kotlin або Java: на цю частину немає жодних гарантій.
  • Уникай run_command і summon з ігровими даними: вони приймають формати Minecraft, а ті змінюються. Якщо вони тобі для чогось потрібні, в API бракує функції; попроси її додати.

Якщо щось не працює

  • Помилка в події чи команді записується в журнал із назвою мода, а решта сервера працює далі.
  • Скрипт із помилками типів не завантажується, а повідомлення вказує файл, рядок і те, що очікувалося.
  • Мод .jar, якому бракує залежності або потрібна новіша версія Crafting, не завантажується, і Crafting повідомляє про всі проблеми одразу, з порадою для кожної.