Buittabel

Uit Minecraft Wiki
Ga naar: navigatie, zoeken

Buittabellen zijn technische JSON-tabellen die voor moeten stellen wat voor voorwerpen er van nature aanwezig moeten zijn in containers, welke voorwerpen er moeten vallen als een wezen gedood wordt of welke voorwerp er opgevist kunnen worden.

Gebruik[bewerken | brontekst bewerken]

De buittabellen bestaan uit een regeltag die bepaalt welke buittabel er gebruikt moet worden en een long-tag die de seed van de buittabel bepaalt. Containers of wezens met dezelfde seed en tabel laten dezelfde dingen vallen. Buittabellen bepalen echter niet welk inventarisvakje er gebruikt wordt - dit wordt willekeurig bepaald op basis van de seed.


Voor kisten, kisten met valstrik, trechters, mijnkarren met kist en met trechter, dispensers, droppers en Shulkerdozen geldt de volgende buittabelstructuur:










 LootTable - De te gebruiken buittabel die wordt gebruikt om de container te vullen wanneer het geopend wordt voor de eerste keer. Wanneer de container onderdeel is van een dubbele kist, wordt alleen de helft met de bijbehorende kist beïnvloed.


 LootTableSeed - Seed voor het genereren van de buittabel. Werkt op dezelfde manier als de seed van een wereld. Als dit 0 is of leeggelaten wordt, wordt een willekeurige seed gebruikt.

Deze tags worden verwijderd wanneer er met de voorwerpen geïnterageerd is door bijvoorbeeld het blok van de container te openen of te breken. Alleen dan worden voorwerpen in de container geplaatst.


Voor wezens geldt de volgende buittabelstructuur:


De verzameltag


 DeathLootTable - De te gebruiken buittabel wanneer het entiteit dood gaat.


 DeathLootTableSeed - Seed voor het genereren van de buittabel. Werkt op dezelfde manier als de seed van een wereld. Als dit 0 is of leeggelaten wordt, wordt een willekeurige seed gebruikt.


De buittabellen van wezens en containers kunnen aangepast worden via de commando's /entitydata en /blockdata.

Aangepaste werelden kunnen buittabellen gebruiken om te bepalen welke buit er gegenereerd wordt in containers en bij het doden van wezens. Bestaande buittabellen kunnen aangepast worden of er kunnen nieuwe gemaakt worden.

Buittabellen worden opgeslagen in %appdata%\.minecraft\saves\<wereldnaam>\data\loot_tables.

Elke map onder loot_tables is een naamruimte. De standaardbestanden gebruiken de naamruimte minecraft, maar aangepaste werelden en modificaties hebben elk hun eigen naamruimte. Als de speler bijvoorbeeld een wereld creëert met als naam Fantastische parkourwereld, kan de naamruimte bijvoorbeeld fantastische_parkourwereld zijn (naamruimtes mogen namelijk geen hoofdletters of spaties bevatten). In deze map worden de buittabellen opgeslagen die gebruikt worden in de wereld.

De standaardbuittabellen kunnen ook overgeschreven worden door ze in de map minecraft te plaatsen. De buittabellen in deze map zijn geordend op entiteiten, kisten en vissen, zoals getoond in het gedeelte lijst van buittabellen.

Buittabellen kunnen ook een aangepaste naamruimte hebben. De te gebruiken buittabel wordt dan aangegeven met naamruimte:tabelnaam. Hierin is naamruimte de map van de buittabellen in de map loot_tables en tabelnaam de naam van het bestand van de buittabel, zonder de bestandsextensie .json.

Tags ()[bewerken | brontekst bewerken]


De hoofdtag


 pools - Een lijst van alle potten voor dit entiteit. Elke pot gebruikt gegenereerde voorwerpen van zijn lijst gebaseerd op het aantal worpen. Potten worden op volgorde gebruikt.


Een pot


 conditions - Bepaalt de voorwaarden voor een pot. Wanneer er meerdere voorwaarden zijn, moet aan alle voorwaarden voldaan worden.


Een voorwaarde


 condition - Naam van de voorwaarde. Geldige voorwaarden worden hieronder beschreven.


 rolls - Het exacte aantal worpen voor de pot.


 rolls - Een willekeurig aantal worpen binnen een bereik.


 min - Minimumaantal worpen. Verplicht bij gebruik van deze tag.


 max - Maximumaantal worpen. Verplicht bij gebruik van deze tag.


 bonus_rolls - Een exact aantal bonusworpen voor de pot per punt geluk. Wordt naar beneden afgerond na vermenigvuldigen.


 bonus_rolls - Een willekeurig aantal bonusworpen voor de pot per punt geluk. Wordt naar beneden afgerond na vermenigvuldigen.


 min - Minimumaantal bonusworpen. Verplicht bij gebruik van deze tag.


 max - Maximumaantal bonusworpen. Verplicht bij gebruik van deze tag.


 entries - Een lijst van alle dingen die door deze pot verkregen kunnen worden. Eén inschrijving wordt per worp gebruikt als een willekeurige selectiegewicht van de inschrijvingen waarvan aan alle voorwaarden voldaan wordt.


Een inschrijving


 conditions - Bepaalt de voorwaarden waaraan voldaan moet worden voor dit voorwerp. Als er meerdere voorwaarden zijn, moet aan alle voorwaarden voldaan worden.


Een voorwaarde


 condition - Naam van de voorwaarde. Geldige voorwaarden worden hieronder beschreven.


 type - Type inschrijving. Kan item zijn voor voorwerpinschrijvingen, loot_table om voorwerpen te produceren van een andere buittabel of empty voor een inschrijving die niks genereert.


 name

            • Voor het type item: technische naam van het te produceren voorwerp, bijvoorbeeld minecraft:blaze_rod. Het is standaard één voorwerp van het standaardtype van het voorwerp als het niet veranderd wordt door de tag functions.
            • Voor het type loot_table: de te gebruiken buittabel, bijvoorbeeld minecraft:gameplay/fishing/junk.


 functions - Voor het type item. Voegt functies toe aan de stapel voorwerpen die door de buittabel verkregen kunnen worden. Functies worden in volgorde toegepast. Dit betekent dus dat looting_enchantementset_count moet worden gezet om juist te werken.


Een functie


 function - Naam van de te toepassen functie. Geldige functies worden hieronder beschreven.


 conditions - Bepaalt de voorwaarden waaraan voldaan moet worden voor deze functie. Als er meerdere voorwaarden zijn, moet aan alle voorwaarden voldaan worden.


Een voorwaarde


 condition - Naam van de voorwaarde. Geldige voorwaarden worden hieronder beschreven.


 weight - Bepaalt hoe vaak een inschrijving wordt gebruikt uit de lijst inschrijvingen. Inschrijvingen met een hoger gewicht worden vaker gekozen (de kans is gewicht van de inschrijvingtotaalgewicht van geldige inschrijvingen).


 quality - Bepaalt de tag weight van de inschrijving, gebaseerd op het geluksattribuut van de speler tijdens het doden van entiteiten, openen van inventarissen en vissen. De formule is entier( weight + ( quality × generic.luck)). Het resultaat van de berekening wordt naar beneden afgerond.

Functies ()[bewerken | brontekst bewerken]

Buittabellen gebruiken verschillende functies om de voorwerpen van een stapel te veranderen, bijvoorbeeld door het aantal voorwerpen in een stapel aan te passen of de voorwerpen een betovering te geven. Hieronder staat een lijst met alle geldige functies en de tags die door deze functies gebruikt worden. De tags worden geplaatst in de tag
 function.

  • enchant_randomly - Betovert het voorwerp met een willekeurig gekozen betovering. Het niveau van de betovering, wanneer van toepassing, is willekeurig.


 enchantments - Lijst van namen van betoveringen waaruit gekozen kan worden. Wanneer deze tag niet gevuld wordt, worden alleen betoveringen op het voorwerp gezet die van toepassing zijn op het voorwerp.



 treasure - Bepaalt of schatbetoveringen op dit voorwerp kunnen worden gezet.


 levels - Precieze niveau van de betovering.


 levels - Een willekeurig betoveringsniveau binnen een bereik.


 min - Minimumniveau.


 max - Maximumniveau.


  • furnace_smelt - Smelt het voorwerp alsof het in een oven is geplaatst. Wordt gebruikt in combinatie met de voorwaarde entity_properties om voedsel te bakken van dieren als deze dood gaan.

  • looting_enchant - Past de stapelgrootte aan op basis van het betoveringsniveau van de Plunderingsbetovering van het entiteit met de eigenschap killer.


 count - Bepaalt het precieze aantal extra voorwerpen per niveau Plundering.


 count - Een willekeurig aantal extra voorwerpen binnen een bereik per niveau Plundering. Het willekeurig aantal extra voorwerpen mag decimalen hebben en wordt, na het vermenigvuldigen, afgerond.


 min - Minimumaantal extra voorwerpen.


 max - Maximumaantal extra voorwerpen.


 limit - Specificeert het maximumaantal extra voorwerpen in een stapel nadat de berekeningen zijn gedaan. Als deze waarde 0 is, wordt er geen limiet toegepast.



 modifiers


- Een aanpassing


 name - Naam van de aanpassing.


 attribute - De naam van het attribuut waarop de aanpassing invloed moet uitoefenen.


 operation - Moet óf addition óf multiply_base óf multiply_total zijn.


 amount - Bepaalt het precieze aantal verandering in getallen van de aanpassing.


 amount - Een willekeurig aantal verandering in getallen van de aanpassing.


 min - Minimumverandering.


 max - Maximumverandering.


 id - Optioneel. UUID van de volgende aanpassing. Als er hier niets staat, wordt een nieuw UUID gegenereerd.


 slot - Inventarisvakje waarin het voorwerp moet zijn als de aanpassing effect moet hebben. Deze waarde kan het volgende zijn: mainhand, offhand, feet, legs, chest of head.


 slot - Eén van de inventarisvakjes in deze lijst wordt willekeurig gekozen.


  • set_count - Bepaalt de grootte van de stapel.


 count - Bepaalt de precieze stapelgrootte.


 count - De stapel heeft een willekeurige grootte tussen de gespecificeerde bereiken.


 min - Minimumstapelgrootte.


 max - Maximumstapelgrootte.


  • set_damage - Bepaalt de schadewaarde van gereedschap.


 damage - Bepaalt hoeveel het gereedschap beschadigd is. 1,0 is onbeschadigd, bij 0,0 heeft het voorwerp geen levensduur meer.


 damage - De levensduur van het gereedschap wordt gekozen tussen twee verschillende bereiken.


 min - Minimumwaarde.


 max - Maximumwaarde.


  • set_data - Bepaalt de datawaarde van het voorwerp.


 data - Bepaalt de precieze datawaarde van het voorwerp.


 data - De datawaarde van het voorwerp is een willekeurige waarde tussen de twee bepaalde bereiken.


 min - Minimumwaarde.


 max - Maximumwaarde.


  • set_nbt - Voegt NBT-data toe aan het voorwerp.


 tag - Regeltag die toegevoegd moet worden aan het voorwerp en lijkt op wat gebruikt wordt bij commando's. Merk op dat het eerste haakje verplicht is en dat aanhalingstekens moeten worden ontsnapt door middel van een backslash (\).

Voorwaarden ()[bewerken | brontekst bewerken]

Buittabellen gebruiken verschillende voorwaarden die vereisten toevoegen aan een voorwerp dat valt, pot of functie. Hieronder staat een lijst met geldige voorwaarden en de bijbehorende tags. Deze tags worden in hetzelfde voorwaarde-object geplaatst als
 condition.

  • entity_properties - Test op eigenschappen van het entiteit.


 entity - Specificeert het te controleren entiteit voor de voorwaarde. Kan drie waarden hebben, namelijk this om het entiteit te gebruiken die dood ging, killer voor de doder of killer_player voor een doder die de speler is.


 properties - De te controleren eigenschappen.


 on_fire - Controleert of het entiteit in brand staat of niet.


  • entity_scores - Controleert op scores van het entiteit op scoreborden.


 entity - Specificeert het te controleren entiteit voor de voorwaarde. Kan drie waarden hebben, namelijk this om het entiteit te gebruiken die dood ging, killer voor de doder of killer_player voor een doder die de speler is.


 scores - De te controleren scores. Alle scores die hier staan, moeten goed zijn om aan de voorwaarde te voldoen.


 Een score - Sleutelnaam is het doel en de waarde is de precieze scorewaarde die benodigd is om aan de voorwaarde te voldoen.


 Een score - Sleutelnaam is het doel en de waarde is een scorewaarde binnen een bereik die benodigd is om aan de voorwaarde te voldoen.


 min - Minimumscore.


 max - Maximumscore.


  • killed_by_player - Controleert of een entiteit met de tag killer_player beschikbaar is.


 inverse - Als dit true is, wordt aan de voorwaarde voldaan als killer_player niet beschikbaar is.


  • random_chance - Controleert of een willekeurig nummer tussen 0,0 en 1,0 minder is dan een gespecificeerde waarde.


 chance - Succeskans als een nummer tussen de 0,0 en 1,0.


  • random_chance_with_looting - Controleert of een willekeurig nummer tussen 0,0 en 1,0 minder is dan een gespecificeerde waarde. Wordt beïnvloed door de betovering Plundering op het entiteit met de tag killer.


 chance - Basissucceswaarde.


 looting_multiplier - Wijziging aangebracht door Plundering op de basissucceswaarde. De formule is chance + (looting_level × looting_multiplier)

Lijst van buittabellen ()[bewerken | brontekst bewerken]

Hieronder staat een lijst met buittabellen die standaard in het spel gebruikt worden. Er kunnen meerdere tabellen toegevoegd worden aan de wereld voor gebruik in aangepaste werelden.

  • loot_tables
    • chests - Voorwerpen van kistbuit.
      • abandoned_mineshaft - Mijnkarren met kist in verlaten mijnschachten.
      • desert_pyramid - Kisten in de schatkamer van de woestijntempel.
      • end_city_treasure - Kisten in Endsteden.
      • igloo_chest - De kist in de kelder van een iglo.
      • jungle_temple - Kisten in een oerwoudtempel.
      • jungle_temple_dispenser - Inhoud van dispensers in oerwoudtempels.
      • nether_bridge - Kisten in een Netherfort.
      • simple_dungeon - Kisten in kerkers.
      • spawn_bonus_chest - Bonuskisten die in een nieuwe wereld verschijnen als deze optie is ingeschakeld.
      • stronghold_corridor - Kisten die gevonden worden op het altaar in burchten.
      • stronghold_crossing - Kisten op de eerste verdieping van opslagkamers in burchten.
      • stronghold_library - Kisten in de bibliotheek van burchten.
      • village_blacksmith - De kisten in het huis van de smid in dorpjes.
      • woodland_mansion - De kisten die gevonden worden in boslandhuizen.
    • entities - Voorwerpen die vallen uit entiteiten. Kan voor problemen zorgen wanneer deze buittabellen gebruikt worden door kisten, omdat soms stapels van nul voorwerpen verschijnen.
      • sheep - Schapen met wol.
        • black
        • blue
        • brown
        • cyan - Turquoise schaap
        • gray
        • green
        • light_blue
        • lime - Lichtgroen schaap
        • magenta
        • orange
        • pink
        • purple
        • red
        • silver - Lichtgrijs schaap
        • white
        • yellow
      • bat
      • blaze
      • cave_spider
      • cow
      • creeper
      • donkey
      • elder_guardian
      • ender_dragon
      • enderman
      • endermite
      • evocation_illager
      • ghast
      • giant
      • guardian
      • horse
      • husk
      • iron_golem
      • llama
      • magma_cube
      • mule
      • mushroom_cow
      • ocelot
      • parrot
      • pig
      • polar_bear
      • rabbit
      • sheep - Wordt gebruikt door schapen mét en zonder wol.
      • shulker
      • silverfish
      • skeleton
      • skeleton_horse
      • slime
      • snowman - Sneeuwgolem.
      • spider
      • squid
      • vex
      • villager
      • vindication_illager
      • witch
      • wither_skeleton
      • wolf
      • zombie
      • zombie_horse
      • zombie_pigman
      • zombie_villager
    • gameplay
      • fishing
        • fish - Wordt ook gebruikt door (oude) Bewakers.
        • junk
        • treasure
      • fishing - Wordt gebruikt om de uiteindelijke buit te bepalen door de drie buittabellen uit de map fishing te laden en geluk op elke tabel toe te passen.
    • empty - Bevat geen voorwerpen.

Aangepaste werelden[bewerken | brontekst bewerken]

Aangepaste werelden kunnen buittabellen gebruiken om de buit die spawnt in inventarissen en valt uit wezens, te veranderen. Bestaande buittabellen kunnen aangepast worden en er kunnen nieuwe buittabellen toegevoegd worden.

  • <map_van_wereld>
    • data
      • loot_tables
        • minecraft
        • <eigen_map>

JSON-bestanden worden in de onderste twee mappen opgeslagen. De JSON-bestanden voor zombies gaan bijvoorbeeld in de map data\loot_tables\minecraft\entities\zombie.json. Dit zorgt ervoor dat elke zombie in die wereld de aangepaste buittabel gebruikt in plaats van de standaardbuittabel voor zombies. Aangepaste buittabellen kunnen aangemaakt worden door een nieuw bestand aan te maken in <eigen_map> (<eigen_map> mag elke naam hebben, zoals deze geen hoofdletters of spaties bevat). Roep daarna een wezen op met de datatag DeathLootTable en zet daarin de naam van de map en het bestand daarvan, zonder de bestandsextentie .json, bijvoorbeeld DeathLootTable:"aangepast:pad/naar/buittabel".

Geschiedenis[bewerken | brontekst bewerken]

Officiële release
1.919 oktober 2015Dinnerbone kondigt buittabellen aan.
15w43aBuittabellen toegevoegd.
15w43bVoorwaarde entity_scores toegevoegd.
15w43cBuittabel villager_golem.json hernoemd naar iron_golem.json.
Buittabellen toegevoegd voor het vissen, schapen zonder wol en zombie- en skeletpaarden.
De tag


 item hernoemd naar
 name en
 items naar
 entries.

De tag


 type en de mogelijkheid om een buittabel te laden in plaats van een voorwerp toegevoegd.

De tag


 luck toegevoegd aan de standaardbestanden. Het heeft echter geen functie in de code.

De functie set_damage toegevoegd.
15w44aDe functies enchant_randomly en set_attributes toegevoegd.
15w44bDe tag


 quality toegevoegd.

De tags


 luck en
 luck_multiplier verwijderd.

De tag


 bonus_rolls toegevoegd.
15w51aEen speler in Spectatormodus kan niet langer een kist zijn buittabel laten gebruiken om buit te genereren.
1.9.1pre1Buittabellen werken voor dispensers en droppers.
Standaardtabel chests/jungle_temple_dispenser toegevoegd.
1.1116w32aEzels en muilezels en Mummies en Zombiedorpelingen hebben allen een eigen buittabel. Hierdoor gebruiken ze niet langer de buittabel van respectievelijk paarden en zombies.
16w43aDorpelingen, Ergernissen en Enderdraken hebben hun eigen buittabellen.

Problemen[bewerken | brontekst bewerken]

Problemen met betrekking tot 'Buittabel' worden bijgehouden op Mojira. Rapporteer problemen daar.