CLASS com net/minecraft/world/loot/LootSupplier
	CLASS com$a Builder
		FIELD a pools Ljava/util/List;
		FIELD b functions Ljava/util/List;
		FIELD c type Lcqj;
		METHOD a withPool (Lcol$a;)Lcom$a;
			ARG 1 poolBuilder
		METHOD a withType (Lcqj;)Lcom$a;
			ARG 1 context
		METHOD b create ()Lcom;
	CLASS com$b Serializer
		METHOD deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object;
			ARG 1 json
			ARG 2 unused
			ARG 3 context
		METHOD serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement;
			ARG 1 supplier
			ARG 2 unused
			ARG 3 context
	FIELD a EMPTY Lcom;
	FIELD b GENERIC Lcqj;
	FIELD c LOGGER Lorg/apache/logging/log4j/Logger;
	FIELD d type Lcqj;
	FIELD e pools [Lcol;
	FIELD f functions [Lcpt;
	FIELD g combinedFunction Ljava/util/function/BiFunction;
	METHOD <init> (Lcqj;[Lcol;[Lcpt;)V
		ARG 1 contextType
		ARG 2 pools
		ARG 3 functions
	METHOD a getType ()Lcqj;
	METHOD a supplyInventory (Lags;Lcoj;)V
		ARG 1 inventory
		ARG 2 context
	METHOD a getFreeSlots (Lags;Ljava/util/Random;)Ljava/util/List;
		ARG 1 inventory
		ARG 2 random
	METHOD a getDrops (Lcoj;)Ljava/util/List;
		ARG 1 context
	METHOD a drop (Lcoj;Ljava/util/function/Consumer;)V
		ARG 1 context
		ARG 2 itemDropper
	METHOD a check (Lcoo;Ljava/util/function/Function;Ljava/util/Set;Lcqj;)V
		ARG 1 reporter
		ARG 2 supplierGetter
		ARG 3 parentLootTables
		ARG 4 contextType
	METHOD a shuffle (Ljava/util/List;ILjava/util/Random;)V
		ARG 1 drops
		ARG 2 freeSlots
		ARG 3 random
	METHOD a limitedConsumer (Ljava/util/function/Consumer;)Ljava/util/function/Consumer;
		ARG 0 itemDropper
	METHOD a (Ljava/util/function/Consumer;Lbbz;)V
		ARG 1 stack
	METHOD b builder ()Lcom$a;
	METHOD b dropLimited (Lcoj;Ljava/util/function/Consumer;)V
		ARG 1 context
		ARG 2 dropItemConsumer
