The bug
The function apply_bonus takes an enchantment and some parameters to increase the item count of a loot table entry. This function is used in various vanilla block loot tables.
However it appears this does not work for entity loot tables although the enchantment context is still available, proven by the usage of the looting_enchant function, used in almost every mob loot table. This is inconsistent and no warning is given in the log it looks like there is now a warning.
How to reproduce
Download and
/reloadthe attached data packSummon a mob with this loot table
/summon pig ~ ~ ~ {DeathLootTable:"mc-169473:a"}Kill the mob with a normal sword
✔ Exactly one diamond is droppedResummon the mob with the command in step 3.
Kill the mob with a looting 3 sword
❌ Only one diamond is dropped, while you would expect 6.5 on average
Example loot table
{
"type": "entity",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "item",
"name": "diamond",
"functions": [
{
"function": "apply_bonus",
"enchantment": "looting",
"formula": "binomial_with_bonus_count",
"parameters": {
"extra": 10,
"probability": 0.5
}
}
]
}
]
}
]
}
Not sure whether this is intended.
apply_bonusrequires theTOOLcontext to work properly, which only exists forfishing,block, andgenericloot tables.