Редагування правил гри в level.dat

Підтримує Minecraft Bedrock Edition і Java Edition — а також усі популярні й маловідомі серверні ядра для обох видань: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina та інші. Повний список.

Правила гри зберігаються в level.dat, тому їх можна змінювати без завантаження світу й увімкнених читів. Це корисно, коли світ не запускається, чити вимкнено або ви готуєте копію світу до входу гравців. Java зберігає правила як рядки в складеному тегу GameRules, а Bedrock — кожне окремо як кореневий байтовий тег у нижньому регістрі.

keepInventorydoDaylightCyclemobGriefingcommandBlockOutputrandomTickSpeed

Перетягніть level.dat сюди

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · дампи чанків

Java: складений тег GameRules із рядків

У Java Edition Data → GameRules містить по одному TAG_String на правило. Ключем є точна назва з /gamerule, а значення записується як текст: "true", "false" або число. Правил, які ще не задавали для світу, у файлі просто немає, тому діють їхні типові значення. Додавання тегу з правильною назвою та рядковим значенням працює так само, як виконання команди.

ПравилоЗначенняДія
keepInventory"true"Зберігати предмети після смерті
doDaylightCycle"false"Зупинити перебіг доби
doWeatherCycle"false"Зупинити зміну погоди
mobGriefing"false"Заборонити кріперам і ендерменам змінювати блоки
doMobSpawning"false"Вимкнути природну появу мобів
doFireTick"false"Зупинити поширення вогню
commandBlockOutput"false"Прибрати повідомлення командних блоків із чату
randomTickSpeed"3"Швидкість росту культур і поширення вогню
playersSleepingPercentage"50"Частка гравців, потрібна для пропуску ночі
spawnRadius"10"Розмір області появи

Регістр має значення. keepinventory у файлі Java — не той самий тег, що й keepInventory, тому гра його проігнорує.

Bedrock: окремі байтові теги в нижньому регістрі

Bedrock не об’єднує правила в групу. Кожне з них є кореневим тегом TAG_Byte у level.dat, названим у нижньому регістрі та зі значенням 1 або 0: keepinventory, domobspawning, domobloot, dodaylightcycle, doweathercycle, mobgriefing, firedamage, falldamage, drowningdamage, pvp, showcoordinates, commandblockoutput, sendcommandfeedback, naturalregeneration, tntexplodes, respawnblocksexplode, showdeathmessages, doimmediaterespawn. Числові правила, як-от randomtickspeed і functioncommandlimit, натомість мають тип TAG_Int.

Щоб задати відсутнє правило, додайте тег правильного типу: Byte для перемикача, Int для числа. Правило з неправильним типом буде проігноровано або завадить завантаженню світу.

Коли краще редагувати файл, а не виконувати команду

  • Чити вимкнено, і ви не хочете вмикати їх заради однієї команди, а потім вимикати знову.
  • Світ не завантажується — правило на зразок doImmediateRespawn можна задати до першого входу.
  • Ви готуєте шаблон світу для копіювання на кілька серверів і хочете зберегти правила в кожній копії.
  • Плагін змінив правило, і ви хочете перевірити фактично збережене значення, а не результат команди.
  • Масове редагування. Десяток правил у кількох світах швидше змінити у файлах, ніж у чаті.

Як і перед будь-яким редагуванням level.dat, спочатку зупиніть сервер. Запущений світ перезапише файл під час збереження та скасує зміну.

Поширені запитання

Чому в Java правило гри зберігається як рядок?

Java зберігає всі правила гри як рядки, зокрема логічні та числові значення. Записуйте "true", а не байт 1.

Чому в Bedrock це байт?

Bedrock зберігає перемикачі як кореневі байтові теги, а числові правила — як Int. Складеного тегу GameRules немає.

Правило взагалі відсутнє у файлі.

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

Чи копіюються правила гри разом із папкою світу?

Так. Вони зберігаються в level.dat, тому скопійований світ успадковує їх разом зі старою назвою світу.

Пов’язані інструменти