Class LootTable
java.lang.Object
net.minecraft.world.level.storage.loot.LootTable
- 
Nested Class Summary
Nested Classes - 
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BiFunction<ItemStack, LootContext, ItemStack> static final com.mojang.serialization.Codec<Optional<WithConditions<LootTable>>> static final ContextKeySetstatic final com.mojang.serialization.Codec<LootTable> static final LootTableprivate final List<LootItemFunction> private booleanstatic final com.mojang.serialization.Codec<ResourceKey<LootTable>> private static final org.slf4j.Loggerprivate ResourceLocationprivate final ContextKeySetstatic final longprivate final Optional<ResourceLocation>  - 
Constructor Summary
ConstructorsConstructorDescriptionLootTable(ContextKeySet p_380952_, Optional<ResourceLocation> p_299055_, List<LootPool> p_298390_, List<LootItemFunction> p_298775_)  - 
Method Summary
Modifier and TypeMethodDescriptionvoidprivate voidcreateStackSplitter(ServerLevel pLevel, Consumer<ItemStack> pOutput) voidfill(Container pContainer, LootParams pParams, long pSeed) voidfreeze()getAvailableSlots(Container pInventory, RandomSource pRandom) @Nullable LootPoolprivate it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootContext pContext) Generate random items to a List.voidgetRandomItems(LootContext pContextData, Consumer<ItemStack> pOutput) Generate random items to the given Consumer, ensuring they do not exceed their maximum stack size.it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootParams pParams) it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootParams pParams, long pSeed) voidgetRandomItems(LootParams pParams, long pSeed, Consumer<ItemStack> pOutput) voidgetRandomItems(LootParams pParams, Consumer<ItemStack> pOutput) it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootParams pParams, RandomSource pRandom) voidgetRandomItemsRaw(LootContext pContext, Consumer<ItemStack> pOutput) Deprecated.voidgetRandomItemsRaw(LootParams pParams, Consumer<ItemStack> pOutput) Deprecated.booleanisFrozen()static LootTable.Builder@Nullable LootPoolremovePool(String name) voidprivate voidshuffleAndSplitItems(it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> pStacks, int pEmptySlotsCount, RandomSource pRandom) Shuffles items by changing their order and splitting stacksvoidvalidate(ValidationContext pValidator) Validate this LootTable using the given ValidationContext. 
- 
Field Details
- 
LOGGER
private static final org.slf4j.Logger LOGGER - 
KEY_CODEC
 - 
DEFAULT_PARAM_SET
 - 
RANDOMIZE_SEED
public static final long RANDOMIZE_SEED- See Also:
 
 - 
DIRECT_CODEC
 - 
CONDITIONAL_DIRECT_CODEC
public static final com.mojang.serialization.Codec<Optional<WithConditions<LootTable>>> CONDITIONAL_DIRECT_CODEC - 
CODEC
 - 
EMPTY
 - 
paramSet
 - 
randomSequence
 - 
pools
 - 
functions
 - 
compositeFunction
 - 
isFrozen
private boolean isFrozen - 
lootTableId
 
 - 
 - 
Constructor Details
- 
LootTable
LootTable(ContextKeySet p_380952_, Optional<ResourceLocation> p_299055_, List<LootPool> p_298390_, List<LootItemFunction> p_298775_)  
 - 
 - 
Method Details
- 
createStackSplitter
public static Consumer<ItemStack> createStackSplitter(ServerLevel pLevel, Consumer<ItemStack> pOutput)  - 
getRandomItemsRaw
Deprecated. - 
getRandomItemsRaw
Deprecated.Generate items to the given Consumer, ignoring maximum stack size. - 
getRandomItems
 - 
getRandomItems
 - 
getRandomItems
Generate random items to the given Consumer, ensuring they do not exceed their maximum stack size. - 
getRandomItems
public it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootParams pParams, RandomSource pRandom)  - 
getRandomItems
public it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootParams pParams, long pSeed)  - 
getRandomItems
 - 
getRandomItems
private it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootContext pContext) Generate random items to a List. - 
getParamSet
 - 
validate
Validate this LootTable using the given ValidationContext. - 
fill
 - 
shuffleAndSplitItems
private void shuffleAndSplitItems(it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> pStacks, int pEmptySlotsCount, RandomSource pRandom) Shuffles items by changing their order and splitting stacks - 
getAvailableSlots
 - 
lootTable
 - 
freeze
public void freeze() - 
isFrozen
public boolean isFrozen() - 
checkFrozen
private void checkFrozen() - 
setLootTableId
 - 
getLootTableId
 - 
getPool
 - 
removePool
 - 
addPool
 
 -