CLASS coh net/minecraft/world/loot/LootSupplier
	CLASS coh$a Builder
		FIELD a pools Ljava/util/List;
		FIELD b functions Ljava/util/List;
		FIELD c type Lcqe;
		METHOD a withPool (Lcog$a;)Lcoh$a;
			ARG 1 poolBuilder
		METHOD a withType (Lcqe;)Lcoh$a;
			ARG 1 context
		METHOD b create ()Lcoh;
	CLASS coh$b Serializer
		METHOD deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object;
			ARG 1 lootTableRootJson
			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 Lcoh;
	FIELD b GENERIC Lcqe;
	FIELD c LOGGER Lorg/apache/logging/log4j/Logger;
	FIELD d type Lcqe;
	FIELD e pools [Lcog;
	FIELD f functions [Lcpo;
	FIELD g combinedFunction Ljava/util/function/BiFunction;
	METHOD <init> (Lcqe;[Lcog;[Lcpo;)V
		ARG 1 contextType
		ARG 2 pools
		ARG 3 functions
	METHOD a getType ()Lcqe;
	METHOD a supplyInventory (Lagr;Lcoe;)V
		ARG 1 inventory
		ARG 2 context
	METHOD a getFreeSlots (Lagr;Ljava/util/Random;)Ljava/util/List;
		ARG 1 inventory
		ARG 2 random
	METHOD a getDrops (Lcoe;)Ljava/util/List;
		ARG 1 context
	METHOD a drop (Lcoe;Ljava/util/function/Consumer;)V
		ARG 1 context
		ARG 2 itemDropper
	METHOD a check (Lcoi;Ljava/util/function/Function;Ljava/util/Set;Lcqe;)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;Lbbu;)V
		ARG 1 stack
	METHOD b builder ()Lcoh$a;
	METHOD b dropLimited (Lcoe;Ljava/util/function/Consumer;)V
		ARG 1 context
		ARG 2 dropItemConsumer
