CLASS cpp net/minecraft/world/loot/function/CopyNbtLootFunction
	CLASS cpp$a Builder
		FIELD a source Lcpp$c;
		FIELD b operations Ljava/util/List;
		METHOD <init> (Lcpp$c;)V
			ARG 1 source
		METHOD a withOperation (Ljava/lang/String;Ljava/lang/String;)Lcpp$a;
			ARG 1 source
			ARG 2 target
		METHOD a withOperation (Ljava/lang/String;Ljava/lang/String;Lcpp$d;)Lcpp$a;
			ARG 1 source
			ARG 2 target
			ARG 3 operator
	CLASS cpp$b Operation
		FIELD a sourcePath Ljava/lang/String;
		FIELD b parsedSourcePath Lcr$h;
		FIELD c targetPath Ljava/lang/String;
		FIELD d parsedTargetPath Lcr$h;
		FIELD e operator Lcpp$d;
		METHOD <init> (Ljava/lang/String;Ljava/lang/String;Lcpp$d;)V
			ARG 1 source
			ARG 2 target
			ARG 3 operator
		METHOD a toJson ()Lcom/google/gson/JsonObject;
		METHOD a fromJson (Lcom/google/gson/JsonObject;)Lcpp$b;
			ARG 0 json
		METHOD a execute (Ljava/util/function/Supplier;Lis;)V
			ARG 1 itemTagTagGetter
			ARG 2 sourceEntityTag
	CLASS cpp$c Source
		FIELD e name Ljava/lang/String;
		FIELD f parameter Lcqm;
		FIELD g getter Ljava/util/function/Function;
		METHOD <init> (Ljava/lang/String;ILjava/lang/String;Lcqm;Ljava/util/function/Function;)V
			ARG 3 name
			ARG 4 parameter
			ARG 5 operator
		METHOD a (Lcqm;Ljava/util/function/Function;Lcoo;)Lis;
			ARG 2 context
		METHOD a get (Ljava/lang/String;)Lcpp$c;
			ARG 0 name
	CLASS cpp$d Operator
		CLASS cpp$d$2
			METHOD a (Lis;Lis;)V
				ARG 1 listTag
			METHOD a (Ljava/util/List;Lis;)V
				ARG 1 foundTag
		CLASS cpp$d$3
			METHOD a (Lis;Lis;)V
				ARG 1 compoundTag
			METHOD a (Ljava/util/List;Lis;)V
				ARG 1 foundTag
		FIELD a REPLACE Lcpp$d;
		FIELD b APPEND Lcpp$d;
		FIELD c MERGE Lcpp$d;
		FIELD d name Ljava/lang/String;
		METHOD <init> (Ljava/lang/String;ILjava/lang/String;)V
			ARG 3 name
		METHOD a merge (Lis;Lcr$h;Ljava/util/List;)V
			ARG 1 itemTag
			ARG 2 tragetPath
			ARG 3 sourceTags
		METHOD a get (Ljava/lang/String;)Lcpp$d;
			ARG 0 name
	CLASS cpp$e Factory
	FIELD a source Lcpp$c;
	FIELD c operations Ljava/util/List;
	FIELD d ENTITY_TAG_GETTER Ljava/util/function/Function;
	FIELD e BLOCK_ENTITY_TAG_GETTER Ljava/util/function/Function;
	METHOD <init> ([Lcra;Lcpp$c;Ljava/util/List;)V
		ARG 1 conditions
		ARG 2 source
		ARG 3 operations
	METHOD a (Lbcb;Lis;Lcpp$b;)V
		ARG 2 operation
	METHOD a (Lbtn;)Lis;
		ARG 0 blockEntity
	METHOD a builder (Lcpp$c;)Lcpp$a;
		ARG 0 source
	METHOD b parseNbtPath (Ljava/lang/String;)Lcr$h;
		ARG 0 nbtPath
