Class LootTable
java.lang.Object
net.minecraft.world.level.storage.loot.LootTable
- All Implemented Interfaces:
Validatable
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BiFunction<ItemStack, LootContext, ItemStack> static final Codec<Optional<WithConditions<LootTable>>> static final ContextKeySetstatic final LootTableprivate final List<LootItemFunction> private booleanstatic final Codec<ResourceKey<LootTable>> private static final org.slf4j.Loggerprivate Identifierprivate final ContextKeySetstatic final longprivate final Optional<Identifier> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateLootTable(ContextKeySet paramSet, Optional<Identifier> randomSequence, List<LootPool> pools, List<LootItemFunction> functions) -
Method Summary
Modifier and TypeMethodDescriptionvoidprivate voidcreateStackSplitter(ServerLevel level, Consumer<ItemStack> output) voidfill(Container container, LootParams params, long optionalRandomSeed) voidfreeze()getAvailableSlots(Container container, RandomSource random) @Nullable LootPoolprivate it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootContext context) voidgetRandomItems(LootContext context, Consumer<ItemStack> output) it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootParams params) it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootParams params, long optionalLootTableSeed) voidgetRandomItems(LootParams params, long optionalLootTableSeed, Consumer<ItemStack> output) voidgetRandomItems(LootParams params, Consumer<ItemStack> output) it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootParams params, RandomSource randomSource) voidgetRandomItemsRaw(LootContext context, Consumer<ItemStack> output) Deprecated.voidgetRandomItemsRaw(LootParams params, Consumer<ItemStack> output) Deprecated.booleanisFrozen()static LootTable.Builder@Nullable LootPoolremovePool(String name) voidprivate voidshuffleAndSplitItems(it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> result, int availableSlots, RandomSource random) voidvalidate(ValidationContext context)
-
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
-
CODEC
-
EMPTY
-
paramSet
-
randomSequence
-
pools
-
functions
-
compositeFunction
-
isFrozen
private boolean isFrozen -
lootTableId
-
-
Constructor Details
-
LootTable
private LootTable(ContextKeySet paramSet, Optional<Identifier> randomSequence, List<LootPool> pools, List<LootItemFunction> functions)
-
-
Method Details
-
createStackSplitter
public static Consumer<ItemStack> createStackSplitter(ServerLevel level, Consumer<ItemStack> output) -
getRandomItemsRaw
Deprecated. -
getRandomItemsRaw
Deprecated. -
getRandomItems
public void getRandomItems(LootParams params, long optionalLootTableSeed, Consumer<ItemStack> output) -
getRandomItems
-
getRandomItems
-
getRandomItems
public it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootParams params, RandomSource randomSource) -
getRandomItems
public it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootParams params, long optionalLootTableSeed) -
getRandomItems
-
getRandomItems
private it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> getRandomItems(LootContext context) -
getParamSet
-
validate
- Specified by:
validatein interfaceValidatable
-
fill
-
shuffleAndSplitItems
private void shuffleAndSplitItems(it.unimi.dsi.fastutil.objects.ObjectArrayList<ItemStack> result, int availableSlots, RandomSource random) -
getAvailableSlots
-
lootTable
-
freeze
public void freeze() -
isFrozen
public boolean isFrozen() -
checkFrozen
private void checkFrozen() -
setLootTableId
-
getLootTableId
-
getPool
-
removePool
-
addPool
-