MC Toolkit

Poradniki / Polecenia i dane

Tabele łupów: pule, losowania i różnica między wpisami a funkcjami

Tabela łupów, która nic nie wypada, zwykle ma wagi lub warunki na niewłaściwym poziomie. Oto co kontroluje każdy poziom zagnieżdżenia i które funkcje warto znać.

JSON tabeli łupów ma cztery poziomy zagnieżdżenia i każdy z nich oznacza coś innego. Niemal każde „moja tabela nic nie wypada" to warunek przypięty o jeden poziom dalej, niż powinien być.

Cztery poziomy

table
└── pools[]          how many independent draws
    └── entries[]    what can come out of this draw
        └── functions[]   modify the item that came out
  • rolls w puli określa, ile razy ta pula losuje. Jedna pula z rolls: 3 losuje trzy razy z tej samej listy wpisów.
  • weight we wpisie jest względna w obrębie swojej puli. Wagi nie muszą się do niczego sumować; wpis o wadze 10 wobec wpisu o wadze 90 wypada dziesięć razy rzadziej.
  • conditions istnieją na każdym poziomie i oznaczają co innego. W puli bramkują całe losowanie. We wpisie bramkują tylko tę jedną opcję. W funkcji bramkują wyłącznie modyfikację.

Zagwarantowanie wypadnięcia wymaga osobnej puli

Wagi niczego nie gwarantują, bo pula wybiera dokładnie jeden wpis na losowanie. Tabela, która musi zawsze wypaść mapę plus losowe łupy, potrzebuje dwóch pul:

"pools": [
  { "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:filled_map" } ] },
  { "rolls": { "min": 2, "max": 4 }, "entries": [ … weighted list … ] }
]

Pula pierwsza ma jeden wpis, więc zawsze go produkuje. Pula druga losuje 2–4 razy z listy ważonej.

Funkcje warte poznania

FunkcjaRobi
set_countstałą liczbę albo zakres uniform
enchant_randomlylosowe zaklęcia, opcjonalnie z listy
enchant_with_levelsjak Stół do zaklinania na N poziomach — dowolne zaklęcie, o ile options go nie zawęzi
set_componentswłasną nazwę, opis, dowolny komponent danych
enchanted_count_increasebonus za każdy poziom zaklęcia (Grabież); tylko tabele bytów
set_damagewytrzymałość jako ułamek, więc 0.5 to połowa zużycia
furnace_smeltpostać po przetopieniu, gdy mob zginie w ogniu

enchant_with_levels i enchant_randomly nie są wymienne. Pierwsza naśladuje Stół do zaklinania i respektuje koszty poziomów; druga wybiera dowolnie i może tworzyć kombinacje, których gra nigdy by nie wygenerowała.

Warunki, po które ludzie sięgają

  • random_chance — płaskie prawdopodobieństwo
  • random_chance_with_enchanted_bonus — nowoczesna szansa uwzględniająca Grabież
  • killed_by_player — powód, dla którego twój rzadki łup nigdy nie wypada po śmierci od upadku
  • entity_properties — sprawdza typ, stan lub ekwipunek ofiary
  • match_tool — sprawdza użyte narzędzie, dla tabel bloków

Testowanie bez przebudowywania świata

/loot give @s loot my_pack:chests/treasure

wrzuca tabelę prosto do twojego ekwipunku. /loot spawn, /loot insert <pos> i /loot replace obsługują pozostałe umiejscowienia. To znacznie szybsze niż stawianie skrzyń i przeładowywanie, i jedyny rozsądny sposób sprawdzania rozkładów wag.

Buduj tabele z wieloma pulami, przypinając funkcje i warunki na właściwym poziomie w Advanced Loot Table Builder.

Zaawansowany kreator tabel łupów →

Więcej poradników

Zobacz wszystkie →