CLASS cos net/minecraft/world/loot/LootSupplier
	CLASS cos$a Builder
		FIELD a pools Ljava/util/List;
		FIELD b functions Ljava/util/List;
		FIELD c type Lcqo;
		METHOD a withPool (Lcor$a;)Lcos$a;
			ARG 1 poolBuilder
		METHOD a withType (Lcqo;)Lcos$a;
			ARG 1 context
		METHOD b create ()Lcos;
	CLASS cos$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 Lcos;
	FIELD b GENERIC Lcqo;
	FIELD c LOGGER Lorg/apache/logging/log4j/Logger;
	FIELD d type Lcqo;
	FIELD e pools [Lcor;
	FIELD f functions [Lcpy;
	FIELD g combinedFunction Ljava/util/function/BiFunction;
	METHOD <init> (Lcqo;[Lcor;[Lcpy;)V
		ARG 1 contextType
		ARG 2 pools
		ARG 3 functions
	METHOD a getType ()Lcqo;
	METHOD a supplyInventory (Lagx;Lcop;)V
		ARG 1 inventory
		ARG 2 context
	METHOD a getFreeSlots (Lagx;Ljava/util/Random;)Ljava/util/List;
		ARG 1 inventory
		ARG 2 random
	METHOD a getDrops (Lcop;)Ljava/util/List;
		ARG 1 context
	METHOD a drop (Lcop;Ljava/util/function/Consumer;)V
		ARG 1 context
		ARG 2 itemDropper
	METHOD a check (Lcot;Ljava/util/function/Function;Ljava/util/Set;Lcqo;)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;Lbcc;)V
		ARG 1 stack
	METHOD b builder ()Lcos$a;
	METHOD b dropLimited (Lcop;Ljava/util/function/Consumer;)V
		ARG 1 context
		ARG 2 dropItemConsumer
