A loot table is used to determine what is dropped when the game needs to drop loot.

It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.

ZenScript
Copy
import crafttweaker.api.loot.LootTable;

Name: fill

Fills the given container with loot rolled by this table.

ZenScript
Copy
LootTable.fill(container as Container, context as LootContext)
参数类型描述
参数
container
类型
Container
描述
The container to fill.
参数
上下文:
类型
LootContext
描述
The context that will generate the loot.

Name: getParamSet

Gets the param set that this table uses.

Returns: The param set that this table uses.
Return Type: LootContextParamSet

ZenScript
Copy
// LootTable.getParamSet() as LootContextParamSet

lootTables.getTable(<resource:minecraft:gameplay/cat_morning_gift>).getParamSet();

Name: getRandomItems

Rolls this table and returns the rolled items in a list.

NOTE: The provided LootContext should not be reused from a loot modifier, if you want to reuse a context, look at invalid#copy(LootContext).

Returns: A list containing all the rolled items.
Return Type: stdlib.List<IItemStack>

ZenScript
Copy
// LootTable.getRandomItems(context as LootContext) as stdlib.List<IItemStack>

lootTables.getTable(<resource:minecraft:gameplay/cat_morning_gift>).getRandomItems(new LootContextBuilder(level).withParameter<Vec3>(LootContextParams.origin(), player.position).withParameter<Entity>(LootContextParams.thisEntity(), player).create(LootContextParamSets.gift()));
参数类型描述
参数
上下文:
类型
LootContext
描述
The context that this loot was generated.

Name: getRandomItems

Rolls this table and passes all the rolled items to the given Consumer<[IItemStack](/vanilla/api/item/IItemStack)>

NOTE: This method does respect max stack sizes NOTE: The provided LootContext should not be reused from a loot modifier, if you want to reuse a context, look at invalid#copy(LootContext).

ZenScript
Copy
// LootTable.getRandomItems(context as LootContext, stackConsumer as Consumer<IItemStack>)

lootTables.getTable(<resource:minecraft:gameplay/cat_morning_gift>).getRandomItems(new LootContextBuilder(level).withParameter<Vec3>(LootContextParams.origin(), player.position).withParameter<Entity>(LootContextParams.thisEntity(), player).create(LootContextParamSets.gift()), (stack) => {

 println(stack.commandString);
 });
参数类型描述
参数
上下文:
类型
LootContext
描述
The context that will generate the loot.
参数
stackConsumer
类型
Consumer<IItemStack>
描述
A consumer to act on the rolled stacks.

Link to getRandomItemsRaw

Name: getRandomItemsRaw

Rolls this table and passes all the rolled items to the given Consumer<[IItemStack](/vanilla/api/item/IItemStack)>

NOTE: This method does not respect max stack sizes! NOTE: The provided LootContext should not be reused from a loot modifier, if you want to reuse a context, look at invalid#copy(LootContext).

ZenScript
Copy
// LootTable.getRandomItemsRaw(context as LootContext, stackConsumer as Consumer<IItemStack>)

lootTables.getTable(<resource:minecraft:gameplay/cat_morning_gift>).getRandomItemsRaw(new LootContextBuilder(level).withParameter<Vec3>(LootContextParams.origin(), player.position).withParameter<Entity>(LootContextParams.thisEntity(), player).create(LootContextParamSets.gift()), (stack) => {

 println(stack.commandString);
 });
参数类型描述
参数
上下文:
类型
LootContext
描述
The context that will generate the loot.
参数
stackConsumer
类型
Consumer<IItemStack>
描述
A consumer to act on the rolled stacks.
名称类型可获得可设置描述
名称
paramSet
类型
LootContextParamSet
可获得
true
可设置
false
描述
Gets the param set that this table uses.