Edycja reguł gry w level.dat

Obsługuje Minecraft Bedrock Edition i Java Edition — a także każdy popularny i niszowy rdzeń serwera obu edycji: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina i pozostałe. Pełna lista.

Reguły gry są przechowywane w level.dat, dlatego można je zmieniać bez wczytywania świata i bez włączonych kodów. Przydaje się to, gdy świat nie chce się uruchomić, kody są wyłączone albo przygotowujesz kopię świata przed dołączeniem graczy. Java przechowuje je jako ciągi znaków w tagu złożonym GameRules, natomiast Bedrock zapisuje każdą regułę jako osobny tag typu Byte o nazwie pisanej małymi literami w korzeniu.

keepInventorydoDaylightCyclemobGriefingcommandBlockOutputrandomTickSpeed

Upuść tutaj level.dat

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · zrzuty chunków

Java: tag złożony GameRules z ciągami znaków

W Java Edition Data → GameRules zawiera po jednym TAG_String dla każdej reguły. Kluczem jest dokładna nazwa używana przez /gamerule, a wartość zostaje zapisana jako tekst: "true", "false" lub liczba. Reguł, których nigdy nie ustawiono w świecie, po prostu nie ma w pliku i obowiązują ich wartości domyślne — dodanie tagu z właściwą nazwą i wartością tekstową działa dokładnie tak samo jak wykonanie polecenia.

RegułaWartośćDziałanie
keepInventory"true"Zachowanie przedmiotów po śmierci
doDaylightCycle"false"Zatrzymanie pory dnia
doWeatherCycle"false"Zatrzymanie zmian pogody
mobGriefing"false"Uniemożliwienie creeperom i endermanom zmieniania bloków
doMobSpawning"false"Wyłączenie naturalnego pojawiania się mobów
doFireTick"false"Zatrzymanie rozprzestrzeniania się ognia
commandBlockOutput"false"Wyłączenie komunikatów bloków poleceń na czacie
randomTickSpeed"3"Tempo wzrostu roślin i rozprzestrzeniania się ognia
playersSleepingPercentage"50"Odsetek graczy wymagany do pominięcia nocy
spawnRadius"10"Promień obszaru odrodzenia

Wielkość liter ma znaczenie. keepinventory w pliku Java nie jest tym samym tagiem co keepInventory i zostanie zignorowany.

Bedrock: osobne tagi Byte o nazwach pisanych małymi literami

Bedrock nie grupuje reguł. Każda jest tagiem TAG_Byte w korzeniu level.dat, ma nazwę pisaną małymi literami i wartość 1 lub 0 — keepinventory, domobspawning, domobloot, dodaylightcycle, doweathercycle, mobgriefing, firedamage, falldamage, drowningdamage, pvp, showcoordinates, commandblockoutput, sendcommandfeedback, naturalregeneration, tntexplodes, respawnblocksexplode, showdeathmessages, doimmediaterespawn. Reguły liczbowe, takie jak randomtickspeed i functioncommandlimit, są natomiast tagami TAG_Int.

Aby ustawić regułę, której jeszcze nie ma w pliku, trzeba dodać tag właściwego typu: Byte dla przełącznika lub Int dla liczby. Reguła zapisana z niewłaściwym typem zostanie zignorowana albo uniemożliwi wczytanie świata.

Kiedy edycja pliku jest lepsza od polecenia

  • Kody są wyłączone, a nie chcesz ich włączać i ponownie wyłączać tylko po to, aby wykonać jedno polecenie.
  • Świat się nie wczytuje — regułę taką jak doImmediateRespawn można ustawić przed pierwszym dołączeniem.
  • Przygotowujesz świat szablonowy do skopiowania na wiele serwerów i chcesz, aby kopie od razu zawierały właściwe reguły.
  • Plugin zmienił regułę, a Ty chcesz zobaczyć wartość naprawdę zapisaną w pliku, nie tylko wynik zgłaszany przez polecenie.
  • Zmiany zbiorcze. Ustawienie kilkunastu reguł w kilku światach jest szybsze w pliku niż na czacie.

Tak jak przed każdą edycją level.dat, najpierw zatrzymaj serwer — działający świat ponownie zapisze plik i odrzuci zmianę.

Najczęściej zadawane pytania

Dlaczego reguła gry w Java jest zapisana jako ciąg znaków?

Java zapisuje każdą regułę gry jako ciąg znaków, również wartości logiczne i liczby. Wpisz "true", a nie wartość Byte równą 1.

Dlaczego w Bedrock jest to wartość Byte?

Bedrock przechowuje przełączniki jako tagi Byte w korzeniu, a reguły liczbowe jako Int. Nie ma tagu złożonego GameRules.

Reguły w ogóle nie ma w pliku.

Oznacza to, że obowiązuje jej wartość domyślna. Dodaj tag z dokładną nazwą i właściwym typem, a świat zacznie używać podanej wartości.

Czy reguły gry są kopiowane razem z folderem świata?

Tak — znajdują się w level.dat, dlatego skopiowany świat dziedziczy je razem ze swoją nieaktualną nazwą świata.

Powiązane narzędzia