LootTable
Link to loottable
A loot table is used to determine what is dropped when the game needs to drop loot.
导入类
Link to 导入类
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 Copyimport crafttweaker.api.loot.LootTable;
使用方式
Link to 使用方式
Name: fill
Fills the given container with loot rolled by this table.
ZenScript CopyLootTable.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. |
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. |