Ігрові правила
ПЕРЕДУМОВИ
Можливо, ви захочете спершу завершити генерацію перекладу, але це не обов’язково.
Ігрові правила діють як специфічні для світу параметри налаштування, які гравець може змінити в грі за допомогою команди. Ці змінні зазвичай керують певною функцією світу, наприклад, pvp, spawn_monsters і advance_time керують тим, чи ввімкнено можуть битися гравці, породжуватися монстри та чи є плин часу.
Створення ігрового правила
Щоб створити власне ігрове правило, спочатку створіть клас GameRules; тут ми збираємося оголосити наші правила. У цьому класі оголосите дві константи: ідентифікатор та саме правило.
java
No lines matched.1
Аргумент категорії (.category(GameRuleCategory.MISC)) визначає, до якої категорії відноситься ігрове правило на екрані створення світу. У цьому прикладі використовується категорія «Інше», надану стандартною грою, але додаткові категорії можна додати за допомогою GameRuleCategory.register. У цьому прикладі ми створили логічне правило з усталеним значенням false та ID bad_vision. Збережені значення в правилах не обмежуються логічними значеннями; інші допустимі типи включають Double, Integer і Enum.
Приклад правила, що зберігає подвійне:
java
No lines matched.1
Доступ до ігрового правила
Тепер, коли у нас є правило та його Identifier, ви можете отримати доступ до нього будь-де за допомогою методу serverLevel.getGameRules().get(GAMERULE), де аргументом .get() є константа правила, а не ID правила.
java
// Check for the state of the gamerule1
Ви також можете використовувати це для доступу до значень правил стандартної гри:
java
No lines matched.1
Наприклад, для правила, яке застосовує сліпоту до кожного гравця, коли воно ввімкнене, реалізація буде такою:
java
No lines matched.1
Переклад
Тепер нам потрібно дати нашому правилу показувану назву, щоб її було легко зрозуміти на екрані ігрових правил. Щоб зробити це за допомогою генерації даних, додайте такі рядки до свого постачальника мови:
java
No lines matched.1
Нарешті, нам потрібно дати опис нашому правилу. Щоб зробити це за допомогою генерації даних, додайте такі рядки до свого постачальника мови:
java
No lines matched.1
INFO
Ці ключі перекладу використовуються під час показу тексту на екрані ігрових правил. Якщо ви не використовуєте генерацію даних, ви також можете записати їх вручну у свій assets/example-mod/lang/en_us.json (uk_ua.json для української).
json
"example-mod.bad_vision": "Bad Vision",
"gamerule.example-mod.bad_vision": "Gives every player the blindness effect",1
2
2
Зміна правил в грі
Тепер ви зможете змінити значення свого правила в грі за допомогою команди /gamerule:
mcfunction
/gamerule example-mod:bad_vision true1
Правило також тепер видно в категорії «Інше» на екрані «Редагувати ігрові правила».






