The Best Resource for Minecraft
The Best Resource for Minecraft

Buittabellen: pools, worpen en het verschil tussen invoeren en functies

Buittabellen: pools, worpen en het verschil tussen invoeren en functies

Een buittabel die niets dropt heeft zijn gewichten of voorwaarden meestal in de verkeerde laag staan. Dit is wat elk nestingsniveau bestuurt, en de functies die het waard zijn om te kennen.

Buittabel-JSON is vier niveaus diep en elk niveau betekent iets anders. Bijna elke "mijn tabel dropt niets" is een voorwaarde die één niveau verwijderd is van waar hij hoorde te staan.

De vier niveaus

table
└── pools[]          how many independent draws
    └── entries[]    what can come out of this draw
        └── functions[]   modify the item that came out
  • rolls op een pool is hoe vaak die pool trekt. Eén pool met rolls: 3 draws

drie keer uit dezelfde invoerlijst.

  • weight op een invoer is relatief binnen zijn pool. Gewichten hoeven niet op te tellen tot

iets; een invoer met een gewicht van 10 tegenover een van 90 komt een tiende van de keren voor.

  • conditions bestaan op elk niveau en betekenen verschillende dingen. Op een pool bepalen ze

de hele trekking. Op een invoer bepalen ze die ene optie. Op een functie bepalen ze alleen de aanpassing.

Een gegarandeerde drop vereist een eigen pool

Gewichten kunnen niets garanderen, omdat een pool precies één invoer per worp kiest. Een tabel die altijd een kaart plus willekeurige buit moet droppen, heeft twee pools nodig:

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

Pool één heeft een enkele invoer, dus produceert deze altijd. Pool twee gooit 2–4 keer uit de gewogen lijst.

De functies die het waard zijn om te kennen

FunctieDoet
set_counteen vast aantal of een uniform range
enchant_randomlywillekeurige betoveringen, optioneel uit een lijst
enchant_with_levelsals een betoveringstafel op N niveaus — inclusief schatten indien gevraagd
set_componentsaangepaste naam, lore, elk datacomponent
looting_enchantbonus per niveau van Buitmaken; alleen entiteitstabellen
set_damageduurzaamheid als een fractie, dus 0.5 is half-worn
furnace_smeltde gesmolten vorm wanneer de mob brandend sterft

enchant_with_levels and enchant_randomly are not interchangeable. The first mimics an enchanting table and respects level costs; the second picks arbitrarily and can produce combinations the game would never generate.

Voorwaarden die vaak gebruikt worden

  • random_chance — a flat probability
  • random_chance_with_enchanted_bonus — the modern Looting-aware chance
  • killed_by_player — the reason your rare drop never appears from a fall death
  • entity_properties — check the victim's type, state or equipment
  • match_tool — check the tool used, for block tables

Testen zonder de wereld opnieuw te bouwen

/loot give @s loot my_pack:chests/treasure

dropt de tabel direct in je inventaris. /loot spawn, /loot insert <pos> and /loot replace cover the other placements. This is far faster than placing chests and reloading, and it is the only sane way to check weight distributions.

Bouw tabellen met meerdere pools met de functies en voorwaarden op het juiste niveau gekoppeld in de Geavanceerde buittabelmaker.

Probeer de tool: Advanced Loot Table Builder →