diff --git a/build.gradle.kts b/build.gradle.kts
index 0a876d2c9..486d5f862 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,6 +1,5 @@
 import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
 import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer
-import org.gradle.internal.os.OperatingSystem
 import java.text.SimpleDateFormat
 import java.util.*
 
@@ -11,8 +10,9 @@ plugins {
 }
 
 group = "net.minecraft"
-version = "7.2"
-val buildChannel = "STABLE"
+version = "7.3"
+val texturePackVersion = 3;
+val buildChannel = "DEVELOPMENT"
 
 run {
     val file = File("version.txt")
@@ -36,7 +36,15 @@ task("generateJava", Copy::class) {
     from("src/template/java")
     into("src/main/java")
     include("**/*.java")
-    expand(mapOf("version" to version, "buildTime" to SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date()), "buildChannel" to buildChannel))
+    expand(mapOf("version" to version, "buildTime" to SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date()), "buildChannel" to buildChannel, "packVersion" to texturePackVersion))
+}
+
+task("runRecipeGenerator", JavaExec::class) {
+    group = "bta"
+    mainClass.set("net.minecraft.datagen.RecipesGenerator")
+    classpath = sourceSets["main"].runtimeClasspath
+
+    args = listOf("--output", File(buildDir, "resources/common/recipes").toString())
 }
 
 tasks.withType(JavaCompile::class.java) {
@@ -52,7 +60,7 @@ tasks.withType(JavaCompile::class.java) {
 task("jarClient", ShadowJar::class) {
     group = "bta"
     configurations = listOf(clientInclude)
-    dependsOn(tasks["generateJava"])
+    dependsOn(tasks["generateJava"], tasks["runRecipeGenerator"])
 
     from(sourceSets["main"].output.classesDirs)
     from(sourceSets["main"].resources)
@@ -66,7 +74,7 @@ task("jarClient", ShadowJar::class) {
 task("jarServer", ShadowJar::class) {
     group = "bta"
     configurations = listOf(serverInclude)
-    dependsOn(tasks["generateJava"])
+    dependsOn(tasks["generateJava"], tasks["runRecipeGenerator"])
 
     from(sourceSets["main"].output.classesDirs)
     archiveFileName.set("bta-server.jar")
@@ -170,6 +178,7 @@ task("copyNatives", Copy::class) {
 }
 
 task("runServer", JavaExec::class) {
+    dependsOn(tasks["runRecipeGenerator"])
     val mpDir = File(workingDir, "mp")
     mpDir.mkdir()
     workingDir = mpDir
@@ -180,7 +189,7 @@ task("runServer", JavaExec::class) {
 }
 
 task("runClient", JavaExec::class) {
-    dependsOn(tasks["copyNatives"])
+    dependsOn(tasks["copyNatives"], tasks["runRecipeGenerator"])
     group = "bta"
     mainClass.set("net.minecraft.client.Minecraft")
     classpath = sourceSets["main"].runtimeClasspath
@@ -202,6 +211,33 @@ task("runColorizerGenerator", JavaExec::class) {
     systemProperty("java.library.path", layout.buildDirectory.dir("natives").get().asFile.absolutePath)
 }
 
+val createManifestFileTask = tasks.register("createManifestFileTask") {
+    group = "bta"
+    outputs.dir(temporaryDir)
+
+    doLast {
+        val resource = File(temporaryDir, "manifest.json")
+        resource.writeText(
+            "{\n" +
+                "    \"description\": {\n" +
+                "        \"name\": \"Default\",\n" +
+                "        \"line1\": \"The default look of Minecraft.\",\n" +
+                "        \"line2\": \"\",\n" +
+                "        \"packVersion\": \"$version\",\n" +
+                "        \"format\": $texturePackVersion\n" +
+                "    }\n" +
+                "}")
+    }
+}
+
+sourceSets {
+    main {
+        resources {
+            srcDir(createManifestFileTask.map { it.temporaryDir })
+        }
+    }
+}
+
 java {
     sourceCompatibility = JavaVersion.VERSION_1_8
     targetCompatibility = JavaVersion.VERSION_1_8
diff --git a/src/common/resources/manifest.json b/src/common/resources/manifest.json
deleted file mode 100644
index e1e1c6636..000000000
--- a/src/common/resources/manifest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-    "description": {
-        "name": "Default",
-        "line1": "The default look of Minecraft.",
-        "line2": "",
-        "packVersion": "7.1",
-        "format": 1
-    }
-}
\ No newline at end of file
diff --git a/src/common/resources/recipes/blast_furnace.json b/src/common/resources/recipes/blast_furnace.json
deleted file mode 100644
index 7c451a3d8..000000000
--- a/src/common/resources/recipes/blast_furnace.json
+++ /dev/null
@@ -1,253 +0,0 @@
-[
-  {
-    "name": "minecraft:blast_furnace/block_sugarcane_to_block_sugarcane_baked",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/block_sugarcane"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/block_sugarcane_baked"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/cactus_to_cactus_green",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cactus"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/dye",
-      "meta": 2
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/clay_to_brick_clay",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:item/clay"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/brick_clay"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/coal_ores_to_coal",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "group": "minecraft:coal_ores"
-    },
-    "output": {
-      "id": "minecraft:item/coal"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/cobble_basalt_to_olivine",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cobble_basalt"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/olivine"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/cobble_granite_to_quartz",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cobble_granite"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/quartz"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/cobble_limestone_to_marble",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cobble_limestone"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/marble"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/cobble_permafrost_to_permafrost",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cobble_permafrost"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/permafrost"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/cobble_stone_to_slate",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cobble_stone"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/slate"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/diamond_ores_to_diamond",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "group": "minecraft:diamond_ores"
-    },
-    "output": {
-      "id": "minecraft:item/diamond"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/gold_ores_to_gold_ingot",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "group": "minecraft:gold_ores"
-    },
-    "output": {
-      "id": "minecraft:item/ingot_gold"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/iron_ingot_to_crude_steel",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:item/ingot_iron"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/ingot_steel_crude"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/iron_ores_to_iron_ingot",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "group": "minecraft:iron_ores"
-    },
-    "output": {
-      "id": "minecraft:item/ingot_iron"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/lapis_ores_to_lapis_lazuli",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "group": "minecraft:lapis_ores"
-    },
-    "output": {
-      "id": "minecraft:item/dye",
-      "meta": 4
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/logs_to_charcoal",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "group": "minecraft:logs"
-    },
-    "output": {
-      "id": "minecraft:item/coal",
-      "meta": 1
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/mud_to_baked_mud",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/mud"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/mud_baked"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/nethercoal_ores_to_nethercoal",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "group": "minecraft:nethercoal_ores"
-    },
-    "output": {
-      "id": "minecraft:item/nethercoal"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/raw_gold_to_gold_ingot",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:item/ore_raw_gold"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/ingot_gold"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/raw_iron_to_iron_ingot",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:item/ore_raw_iron"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/ingot_iron"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/redstone_ores_to_redstone_dust",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "group": "minecraft:redstone_ores"
-    },
-    "output": {
-      "id": "minecraft:item/dust_redstone"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/sand_to_glass",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/sand"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/glass"
-    }
-  },
-  {
-    "name": "minecraft:blast_furnace/sponge_wet_to_sponge_dry",
-    "type": "minecraft:smelting/blast",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/sponge_wet"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/sponge_dry"
-    }
-  }
-]
\ No newline at end of file
diff --git a/src/common/resources/recipes/furnace.json b/src/common/resources/recipes/furnace.json
deleted file mode 100644
index dce4d83cd..000000000
--- a/src/common/resources/recipes/furnace.json
+++ /dev/null
@@ -1,277 +0,0 @@
-[
-  {
-    "name": "minecraft:furnace/block_sugarcane_to_block_sugarcane_baked",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/block_sugarcane"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/block_sugarcane_baked"
-    }
-  },
-  {
-    "name": "minecraft:furnace/cactus_to_cactus_green",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cactus"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/dye",
-      "meta": 2
-    }
-  },
-  {
-    "name": "minecraft:furnace/clay_to_brick_clay",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:item/clay"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/brick_clay"
-    }
-  },
-  {
-    "name": "minecraft:furnace/coal_ores_to_coal",
-    "type": "minecraft:smelting",
-    "input": {
-      "group": "minecraft:coal_ores"
-    },
-    "output": {
-      "id": "minecraft:item/coal"
-    }
-  },
-  {
-    "name": "minecraft:furnace/cobble_basalt_to_basalt",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cobble_basalt"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/basalt"
-    }
-  },
-  {
-    "name": "minecraft:furnace/cobble_granite_to_granite",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cobble_granite"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/granite"
-    }
-  },
-  {
-    "name": "minecraft:furnace/cobble_limestone_to_limestone",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cobble_limestone"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/limestone"
-    }
-  },
-  {
-    "name": "minecraft:furnace/cobble_netherrack_to_netherrack",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cobble_netherrack"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/netherrack"
-    }
-  },
-  {
-    "name": "minecraft:furnace/cobble_permafrost_to_permafrost",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cobble_permafrost"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/permafrost"
-    }
-  },
-  {
-    "name": "minecraft:furnace/cobble_stone_to_stone",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/cobble_stone"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/stone"
-    }
-  },
-  {
-    "name": "minecraft:furnace/diamond_ores_to_diamond",
-    "type": "minecraft:smelting",
-    "input": {
-      "group": "minecraft:diamond_ores"
-    },
-    "output": {
-      "id": "minecraft:item/diamond"
-    }
-  },
-  {
-    "name": "minecraft:furnace/fish_raw_to_fish_cooked",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:item/food_fish_raw"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/food_fish_cooked"
-    }
-  },
-  {
-    "name": "minecraft:furnace/gold_ores_to_gold_ingot",
-    "type": "minecraft:smelting",
-    "input": {
-      "group": "minecraft:gold_ores"
-    },
-    "output": {
-      "id": "minecraft:item/ingot_gold"
-    }
-  },
-  {
-    "name": "minecraft:furnace/iron_ores_to_iron_ingot",
-    "type": "minecraft:smelting",
-    "input": {
-      "group": "minecraft:iron_ores"
-    },
-    "output": {
-      "id": "minecraft:item/ingot_iron"
-    }
-  },
-  {
-    "name": "minecraft:furnace/lapis_ores_to_lapis_lazuli",
-    "type": "minecraft:smelting",
-    "input": {
-      "group": "minecraft:lapis_ores"
-    },
-    "output": {
-      "id": "minecraft:item/dye",
-      "meta": 4
-    }
-  },
-  {
-    "name": "minecraft:furnace/logs_to_charcoal",
-    "type": "minecraft:smelting",
-    "input": {
-      "group": "minecraft:logs"
-    },
-    "output": {
-      "id": "minecraft:item/coal",
-      "meta": 1
-    }
-  },
-  {
-    "name": "minecraft:furnace/mud_to_baked_mud",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/mud"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/mud_baked"
-    }
-  },
-  {
-    "name": "minecraft:furnace/nethercoal_ores_to_nethercoal",
-    "type": "minecraft:smelting",
-    "input": {
-      "group": "minecraft:nethercoal_ores"
-    },
-    "output": {
-      "id": "minecraft:item/nethercoal"
-    }
-  },
-  {
-    "name": "minecraft:furnace/porkchop_raw_to_porkchop_cooked",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:item/food_porkchop_raw"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/food_porkchop_cooked"
-    }
-  },
-  {
-    "name": "minecraft:furnace/raw_gold_to_gold_ingot",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:item/ore_raw_gold"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/ingot_gold"
-    }
-  },
-  {
-    "name": "minecraft:furnace/raw_iron_to_iron_ingot",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:item/ore_raw_iron"
-      }
-    },
-    "output": {
-      "id": "minecraft:item/ingot_iron"
-    }
-  },
-  {
-    "name": "minecraft:furnace/redstone_ores_to_redstone_dust",
-    "type": "minecraft:smelting",
-    "input": {
-      "group": "minecraft:redstone_ores"
-    },
-    "output": {
-      "id": "minecraft:item/dust_redstone"
-    }
-  },
-  {
-    "name": "minecraft:furnace/sand_to_glass",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/sand"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/glass"
-    }
-  },
-  {
-    "name": "minecraft:furnace/sponge_wet_to_sponge_dry",
-    "type": "minecraft:smelting",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/sponge_wet"
-      }
-    },
-    "output": {
-      "id": "minecraft:block/sponge_dry"
-    }
-  }
-]
\ No newline at end of file
diff --git a/src/common/resources/recipes/trommel.json b/src/common/resources/recipes/trommel.json
deleted file mode 100644
index a36fe4a57..000000000
--- a/src/common/resources/recipes/trommel.json
+++ /dev/null
@@ -1,573 +0,0 @@
-[
-  {
-    "name": "minecraft:trommel/clay",
-    "type": "minecraft:trommeling",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/block_clay"
-      }
-    },
-    "outputs": [
-      {
-        "weight": 30.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 4,
-            "max": 8
-          },
-          "stack": {
-            "id": "minecraft:item/clay"
-          }
-        }
-      },
-      {
-        "weight": 20.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 3
-          },
-          "stack": {
-            "id": "minecraft:item/ammo_pebble"
-          }
-        }
-      },
-      {
-        "weight": 10.0,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/sulphur"
-          }
-        }
-      },
-      {
-        "weight": 1.0,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/ore_raw_gold"
-          }
-        }
-      }
-    ]
-  },
-  {
-    "name": "minecraft:trommel/dirt",
-    "type": "minecraft:trommeling",
-    "input": {
-      "group": "minecraft:trommel_dirt"
-    },
-    "outputs": [
-      {
-        "weight": 50.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 3
-          },
-          "stack": {
-            "id": "minecraft:item/ammo_pebble"
-          }
-        }
-      },
-      {
-        "weight": 20.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 5
-          },
-          "stack": {
-            "id": "minecraft:item/clay"
-          }
-        }
-      },
-      {
-        "weight": 10.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 3
-          },
-          "stack": {
-            "id": "minecraft:item/flint"
-          }
-        }
-      },
-      {
-        "weight": 2.0,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/sulphur"
-          }
-        }
-      },
-      {
-        "weight": 0.5,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/ore_raw_iron"
-          }
-        }
-      },
-      {
-        "weight": 0.25,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/olivine"
-          }
-        }
-      },
-      {
-        "weight": 0.25,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/quartz"
-          }
-        }
-      }
-    ]
-  },
-  {
-    "name": "minecraft:trommel/gravel",
-    "type": "minecraft:trommeling",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/gravel"
-      }
-    },
-    "outputs": [
-      {
-        "weight": 25.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 2
-          },
-          "stack": {
-            "id": "minecraft:item/flint"
-          }
-        }
-      },
-      {
-        "weight": 30.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 3
-          },
-          "stack": {
-            "id": "minecraft:item/olivine"
-          }
-        }
-      },
-      {
-        "weight": 25.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 6
-          },
-          "stack": {
-            "id": "minecraft:item/ammo_pebble"
-          }
-        }
-      },
-      {
-        "weight": 10.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 2
-          },
-          "stack": {
-            "id": "minecraft:item/ore_raw_iron"
-          }
-        }
-      },
-      {
-        "weight": 5.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 2,
-            "max": 6
-          },
-          "stack": {
-            "id": "minecraft:item/dye",
-            "meta": 4
-          }
-        }
-      },
-      {
-        "weight": 5.0,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/sulphur"
-          }
-        }
-      },
-      {
-        "weight": 0.5,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/quartz"
-          }
-        }
-      }
-    ]
-  },
-  {
-    "name": "minecraft:trommel/rich_dirt",
-    "type": "minecraft:trommeling",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/dirt_scorched_rich"
-      }
-    },
-    "outputs": [
-      {
-        "weight": 10.0,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/ore_raw_gold"
-          }
-        }
-      },
-      {
-        "weight": 15.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 2
-          },
-          "stack": {
-            "id": "minecraft:item/ore_raw_iron"
-          }
-        }
-      },
-      {
-        "weight": 25.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 4
-          },
-          "stack": {
-            "id": "minecraft:item/quartz"
-          }
-        }
-      },
-      {
-        "weight": 25.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 4
-          },
-          "stack": {
-            "id": "minecraft:item/olivine"
-          }
-        }
-      },
-      {
-        "weight": 20.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 2,
-            "max": 4
-          },
-          "stack": {
-            "id": "minecraft:item/dye",
-            "meta": 4
-          }
-        }
-      },
-      {
-        "weight": 10.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 4,
-            "max": 8
-          },
-          "stack": {
-            "id": "minecraft:item/clay"
-          }
-        }
-      },
-      {
-        "weight": 5.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 5
-          },
-          "stack": {
-            "id": "minecraft:item/ammo_pebble"
-          }
-        }
-      }
-    ]
-  },
-  {
-    "name": "minecraft:trommel/sand",
-    "type": "minecraft:trommeling",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/sand"
-      }
-    },
-    "outputs": [
-      {
-        "weight": 50.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 3
-          },
-          "stack": {
-            "id": "minecraft:item/quartz"
-          }
-        }
-      },
-      {
-        "weight": 30.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 4,
-            "max": 8
-          },
-          "stack": {
-            "id": "minecraft:item/clay"
-          }
-        }
-      },
-      {
-        "weight": 25.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 5
-          },
-          "stack": {
-            "id": "minecraft:item/ammo_pebble"
-          }
-        }
-      },
-      {
-        "weight": 10.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 3
-          },
-          "stack": {
-            "id": "minecraft:item/bone"
-          }
-        }
-      },
-      {
-        "weight": 10.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 3
-          },
-          "stack": {
-            "id": "minecraft:item/flint"
-          }
-        }
-      },
-      {
-        "weight": 5.0,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/sulphur"
-          }
-        }
-      },
-      {
-        "weight": 5.0,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/olivine"
-          }
-        }
-      },
-      {
-        "weight": 1.0,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/ore_raw_gold"
-          }
-        }
-      }
-    ]
-  },
-  {
-    "name": "minecraft:trommel/soul_sand",
-    "type": "minecraft:trommeling",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/soulsand"
-      }
-    },
-    "outputs": [
-      {
-        "weight": 20.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 3
-          },
-          "stack": {
-            "id": "minecraft:item/flint"
-          }
-        }
-      },
-      {
-        "weight": 10.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 6
-          },
-          "stack": {
-            "id": "minecraft:item/bone"
-          }
-        }
-      },
-      {
-        "weight": 2.0,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/ore_raw_gold"
-          }
-        }
-      },
-      {
-        "weight": 1.0,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/ore_raw_iron"
-          }
-        }
-      },
-      {
-        "weight": 5.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 6
-          },
-          "stack": {
-            "id": "minecraft:item/dust_glowstone"
-          }
-        }
-      },
-      {
-        "weight": 5.0,
-        "loot": {
-          "random": true,
-          "yield": {
-            "min": 1,
-            "max": 3
-          },
-          "stack": {
-            "id": "minecraft:item/quartz"
-          }
-        }
-      },
-      {
-        "weight": 0.5,
-        "loot": {
-          "random": false,
-          "yield": {
-            "fixed": 1
-          },
-          "stack": {
-            "id": "minecraft:item/nethercoal"
-          }
-        }
-      }
-    ]
-  }
-]
\ No newline at end of file
diff --git a/src/common/resources/recipes/workbench.json b/src/common/resources/recipes/workbench.json
deleted file mode 100644
index fe756eaa0..000000000
--- a/src/common/resources/recipes/workbench.json
+++ /dev/null
@@ -1,10206 +0,0 @@
-[
-  {
-    "name": "minecraft:workbench/arrow",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "T",
-      "I",
-      "V"
-    ],
-    "symbols": [
-      {
-        "symbol": "T",
-        "stack": {
-          "id": "minecraft:item/flint"
-        }
-      },
-      {
-        "symbol": "I",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "V",
-        "stack": {
-          "id": "minecraft:item/feather_chicken"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/ammo_arrow",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/basalt_brick_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_basalt"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_brick_basalt",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/basalt_brick_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_basalt"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_brick_basalt",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/basalt_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/basalt"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_basalt",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/basalt_to_polished_basalt",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/basalt"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/basalt_polished",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/basket",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/leather"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/wheat"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/basket"
-    }
-  },
-  {
-    "name": "minecraft:workbench/bed",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "CCW",
-      "PPP"
-    ],
-    "symbols": [
-      {
-        "symbol": "C",
-        "stack": {
-          "id": "minecraft:item/cloth"
-        }
-      },
-      {
-        "symbol": "W",
-        "group": "minecraft:wools"
-      },
-      {
-        "symbol": "P",
-        "group": "minecraft:planks"
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/bed"
-    }
-  },
-  {
-    "name": "minecraft:workbench/birch_log_to_white_wooden_planks",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/log_birch"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_dye_gray_dye_gray_dye_to_light_gray_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 8
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 8
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 3,
-      "meta": 7
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_dye_white_dye_to_gray_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye"
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 15
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 240
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 240
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 15
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 15
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 240
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 15
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 240
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 240
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 240
-    }
-  },
-  {
-    "name": "minecraft:workbench/black_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 15
-    }
-  },
-  {
-    "name": "minecraft:workbench/blank_label",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "PI",
-      "S "
-    ],
-    "symbols": [
-      {
-        "symbol": "P",
-        "stack": {
-          "id": "minecraft:item/paper"
-        }
-      },
-      {
-        "symbol": "I",
-        "stack": {
-          "id": "minecraft:item/dye"
-        }
-      },
-      {
-        "symbol": "S",
-        "stack": {
-          "id": "minecraft:item/string"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/label"
-    }
-  },
-  {
-    "name": "minecraft:workbench/blast_furnace",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###",
-      "#X#",
-      "###"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/nethercoal"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/furnace_blast_idle"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_charcoal",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/coal",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_charcoal"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_charcoal_to_charcoal",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/block_charcoal"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/coal",
-      "amount": 8,
-      "meta": 1
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_coal",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/coal"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_coal"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_coal_to_coal",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/block_coal"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/coal",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_diamond",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/diamond"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_diamond"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_diamond_to_diamond",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/block_diamond"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/diamond",
-      "amount": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_gold",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_gold"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_gold_to_gold_ingot",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/block_gold"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/ingot_gold",
-      "amount": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_iron",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_iron"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_iron_to_iron_ingot",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/block_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/ingot_iron",
-      "amount": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_lapis_lazuli",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_lapis"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_lapis_lazuli_to_lapis_lazuli",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/block_lapis"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 9,
-      "meta": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_nethercoal",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/nethercoal"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_nethercoal"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_nethercoal_to_nethercoal",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/block_nethercoal"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/nethercoal",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_olivine",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/olivine"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_olivine"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_olivine_to_olivine",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/block_olivine"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/olivine",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_quartz",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/quartz"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_quartz"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_quartz_to_quartz",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/block_quartz"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/quartz",
-      "amount": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_redstone",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_redstone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_redstone_to_redstone",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/block_redstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dust_redstone",
-      "amount": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_steel",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_steel_to_steel_ingot",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/block_steel"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/ingot_steel",
-      "amount": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/block_of_sugarcane",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/sugarcane"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_sugarcane"
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_dye_green_dye_to_cyan_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 4
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 2
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_dye_red_dye_pink_dye_to_magenta_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 4
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 1
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 3,
-      "meta": 13
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_dye_red_dye_red_dye_white_dye_to_magenta_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 4
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 1
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 1
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 4,
-      "meta": 13
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_dye_red_dye_to_purple_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 4
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 5
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_dye_white_dye_to_light_blue_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 4
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 12
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 11
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 176
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 11
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 176
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 11
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 11
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 11
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 11
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 176
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 11
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 11
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 176
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 11
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 176
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 11
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 176
-    }
-  },
-  {
-    "name": "minecraft:workbench/blue_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 11
-    }
-  },
-  {
-    "name": "minecraft:workbench/boat",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "# #",
-      "###"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "group": "minecraft:planks"
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/boat"
-    }
-  },
-  {
-    "name": "minecraft:workbench/bone_to_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/bone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 3,
-      "meta": 15
-    }
-  },
-  {
-    "name": "minecraft:workbench/book_horizontal",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/paper"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/book"
-    }
-  },
-  {
-    "name": "minecraft:workbench/book_vertical",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#",
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/paper"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/book"
-    }
-  },
-  {
-    "name": "minecraft:workbench/bookshelf",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###",
-      "XXX",
-      "###"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/book"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/bookshelf_planks_oak"
-    }
-  },
-  {
-    "name": "minecraft:workbench/bow",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      " #X",
-      "# X",
-      " #X"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/string"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_bow"
-    }
-  },
-  {
-    "name": "minecraft:workbench/bowl",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "# #",
-      " # "
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "group": "minecraft:planks"
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/bowl"
-    }
-  },
-  {
-    "name": "minecraft:workbench/brazier",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/cobble_netherrack"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brazier_inactive"
-    }
-  },
-  {
-    "name": "minecraft:workbench/bread",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/wheat"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/food_bread"
-    }
-  },
-  {
-    "name": "minecraft:workbench/brick_permafrost_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_permafrost"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_brick_permafrost",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/brick_permafrost_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_permafrost"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_brick_permafrost",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/brick_sandstone_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_sandstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_brick_sandstone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/brick_sandstone_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_sandstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_brick_sandstone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/brown_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 3
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 12
-    }
-  },
-  {
-    "name": "minecraft:workbench/brown_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 3
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 192
-    }
-  },
-  {
-    "name": "minecraft:workbench/brown_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 12
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 192
-    }
-  },
-  {
-    "name": "minecraft:workbench/brown_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 12
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 3
-    }
-  },
-  {
-    "name": "minecraft:workbench/brown_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 12
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 12
-    }
-  },
-  {
-    "name": "minecraft:workbench/brown_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 12
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 192
-    }
-  },
-  {
-    "name": "minecraft:workbench/brown_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 3
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 12
-    }
-  },
-  {
-    "name": "minecraft:workbench/brown_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 12
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 192
-    }
-  },
-  {
-    "name": "minecraft:workbench/brown_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 12
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 192
-    }
-  },
-  {
-    "name": "minecraft:workbench/brown_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 12
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 192
-    }
-  },
-  {
-    "name": "minecraft:workbench/brown_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 3
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 12
-    }
-  },
-  {
-    "name": "minecraft:workbench/bucket",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "# #",
-      " # "
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/bucket"
-    }
-  },
-  {
-    "name": "minecraft:workbench/cake",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "AAA",
-      "BEB",
-      "CCC"
-    ],
-    "symbols": [
-      {
-        "symbol": "A",
-        "stack": {
-          "id": "minecraft:item/bucket_milk"
-        }
-      },
-      {
-        "symbol": "B",
-        "stack": {
-          "id": "minecraft:item/dust_sugar"
-        }
-      },
-      {
-        "symbol": "E",
-        "stack": {
-          "id": "minecraft:item/egg_chicken"
-        }
-      },
-      {
-        "symbol": "C",
-        "stack": {
-          "id": "minecraft:item/wheat"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/food_cake"
-    }
-  },
-  {
-    "name": "minecraft:workbench/carve_pumpkin_sword",
-    "type": "minecraft:crafting/uses_tool",
-    "input": {
-      "stack": {
-        "id": "minecraft:block/pumpkin"
-      }
-    },
-    "tool": {
-      "group": "minecraft:tool_swords"
-    },
-    "output": {
-      "id": "minecraft:block/pumpkin_carved_idle"
-    }
-  },
-  {
-    "name": "minecraft:workbench/carved_pumpkin_to_jack_o_lantern",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/pumpkin_carved_idle"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/torch_coal"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/pumpkin_carved_active"
-    }
-  },
-  {
-    "name": "minecraft:workbench/carved_pumpkin_to_redstone_jack_o_lantern",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/pumpkin_carved_idle"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/torch_redstone_active"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/pumpkin_redstone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/chainlink_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/chainlink"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_chainlink",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/cherry_log_to_pink_wooden_planks",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/log_cherry"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 4,
-      "meta": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/chests_undyeing",
-    "type": "minecraft:crafting/undyeing",
-    "input": {
-      "group": "minecraft:chests"
-    },
-    "output": {
-      "id": "minecraft:block/chest_planks_oak",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/clay_block",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "##",
-      "##"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/clay"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_clay"
-    }
-  },
-  {
-    "name": "minecraft:workbench/clay_brick_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_clay"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_brick_clay",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/clay_brick_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_clay"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_brick_clay",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/clay_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/brick_clay"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_clay",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/clock",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      " X ",
-      "X#X",
-      " X "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_clock"
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobbled_basalt_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_basalt"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_cobble_basalt",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobbled_basalt_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_basalt"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_cobble_basalt",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobbled_granite_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_granite"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_cobble_granite",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobbled_granite_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_granite"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_cobble_granite",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobbled_limestone_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_limestone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_cobble_limestone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobbled_limestone_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_limestone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_cobble_limestone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobbled_netherrack_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_netherrack"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_cobble_netherrack",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobbled_netherrack_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_netherrack"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_cobble_netherrack",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobbled_permafrost_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_permafrost"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_cobble_permafrost",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobbled_permafrost_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_permafrost"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_cobble_permafrost",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobbled_stone_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_stone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_cobble_stone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobblestone_lever",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "S",
-      "C"
-    ],
-    "symbols": [
-      {
-        "symbol": "S",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "C",
-        "group": "minecraft:cobblestones"
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lever_cobble_stone",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobblestone_pressure_plate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "##"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "group": "minecraft:cobblestones"
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/pressure_plate_cobble_stone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobblestone_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/cobble_stone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_cobble_stone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cobweb",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/string"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/cobweb"
-    }
-  },
-  {
-    "name": "minecraft:workbench/compass",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      " X ",
-      "X#X",
-      " X "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_compass"
-    }
-  },
-  {
-    "name": "minecraft:workbench/cookie",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/wheat"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 3
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/food_cookie",
-      "amount": 16
-    }
-  },
-  {
-    "name": "minecraft:workbench/crude_steel_to_steel_ingot",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ingot_steel_crude"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/ingot_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/cyan_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 6
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/cyan_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 6
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 144
-    }
-  },
-  {
-    "name": "minecraft:workbench/cyan_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 144
-    }
-  },
-  {
-    "name": "minecraft:workbench/cyan_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/cyan_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 9
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/cyan_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 144
-    }
-  },
-  {
-    "name": "minecraft:workbench/cyan_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 6
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/cyan_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 144
-    }
-  },
-  {
-    "name": "minecraft:workbench/cyan_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 144
-    }
-  },
-  {
-    "name": "minecraft:workbench/cyan_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 144
-    }
-  },
-  {
-    "name": "minecraft:workbench/cyan_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 6
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/detector_rail",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "X#X",
-      "XRX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/pressure_plate_stone"
-        }
-      },
-      {
-        "symbol": "R",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/rail_detector",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/diamond_axe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "X#",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/diamond"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_axe_diamond"
-    }
-  },
-  {
-    "name": "minecraft:workbench/diamond_boots",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/diamond"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_boots_diamond"
-    }
-  },
-  {
-    "name": "minecraft:workbench/diamond_chestplate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/diamond"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_chestplate_diamond"
-    }
-  },
-  {
-    "name": "minecraft:workbench/diamond_helmet",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/diamond"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_helmet_diamond"
-    }
-  },
-  {
-    "name": "minecraft:workbench/diamond_hoe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      " #",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/diamond"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_hoe_diamond"
-    }
-  },
-  {
-    "name": "minecraft:workbench/diamond_leggings",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/diamond"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_leggings_diamond"
-    }
-  },
-  {
-    "name": "minecraft:workbench/diamond_pickaxe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      " # ",
-      " # "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/diamond"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_pickaxe_diamond"
-    }
-  },
-  {
-    "name": "minecraft:workbench/diamond_shovel",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/diamond"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_shovel_diamond"
-    }
-  },
-  {
-    "name": "minecraft:workbench/diamond_sword",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/diamond"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_sword_diamond"
-    }
-  },
-  {
-    "name": "minecraft:workbench/dispenser",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###",
-      "#B#",
-      "#R#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "group": "minecraft:cobblestones"
-      },
-      {
-        "symbol": "B",
-        "stack": {
-          "id": "minecraft:item/tool_bow"
-        }
-      },
-      {
-        "symbol": "R",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/dispenser_cobble_stone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/eucalyptus_log_to_orange_wooden_planks",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/log_eucalyptus"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 4,
-      "meta": 1
-    }
-  },
-  {
-    "name": "minecraft:workbench/explosive_charge",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      " S ",
-      "#X#",
-      " # "
-    ],
-    "symbols": [
-      {
-        "symbol": "S",
-        "stack": {
-          "id": "minecraft:item/string"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/sulphur"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/ammo_charge_explosive",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/fence_gates_planks_undyeing",
-    "type": "minecraft:crafting/undyeing",
-    "input": {
-      "group": "minecraft:fence_gates_planks"
-    },
-    "output": {
-      "id": "minecraft:block/fence_gate_planks_oak",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/fences_planks_undyeing",
-    "type": "minecraft:crafting/undyeing",
-    "input": {
-      "group": "minecraft:fences_planks"
-    },
-    "output": {
-      "id": "minecraft:block/fence_planks_oak",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/fire_striker",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/flint"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_firestriker_iron"
-    }
-  },
-  {
-    "name": "minecraft:workbench/fishing_rod",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "  #",
-      " #S",
-      "# S"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "S",
-        "stack": {
-          "id": "minecraft:item/string"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_fishingrod"
-    }
-  },
-  {
-    "name": "minecraft:workbench/flag",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#XX",
-      "#XX",
-      "#  "
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/cloth"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/flag"
-    }
-  },
-  {
-    "name": "minecraft:workbench/flower_lightblue_to_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/flower_light_blue"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 12
-    }
-  },
-  {
-    "name": "minecraft:workbench/flower_orange_to_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/flower_orange"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 14
-    }
-  },
-  {
-    "name": "minecraft:workbench/flower_pink_to_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/flower_pink"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/flower_purple_to_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/flower_purple"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 5
-    }
-  },
-  {
-    "name": "minecraft:workbench/flower_red_to_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/flower_red"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 1
-    }
-  },
-  {
-    "name": "minecraft:workbench/flower_yellow_to_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/flower_yellow"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 11
-    }
-  },
-  {
-    "name": "minecraft:workbench/furnace",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###",
-      "# #",
-      "###"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "group": "minecraft:cobblestones"
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/furnace_stone_idle"
-    }
-  },
-  {
-    "name": "minecraft:workbench/glass_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/glass"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_glass",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/glass_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/glass"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_glass",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/glowstone",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "##",
-      "##"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/dust_glowstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/glowstone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_apple",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X#X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/block_gold"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/food_apple"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/food_apple_gold"
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_arrow",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      " X ",
-      "X#X",
-      " X "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ammo_arrow"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/ammo_arrow_gold",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_axe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "X#",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_axe_gold"
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_boots",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_boots_gold"
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_gold",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_chestplate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_chestplate_gold"
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_helmet",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_helmet_gold"
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_hoe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      " #",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_hoe_gold"
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_leggings",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_leggings_gold"
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_pickaxe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      " # ",
-      " # "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_pickaxe_gold"
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_shovel",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_shovel_gold"
-    }
-  },
-  {
-    "name": "minecraft:workbench/golden_sword",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_sword_gold"
-    }
-  },
-  {
-    "name": "minecraft:workbench/granite_brick_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_granite"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_brick_granite",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/granite_brick_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_granite"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_brick_granite",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/granite_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/granite"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_granite",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/granite_to_polished_granite",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/granite"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/granite_polished",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/gravel_from_flint_and_pebbles",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "FPF",
-      "PFP",
-      "FPF"
-    ],
-    "symbols": [
-      {
-        "symbol": "F",
-        "stack": {
-          "id": "minecraft:item/flint"
-        }
-      },
-      {
-        "symbol": "P",
-        "stack": {
-          "id": "minecraft:item/ammo_pebble"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/gravel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_dye_white_dye_to_light_gray_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 8
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 7
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 8
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 7
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 8
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 112
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 7
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 112
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 7
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 7
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 7
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 7
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 112
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 8
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 7
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 7
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 112
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 7
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 112
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 7
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 112
-    }
-  },
-  {
-    "name": "minecraft:workbench/gray_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 8
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 7
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_dye_white_dye_to_lime_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 2
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 10
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 2
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 13
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 2
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 208
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 13
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 208
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 13
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 13
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 13
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 13
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 208
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 2
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 13
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 13
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 208
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 13
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 208
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 13
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 208
-    }
-  },
-  {
-    "name": "minecraft:workbench/green_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 2
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 13
-    }
-  },
-  {
-    "name": "minecraft:workbench/hand_cannon",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "#X ",
-      " #O"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:logs"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      },
-      {
-        "symbol": "O",
-        "stack": {
-          "id": "minecraft:item/tool_bow"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/handcannon_unloaded"
-    }
-  },
-  {
-    "name": "minecraft:workbench/ice_cream_bucket",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      " Y ",
-      "#O#",
-      " X "
-    ],
-    "symbols": [
-      {
-        "symbol": "Y",
-        "stack": {
-          "id": "minecraft:item/food_cherry"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ammo_snowball"
-        }
-      },
-      {
-        "symbol": "O",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 3
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/bucket"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/bucket_icecream"
-    },
-    "consumeContainers": true
-  },
-  {
-    "name": "minecraft:workbench/iron_axe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "X#",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_axe_iron"
-    }
-  },
-  {
-    "name": "minecraft:workbench/iron_boots",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_boots_iron"
-    }
-  },
-  {
-    "name": "minecraft:workbench/iron_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_iron",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/iron_chestplate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_chestplate_iron"
-    }
-  },
-  {
-    "name": "minecraft:workbench/iron_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_iron",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/iron_helmet",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_helmet_iron"
-    }
-  },
-  {
-    "name": "minecraft:workbench/iron_hoe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      " #",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_hoe_iron"
-    }
-  },
-  {
-    "name": "minecraft:workbench/iron_leggings",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_leggings_iron"
-    }
-  },
-  {
-    "name": "minecraft:workbench/iron_pickaxe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      " # ",
-      " # "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_pickaxe_iron"
-    }
-  },
-  {
-    "name": "minecraft:workbench/iron_shovel",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_shovel_iron"
-    }
-  },
-  {
-    "name": "minecraft:workbench/iron_sword",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_sword_iron"
-    }
-  },
-  {
-    "name": "minecraft:workbench/iron_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_iron",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/jar",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "# #",
-      " # "
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/glass"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/jar",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/jukebox",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###",
-      "#D#",
-      "###"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/diamond"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/jukebox"
-    }
-  },
-  {
-    "name": "minecraft:workbench/ladder",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "XXX",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/ladder_oak",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/lamp",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###",
-      "#O#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/glass"
-        }
-      },
-      {
-        "symbol": "O",
-        "stack": {
-          "id": "minecraft:item/quartz"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/lamps_undyeing",
-    "type": "minecraft:crafting/undyeing",
-    "input": {
-      "group": "minecraft:lamps"
-    },
-    "output": {
-      "id": "minecraft:block/lamp_idle",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/lapis_lazuli_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_lapis",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/leather_boots",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/leather"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_boots_leather"
-    }
-  },
-  {
-    "name": "minecraft:workbench/leather_chestplate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/leather"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_chestplate_leather"
-    }
-  },
-  {
-    "name": "minecraft:workbench/leather_helmet",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/leather"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_helmet_leather"
-    }
-  },
-  {
-    "name": "minecraft:workbench/leather_leggings",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/leather"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_leggings_leather"
-    }
-  },
-  {
-    "name": "minecraft:workbench/lightblue_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 12
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 3
-    }
-  },
-  {
-    "name": "minecraft:workbench/lightblue_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 12
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 48
-    }
-  },
-  {
-    "name": "minecraft:workbench/lightblue_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 3
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 48
-    }
-  },
-  {
-    "name": "minecraft:workbench/lightblue_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 3
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 12
-    }
-  },
-  {
-    "name": "minecraft:workbench/lightblue_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 3
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 3
-    }
-  },
-  {
-    "name": "minecraft:workbench/lightblue_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 3
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 48
-    }
-  },
-  {
-    "name": "minecraft:workbench/lightblue_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 12
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 3
-    }
-  },
-  {
-    "name": "minecraft:workbench/lightblue_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 3
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 48
-    }
-  },
-  {
-    "name": "minecraft:workbench/lightblue_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 3
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 48
-    }
-  },
-  {
-    "name": "minecraft:workbench/lightblue_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 3
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 48
-    }
-  },
-  {
-    "name": "minecraft:workbench/lightblue_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 12
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 3
-    }
-  },
-  {
-    "name": "minecraft:workbench/lime_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 10
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 5
-    }
-  },
-  {
-    "name": "minecraft:workbench/lime_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 10
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 80
-    }
-  },
-  {
-    "name": "minecraft:workbench/lime_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 5
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 80
-    }
-  },
-  {
-    "name": "minecraft:workbench/lime_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 5
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 10
-    }
-  },
-  {
-    "name": "minecraft:workbench/lime_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 5
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 5
-    }
-  },
-  {
-    "name": "minecraft:workbench/lime_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 5
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 80
-    }
-  },
-  {
-    "name": "minecraft:workbench/lime_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 10
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 5
-    }
-  },
-  {
-    "name": "minecraft:workbench/lime_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 5
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 80
-    }
-  },
-  {
-    "name": "minecraft:workbench/lime_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 5
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 80
-    }
-  },
-  {
-    "name": "minecraft:workbench/lime_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 5
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 80
-    }
-  },
-  {
-    "name": "minecraft:workbench/lime_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 10
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 5
-    }
-  },
-  {
-    "name": "minecraft:workbench/limestone_brick_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_limestone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_brick_limestone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/limestone_brick_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_limestone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_brick_limestone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/limestone_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/limestone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_limestone",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/limestone_to_polished_limestone",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/limestone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/limestone_polished",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/magenta_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 13
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/magenta_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 13
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 32
-    }
-  },
-  {
-    "name": "minecraft:workbench/magenta_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 2
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 32
-    }
-  },
-  {
-    "name": "minecraft:workbench/magenta_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 2
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 13
-    }
-  },
-  {
-    "name": "minecraft:workbench/magenta_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 2
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/magenta_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 2
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 32
-    }
-  },
-  {
-    "name": "minecraft:workbench/magenta_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 13
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/magenta_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 2
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 32
-    }
-  },
-  {
-    "name": "minecraft:workbench/magenta_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 2
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 32
-    }
-  },
-  {
-    "name": "minecraft:workbench/magenta_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 2
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 32
-    }
-  },
-  {
-    "name": "minecraft:workbench/magenta_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 13
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/map",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###",
-      "###",
-      "###"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/paper"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/map"
-    }
-  },
-  {
-    "name": "minecraft:workbench/marble_brick_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_marble"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_brick_marble",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/marble_brick_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_marble"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_brick_marble",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/marble_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/marble"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_marble",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/marble_pillar",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/marble"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/pillar_marble",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/marble_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/marble"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_capstone_marble",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/mesh",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/mesh",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/mesh_gold",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/mesh_gold",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/minecart",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "# #",
-      "###"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/minecart"
-    }
-  },
-  {
-    "name": "minecraft:workbench/minecart_with_chest",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "A",
-      "B"
-    ],
-    "symbols": [
-      {
-        "symbol": "A",
-        "group": "minecraft:chests"
-      },
-      {
-        "symbol": "B",
-        "stack": {
-          "id": "minecraft:item/minecart"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/minecart_chest"
-    }
-  },
-  {
-    "name": "minecraft:workbench/minecart_with_furnace",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "A",
-      "B"
-    ],
-    "symbols": [
-      {
-        "symbol": "A",
-        "stack": {
-          "id": "minecraft:block/furnace_stone_idle"
-        }
-      },
-      {
-        "symbol": "B",
-        "stack": {
-          "id": "minecraft:item/minecart"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/minecart_furnace"
-    }
-  },
-  {
-    "name": "minecraft:workbench/mossy_oak_log_to_green_wooden_planks",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/log_oak_mossy"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 4,
-      "meta": 13
-    }
-  },
-  {
-    "name": "minecraft:workbench/mushroom_stew",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/bowl"
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:block/mushroom_brown"
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:block/mushroom_red"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/food_stew_mushroom"
-    }
-  },
-  {
-    "name": "minecraft:workbench/netherrack_brick_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_netherrack"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_brick_netherrack",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/netherrack_brick_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_netherrack"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_brick_netherrack",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/netherrack_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/netherrack"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_netherrack",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/netherrack_to_polished_netherrack",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/netherrack"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/netherrack_polished",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/note_block",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XRX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "R",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/noteblock"
-    }
-  },
-  {
-    "name": "minecraft:workbench/oak_leaves_to_leaf_pile",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/leaves_oak"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/layer_leaves_oak",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/oak_log_to_wooden_planks",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/log_oak"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/orange_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 14
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 1
-    }
-  },
-  {
-    "name": "minecraft:workbench/orange_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 14
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 16
-    }
-  },
-  {
-    "name": "minecraft:workbench/orange_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 16
-    }
-  },
-  {
-    "name": "minecraft:workbench/orange_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 14
-    }
-  },
-  {
-    "name": "minecraft:workbench/orange_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 1
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 1
-    }
-  },
-  {
-    "name": "minecraft:workbench/orange_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 16
-    }
-  },
-  {
-    "name": "minecraft:workbench/orange_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 14
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 1
-    }
-  },
-  {
-    "name": "minecraft:workbench/orange_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 16
-    }
-  },
-  {
-    "name": "minecraft:workbench/orange_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 16
-    }
-  },
-  {
-    "name": "minecraft:workbench/orange_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 16
-    }
-  },
-  {
-    "name": "minecraft:workbench/orange_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 14
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 1
-    }
-  },
-  {
-    "name": "minecraft:workbench/paintbrush",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "Y",
-      "Z"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/feather_chicken"
-        }
-      },
-      {
-        "symbol": "Y",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "Z",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/paintbrush",
-      "meta": 64
-    }
-  },
-  {
-    "name": "minecraft:workbench/painting",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XWX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "W",
-        "group": "minecraft:wools"
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/painting"
-    }
-  },
-  {
-    "name": "minecraft:workbench/palm_log_to_yellow_wooden_planks",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/log_palm"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 4,
-      "meta": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/paper",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/sugarcane"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/paper",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/paper_wall",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X",
-      "X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/paper"
-        }
-      },
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/paper_wall",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/paper_wall_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/paper_wall"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_paper_wall",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/pebbles_to_basalt",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X",
-      "X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ammo_pebble"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/coal"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/cobble_basalt",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/pebbles_to_cobblestone",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "##",
-      "##"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ammo_pebble"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/cobble_stone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/pebbles_to_granite",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X",
-      "X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ammo_pebble"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/quartz"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/cobble_granite",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/pebbles_to_limestone",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X",
-      "X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ammo_pebble"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/sand"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/cobble_limestone",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/perma_ice",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X",
-      "X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/permafrost"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/ice"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/permaice",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/permafrost_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/permafrost"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_permafrost",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/permafrost_to_polished_permafrost",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/permafrost"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/permafrost_polished",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/pine_log_to_brown_wooden_planks",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/log_pine"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 4,
-      "meta": 12
-    }
-  },
-  {
-    "name": "minecraft:workbench/pink_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/pink_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 96
-    }
-  },
-  {
-    "name": "minecraft:workbench/pink_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 6
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 96
-    }
-  },
-  {
-    "name": "minecraft:workbench/pink_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 6
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/pink_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 6
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/pink_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 6
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 96
-    }
-  },
-  {
-    "name": "minecraft:workbench/pink_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/pink_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 6
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 96
-    }
-  },
-  {
-    "name": "minecraft:workbench/pink_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 6
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 96
-    }
-  },
-  {
-    "name": "minecraft:workbench/pink_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 6
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 96
-    }
-  },
-  {
-    "name": "minecraft:workbench/pink_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/piston",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "#I#",
-      "#R#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "#",
-        "group": "minecraft:cobblestones"
-      },
-      {
-        "symbol": "I",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "R",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/piston_base"
-    }
-  },
-  {
-    "name": "minecraft:workbench/planks_undyeing",
-    "type": "minecraft:crafting/undyeing",
-    "input": {
-      "group": "minecraft:planks"
-    },
-    "output": {
-      "id": "minecraft:block/planks_oak",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/polished_basalt_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/basalt_polished"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_basalt_carved",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/polished_granite_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/granite_polished"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_granite_carved",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/polished_limestone_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/limestone_polished"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_limestone_carved",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/polished_netherrack_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/netherrack_polished"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_netherrack_polished",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/polished_permafrost_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/permafrost_polished"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_permafrost_polished",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/polished_stone_brick_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_stone_polished"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_brick_stone_polished",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/polished_stone_brick_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_stone_polished"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_brick_stone_polished",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/polished_stone_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/stone_polished"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_stone_polished",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/polished_stone_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/stone_polished"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_stone_polished",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/powered_rail",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "X#X",
-      "XRX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_gold"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "R",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/rail_powered",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/pumpkin_pie",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "AAA",
-      "BEB",
-      "CCC"
-    ],
-    "symbols": [
-      {
-        "symbol": "A",
-        "stack": {
-          "id": "minecraft:item/bucket_milk"
-        }
-      },
-      {
-        "symbol": "B",
-        "stack": {
-          "id": "minecraft:item/dust_sugar"
-        }
-      },
-      {
-        "symbol": "E",
-        "stack": {
-          "id": "minecraft:block/pumpkin"
-        }
-      },
-      {
-        "symbol": "C",
-        "stack": {
-          "id": "minecraft:item/wheat"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/food_pumpkin_pie"
-    }
-  },
-  {
-    "name": "minecraft:workbench/pumpkin_to_pumpkin_seeds",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/pumpkin"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/seeds_pumpkin",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_dye_pink_dye_to_magenta_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 5
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 9
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 13
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 5
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 10
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 5
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 160
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 10
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 160
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 10
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 5
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 10
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 10
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 10
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 160
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 5
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 10
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 10
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 160
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 10
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 160
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 10
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 160
-    }
-  },
-  {
-    "name": "minecraft:workbench/purple_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 5
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 10
-    }
-  },
-  {
-    "name": "minecraft:workbench/quiver",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#OO",
-      "#XX",
-      " XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/string"
-        }
-      },
-      {
-        "symbol": "O",
-        "stack": {
-          "id": "minecraft:item/cloth"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/leather"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_quiver"
-    }
-  },
-  {
-    "name": "minecraft:workbench/rail",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "X#X",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/rail",
-      "amount": 16
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_dye_white_dye_to_pink_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 1
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 9
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_dye_yellow_dye_to_orange_dye",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 1
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 11
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dye",
-      "amount": 2,
-      "meta": 14
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 14
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 224
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 14
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 224
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 14
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 1
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 14
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 14
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 14
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 224
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 14
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 14
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 224
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 14
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 224
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 14
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 224
-    }
-  },
-  {
-    "name": "minecraft:workbench/red_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 1
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 14
-    }
-  },
-  {
-    "name": "minecraft:workbench/redstone_repeater",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "III"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      },
-      {
-        "symbol": "I",
-        "group": "minecraft:stones"
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/repeater"
-    }
-  },
-  {
-    "name": "minecraft:workbench/redstone_torch",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/torch_redstone_active"
-    }
-  },
-  {
-    "name": "minecraft:workbench/repair_chainmail_boots",
-    "type": "minecraft:crafting/repairable",
-    "input": {
-      "id": "minecraft:item/armor_boots_chainmail"
-    },
-    "repairMaterial": {
-      "stack": {
-        "id": "minecraft:item/chainlink"
-      }
-    }
-  },
-  {
-    "name": "minecraft:workbench/repair_chainmail_chestplate",
-    "type": "minecraft:crafting/repairable",
-    "input": {
-      "id": "minecraft:item/armor_chestplate_chainmail"
-    },
-    "repairMaterial": {
-      "stack": {
-        "id": "minecraft:item/chainlink"
-      }
-    }
-  },
-  {
-    "name": "minecraft:workbench/repair_chainmail_helmet",
-    "type": "minecraft:crafting/repairable",
-    "input": {
-      "id": "minecraft:item/armor_helmet_chainmail"
-    },
-    "repairMaterial": {
-      "stack": {
-        "id": "minecraft:item/chainlink"
-      }
-    }
-  },
-  {
-    "name": "minecraft:workbench/repair_chainmail_leggings",
-    "type": "minecraft:crafting/repairable",
-    "input": {
-      "id": "minecraft:item/armor_leggings_chainmail"
-    },
-    "repairMaterial": {
-      "stack": {
-        "id": "minecraft:item/chainlink"
-      }
-    }
-  },
-  {
-    "name": "minecraft:workbench/rope",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/string"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/rope",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/rotary_calendar",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      " X ",
-      "X#X",
-      " X "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_calendar"
-    }
-  },
-  {
-    "name": "minecraft:workbench/sandstone",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "##",
-      "##"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/sand"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/sandstone",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/sandstone_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/sandstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_sandstone",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/sandstone_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/sandstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_sandstone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/sandstone_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/sandstone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_sandstone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/scrap_chainmail_boots",
-    "type": "minecraft:crafting/scrap",
-    "input": {
-      "id": "minecraft:item/armor_boots_chainmail"
-    },
-    "output": {
-      "id": "minecraft:item/chainlink"
-    },
-    "maxYield": 4
-  },
-  {
-    "name": "minecraft:workbench/scrap_chainmail_chestplate",
-    "type": "minecraft:crafting/scrap",
-    "input": {
-      "id": "minecraft:item/armor_chestplate_chainmail"
-    },
-    "output": {
-      "id": "minecraft:item/chainlink"
-    },
-    "maxYield": 4
-  },
-  {
-    "name": "minecraft:workbench/scrap_chainmail_helmet",
-    "type": "minecraft:crafting/scrap",
-    "input": {
-      "id": "minecraft:item/armor_helmet_chainmail"
-    },
-    "output": {
-      "id": "minecraft:item/chainlink"
-    },
-    "maxYield": 4
-  },
-  {
-    "name": "minecraft:workbench/scrap_chainmail_leggings",
-    "type": "minecraft:crafting/scrap",
-    "input": {
-      "id": "minecraft:item/armor_leggings_chainmail"
-    },
-    "output": {
-      "id": "minecraft:item/chainlink"
-    },
-    "maxYield": 4
-  },
-  {
-    "name": "minecraft:workbench/seat",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "###",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/cloth"
-        }
-      },
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/seat"
-    }
-  },
-  {
-    "name": "minecraft:workbench/shears",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      " X",
-      "X "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_shears"
-    }
-  },
-  {
-    "name": "minecraft:workbench/sign",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX",
-      " # "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/sign",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/silver_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 7
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/silver_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 7
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 128
-    }
-  },
-  {
-    "name": "minecraft:workbench/silver_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 8
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 128
-    }
-  },
-  {
-    "name": "minecraft:workbench/silver_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 8
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 7
-    }
-  },
-  {
-    "name": "minecraft:workbench/silver_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 8
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/silver_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 8
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 128
-    }
-  },
-  {
-    "name": "minecraft:workbench/silver_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 7
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/silver_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 8
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 128
-    }
-  },
-  {
-    "name": "minecraft:workbench/silver_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 8
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 128
-    }
-  },
-  {
-    "name": "minecraft:workbench/silver_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 8
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 128
-    }
-  },
-  {
-    "name": "minecraft:workbench/silver_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 7
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/slabs_planks_undyeing",
-    "type": "minecraft:crafting/undyeing",
-    "input": {
-      "group": "minecraft:slabs_planks"
-    },
-    "output": {
-      "id": "minecraft:block/slab_planks_oak",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/slate_brick_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_slate"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_brick_slate",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/slate_brick_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_slate"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_brick_slate",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/slate_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/slate"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_slate",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/slate_to_polished_slate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/slate"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slate_polished",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/slate_to_slate_layers",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/slate"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/layer_slate",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/snow_block",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "##",
-      "##"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ammo_snowball"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/block_snow"
-    }
-  },
-  {
-    "name": "minecraft:workbench/snowballs_to_snow_layer",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "##"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ammo_snowball"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/layer_snow",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/spikes",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      " # ",
-      "#X#",
-      "YYY"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/ingot_iron"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/dust_redstone"
-        }
-      },
-      {
-        "symbol": "Y",
-        "group": "minecraft:cobblestones"
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/spikes",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/sponge_to_wet_sponge",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/sponge_dry"
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/bucket_water"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/sponge_wet"
-    }
-  },
-  {
-    "name": "minecraft:workbench/stairs_planks_undyeing",
-    "type": "minecraft:crafting/undyeing",
-    "input": {
-      "group": "minecraft:stairs_planks"
-    },
-    "output": {
-      "id": "minecraft:block/stairs_planks_oak",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_axe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "X#",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_axe_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_boots",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_boots_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_chestplate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X X",
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_chestplate_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_steel",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_fire_striker",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/flint"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_firestriker_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_glass",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X",
-      "X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/glass"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/glass_steel",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_helmet",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_helmet_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_hoe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      " #",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_hoe_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_leggings",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "X X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/armor_leggings_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_pickaxe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      " # ",
-      " # "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_pickaxe_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_shears",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      " X",
-      "X "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_shears_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_shovel",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_shovel_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_sword",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_sword_steel"
-    }
-  },
-  {
-    "name": "minecraft:workbench/steel_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/ingot_steel"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_steel",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/stick",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/stick",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/sticky_piston",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "S",
-      "P"
-    ],
-    "symbols": [
-      {
-        "symbol": "S",
-        "stack": {
-          "id": "minecraft:item/slimeball"
-        }
-      },
-      {
-        "symbol": "P",
-        "stack": {
-          "id": "minecraft:block/piston_base"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/piston_base_sticky"
-    }
-  },
-  {
-    "name": "minecraft:workbench/stone_axe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "X#",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:cobblestones"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_axe_stone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/stone_brick_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_stone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_brick_stone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/stone_brick_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/brick_stone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_brick_stone",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/stone_bricks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/stone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/brick_stone",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/stone_button",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:stones"
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/button_stone",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/stone_hoe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      " #",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:cobblestones"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_hoe_stone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/stone_pickaxe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      " # ",
-      " # "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:cobblestones"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_pickaxe_stone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/stone_pressure_plate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "##"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/stone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/pressure_plate_stone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/stone_shovel",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:cobblestones"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_shovel_tone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/stone_sword",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:cobblestones"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_sword_stone"
-    }
-  },
-  {
-    "name": "minecraft:workbench/stone_to_polished_stone",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/stone"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stone_polished",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/string_to_wool",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "##",
-      "##"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/string"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool"
-    }
-  },
-  {
-    "name": "minecraft:workbench/sugar_cane_to_sugar",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:item/sugarcane"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/dust_sugar",
-      "amount": 3
-    }
-  },
-  {
-    "name": "minecraft:workbench/thorn_log_to_red_wooden_planks",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "stack": {
-          "id": "minecraft:block/log_thorn"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 4,
-      "meta": 14
-    }
-  },
-  {
-    "name": "minecraft:workbench/tinted_glass",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X",
-      "X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/glass"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/olivine"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/glass_tinted",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/tnt",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "#X#",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/sulphur"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:block/sand"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/tnt"
-    }
-  },
-  {
-    "name": "minecraft:workbench/torch_charcoal",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/coal",
-          "meta": 1
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/torch_coal",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/torch_coal",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/coal"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/torch_coal",
-      "amount": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/torch_nethercoal",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:item/nethercoal"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/torch_coal",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/trapdoor_planks_undyeing",
-    "type": "minecraft:crafting/undyeing",
-    "input": {
-      "group": "minecraft:trapdoor_planks"
-    },
-    "output": {
-      "id": "minecraft:block/trapdoor_planks_oak",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/trommel",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "CCC",
-      "CMC",
-      "LLL"
-    ],
-    "symbols": [
-      {
-        "symbol": "C",
-        "group": "minecraft:cobblestones"
-      },
-      {
-        "symbol": "M",
-        "stack": {
-          "id": "minecraft:block/mesh"
-        }
-      },
-      {
-        "symbol": "L",
-        "group": "minecraft:logs"
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trommel_idle"
-    }
-  },
-  {
-    "name": "minecraft:workbench/white_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle"
-    }
-  },
-  {
-    "name": "minecraft:workbench/white_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted"
-    }
-  },
-  {
-    "name": "minecraft:workbench/white_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted"
-    }
-  },
-  {
-    "name": "minecraft:workbench/white_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 15
-    }
-  },
-  {
-    "name": "minecraft:workbench/white_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/white_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3
-    }
-  },
-  {
-    "name": "minecraft:workbench/white_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/white_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/white_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/white_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/white_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 15
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool"
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_axe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "X#",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_axe_wood"
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_chest",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak"
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak",
-      "amount": 2
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak"
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak",
-      "amount": 3
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_hoe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      " #",
-      " #"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_hoe_wood"
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_pickaxe",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      " # ",
-      " # "
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_pickaxe_wood"
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_pressure_plate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "##"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "group": "minecraft:planks"
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/pressure_plate_planks_oak"
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_shovel",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "#",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_shovel_wood"
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_sword",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X",
-      "X",
-      "#"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/tool_sword_wood"
-    }
-  },
-  {
-    "name": "minecraft:workbench/wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak",
-      "amount": 6
-    }
-  },
-  {
-    "name": "minecraft:workbench/wools_undyeing",
-    "type": "minecraft:crafting/undyeing",
-    "input": {
-      "group": "minecraft:wools"
-    },
-    "output": {
-      "id": "minecraft:block/wool",
-      "amount": 8
-    }
-  },
-  {
-    "name": "minecraft:workbench/workbench",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "##",
-      "##"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "group": "minecraft:planks"
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/workbench"
-    }
-  },
-  {
-    "name": "minecraft:workbench/yellow_lamp_convert",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:lamps"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 11
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/lamp_idle",
-      "meta": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/yellow_wooden_chest_from_chest",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:chests"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 11
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 64
-    }
-  },
-  {
-    "name": "minecraft:workbench/yellow_wooden_chest_from_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "X X",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/chest_planks_oak_painted",
-      "meta": 64
-    }
-  },
-  {
-    "name": "minecraft:workbench/yellow_wooden_door",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XX",
-      "XX",
-      "XX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:item/door_oak_painted",
-      "amount": 2,
-      "meta": 11
-    }
-  },
-  {
-    "name": "minecraft:workbench/yellow_wooden_fence",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X#X",
-      "X#X"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 4
-        }
-      },
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_planks_oak_painted",
-      "amount": 6,
-      "meta": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/yellow_wooden_fence_gate",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "#X#",
-      "#X#"
-    ],
-    "symbols": [
-      {
-        "symbol": "#",
-        "stack": {
-          "id": "minecraft:item/stick"
-        }
-      },
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/fence_gate_planks_oak_painted",
-      "amount": 3,
-      "meta": 64
-    }
-  },
-  {
-    "name": "minecraft:workbench/yellow_wooden_planks",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XDX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "group": "minecraft:planks"
-      },
-      {
-        "symbol": "D",
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 11
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/planks_oak_painted",
-      "amount": 8,
-      "meta": 4
-    }
-  },
-  {
-    "name": "minecraft:workbench/yellow_wooden_slab",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/slab_planks_oak_painted",
-      "amount": 6,
-      "meta": 64
-    }
-  },
-  {
-    "name": "minecraft:workbench/yellow_wooden_stairs",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "X  ",
-      "XX ",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/stairs_planks_oak_painted",
-      "amount": 6,
-      "meta": 64
-    }
-  },
-  {
-    "name": "minecraft:workbench/yellow_wooden_trapdoor",
-    "type": "minecraft:crafting/shaped",
-    "pattern": [
-      "XXX",
-      "XXX"
-    ],
-    "symbols": [
-      {
-        "symbol": "X",
-        "stack": {
-          "id": "minecraft:block/planks_oak_painted",
-          "meta": 4
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/trapdoor_planks_oak_painted",
-      "amount": 6,
-      "meta": 64
-    }
-  },
-  {
-    "name": "minecraft:workbench/yellow_wool",
-    "type": "minecraft:crafting/shapeless",
-    "inputs": [
-      {
-        "group": "minecraft:wools"
-      },
-      {
-        "stack": {
-          "id": "minecraft:item/dye",
-          "meta": 11
-        }
-      }
-    ],
-    "result": {
-      "id": "minecraft:block/wool",
-      "meta": 4
-    }
-  }
-]
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/client/gui/guidebook/crafting/displays/UndyeDisplayAdapter.java b/src/main/java/net/minecraft/client/gui/guidebook/crafting/displays/UndyeDisplayAdapter.java
index bc8b8a0dd..8cf1d64a5 100644
--- a/src/main/java/net/minecraft/client/gui/guidebook/crafting/displays/UndyeDisplayAdapter.java
+++ b/src/main/java/net/minecraft/client/gui/guidebook/crafting/displays/UndyeDisplayAdapter.java
@@ -4,6 +4,7 @@ import net.minecraft.client.gui.guidebook.GuidebookSlot;
 import net.minecraft.core.block.Blocks;
 import net.minecraft.core.data.registry.recipe.RecipeSymbol;
 import net.minecraft.core.data.registry.recipe.entry.RecipeEntryUndyeing;
+import net.minecraft.core.item.ItemStack;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -25,7 +26,7 @@ public class UndyeDisplayAdapter implements RecipeDisplayAdapter<RecipeEntryUndy
         }
 
         int centerY = (recipeSlots.get(recipeSlots.size()-1).y + recipeSlots.get(recipeSlots.size()-8).y) / 2;
-        recipeSlots.add(new GuidebookSlot(slotsAmount - 1, 81 + xOffset, centerY, new RecipeSymbol(recipe.output.copy()), false,recipe).setAsOutput());
+        recipeSlots.add(new GuidebookSlot(slotsAmount - 1, 81 + xOffset, centerY, new RecipeSymbol(new ItemStack(recipe.output.getItem(), 8, recipe.output.getMetadata())), false,recipe).setAsOutput());
 
 
         return recipeSlots;
diff --git a/src/main/java/net/minecraft/client/gui/options/OptionsScreen.java b/src/main/java/net/minecraft/client/gui/options/OptionsScreen.java
index 8df1f345e..329332f54 100644
--- a/src/main/java/net/minecraft/client/gui/options/OptionsScreen.java
+++ b/src/main/java/net/minecraft/client/gui/options/OptionsScreen.java
@@ -94,6 +94,7 @@ public class OptionsScreen
 
         if (eventKey == Keyboard.KEY_ESCAPE)
         {
+            mc.texturePackList.refreshIfReady(); // Sets the texturepacks on menu close
             mc.displayScreen(getParentScreen());
         }
         else
diff --git a/src/main/java/net/minecraft/client/render/entity/ArmoredZombieRenderer.java b/src/main/java/net/minecraft/client/render/entity/ArmoredZombieRenderer.java
index eaf652b09..6058284fb 100644
--- a/src/main/java/net/minecraft/client/render/entity/ArmoredZombieRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/ArmoredZombieRenderer.java
@@ -17,7 +17,8 @@ public class ArmoredZombieRenderer extends BipedRenderer<ZombieArmoredMob>
         modelArmor = new ZombieModel(0.5F);
     }
 
-    protected boolean setArmorModel(ZombieArmoredMob zombie, int renderPass, float partialTick)
+    @Override
+    protected boolean prepareArmor(ZombieArmoredMob zombie, int renderPass, float partialTick)
     {
         bindTexture("/assets/minecraft/textures/armor/chain" + "_" + (renderPass != 2 ? 1 : 2) + ".png");
         ZombieModel model = renderPass != 2 ? modelArmorChestplate : modelArmor;
@@ -44,12 +45,6 @@ public class ArmoredZombieRenderer extends BipedRenderer<ZombieArmoredMob>
         return true;
     }
 
-    @Override
-    protected boolean prepareArmor(ZombieArmoredMob zombie, int renderPass, float partialTick)
-    {
-        return setArmorModel(zombie, renderPass, partialTick);
-    }
-
     private void hideArmorPiece(int piece)
     {
         if (piece == 0)
diff --git a/src/main/java/net/minecraft/client/render/entity/MinecartRenderer.java b/src/main/java/net/minecraft/client/render/entity/MinecartRenderer.java
index 46e873873..9f035a6ca 100644
--- a/src/main/java/net/minecraft/client/render/entity/MinecartRenderer.java
+++ b/src/main/java/net/minecraft/client/render/entity/MinecartRenderer.java
@@ -6,6 +6,7 @@ import net.minecraft.client.render.model.BaseModel;
 import net.minecraft.client.render.model.MinecartModel;
 import net.minecraft.client.render.texture.stitcher.TextureRegistry;
 import net.minecraft.client.render.tessellator.Tessellator;
+import net.minecraft.core.block.Block;
 import net.minecraft.core.block.Blocks;
 import net.minecraft.core.Global;
 import net.minecraft.core.entity.vehicle.MinecartEntity;
@@ -96,7 +97,13 @@ public class MinecartRenderer extends EntityRenderer<MinecartEntity> {
             }
             switch (minecart.type){
                 case MinecartEntity.CHEST_CART:
-                    BlockModelDispatcher.getInstance().getDispatch(Blocks.CHEST_PLANKS_OAK).renderBlockOnInventory(tessellator, 0, brightness, null);
+                    Block block;
+                    if ((minecart.typeMeta & 0b0000_0001) != 0) {
+                        block = Blocks.CHEST_PLANKS_OAK_PAINTED;
+                    } else {
+                        block = Blocks.CHEST_PLANKS_OAK;
+                    }
+                    BlockModelDispatcher.getInstance().getDispatch(block).renderBlockOnInventory(tessellator, minecart.typeMeta, brightness, null);
                     break;
                 case MinecartEntity.FURNACE_CART:
                     if (minecart.fuel > 0) {
diff --git a/src/main/java/net/minecraft/client/render/item/model/StandardItemModel.java b/src/main/java/net/minecraft/client/render/item/model/StandardItemModel.java
index 568cf2247..699ee6cbc 100644
--- a/src/main/java/net/minecraft/client/render/item/model/StandardItemModel.java
+++ b/src/main/java/net/minecraft/client/render/item/model/StandardItemModel.java
@@ -273,7 +273,7 @@ public class StandardItemModel extends ItemModel{
         float vDiff = vMin - vMax;
         final float width = 1.0F;
 
-        final float foon = (0.5f / 512);
+        final float foon = (0.5f / tex.parentAtlas.getHeight());
         final float goon = 0.0625f * (16.0f / tileWidth);
         GL11.glEnable(GL12.GL_RESCALE_NORMAL);
         final float thickness = 0.0625f;
diff --git a/src/main/java/net/minecraft/core/BuildChannel.java b/src/main/java/net/minecraft/core/BuildChannel.java
index 066c404b9..ea4e79ceb 100644
--- a/src/main/java/net/minecraft/core/BuildChannel.java
+++ b/src/main/java/net/minecraft/core/BuildChannel.java
@@ -3,6 +3,7 @@ package net.minecraft.core;
 public enum BuildChannel {
     STABLE,
     PRERELEASE,
+    DEVELOPMENT,
     NIGHTLY;
 
     public boolean isUnstableBuild() {
@@ -12,6 +13,8 @@ public enum BuildChannel {
     public String modifyVersionString(String version) {
         if (this == STABLE || this == PRERELEASE) {
             return version;
+        } else if (this == DEVELOPMENT) {
+            return version + " INDEV";
         } else {
             // Camel case channel name
             String channel = this.name().toLowerCase();
diff --git a/src/main/java/net/minecraft/core/Global.java b/src/main/java/net/minecraft/core/Global.java
index 0acd8a3fc..2dd5c42b9 100644
--- a/src/main/java/net/minecraft/core/Global.java
+++ b/src/main/java/net/minecraft/core/Global.java
@@ -11,7 +11,7 @@ public class Global
 	public static final int CURRENT_CHUNK_VERSION = 2;
 	public static boolean isServer = false;
 	public static final boolean DISABLE_OLD_WORLDS = false;
-	public static final int TEXTURE_PACK_FORMAT = 1;
+	public static final int TEXTURE_PACK_FORMAT = Version.TEXTURE_PACK_VERSION;
 	public static final boolean NET_DEBUG = false;
 	public static MinecraftAccessor accessor;
 
diff --git a/src/main/java/net/minecraft/core/block/entity/JukeboxBlockEntity.java b/src/main/java/net/minecraft/core/block/entity/JukeboxBlockEntity.java
index 819537f2b..311a622a6 100644
--- a/src/main/java/net/minecraft/core/block/entity/JukeboxBlockEntity.java
+++ b/src/main/java/net/minecraft/core/block/entity/JukeboxBlockEntity.java
@@ -8,12 +8,13 @@ import net.minecraft.core.block.Block;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.ItemEntity;
 import net.minecraft.core.item.ItemStack;
+import net.minecraft.core.world.LevelListener;
 import net.minecraft.core.world.World;
 import net.minecraft.core.world.save.conversion.ChunkConverter;
 import com.mojang.nbt.CompoundTag;
 
 public class JukeboxBlockEntity extends BlockEntity {
-
+    public int record;
     public JukeboxBlockEntity() {
     }
 
@@ -45,21 +46,19 @@ public class JukeboxBlockEntity extends BlockEntity {
     @Override
     public void dropContents(World world, int x, int y, int z) {
         if (record != 0) {
-            world.playSoundEffect(1005, x, y, z, 0);
-            world.playRecord(null, null, x, y, z);
-            record = 0;
-            setChanged();
-            world.setBlockMetadataWithNotify(x, y, z, 0);
-            int i1 = record;
             float f = 0.7F;
             double d = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
             double d1 = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.2D + 0.6D;
             double d2 = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D;
-            ItemEntity entityitem = new ItemEntity(world, (double) x + d, (double) y + d1, (double) z + d2, new ItemStack(i1, 1, 0));
-            entityitem.pickupDelay = 10;
-            world.entityJoinedWorld(entityitem);
+            ItemEntity item = new ItemEntity(world, (double) x + d, (double) y + d1, (double) z + d2, new ItemStack(record, 1, 0));
+            item.pickupDelay = 10;
+            world.entityJoinedWorld(item);
+
+            world.playSoundEffect(LevelListener.EVENT_JUKEBOX_TOGGLE, x, y, z, 0);
+            world.playRecord(null, null, x, y, z);
+            record = 0;
+            setChanged();
+            world.setBlockMetadataWithNotify(x, y, z, 0);
         }
     }
-
-    public int record;
 }
diff --git a/src/main/java/net/minecraft/core/data/registry/recipe/entry/RecipeEntryUndyeing.java b/src/main/java/net/minecraft/core/data/registry/recipe/entry/RecipeEntryUndyeing.java
index 31b322fbd..8653a6d12 100644
--- a/src/main/java/net/minecraft/core/data/registry/recipe/entry/RecipeEntryUndyeing.java
+++ b/src/main/java/net/minecraft/core/data/registry/recipe/entry/RecipeEntryUndyeing.java
@@ -29,20 +29,20 @@ public class RecipeEntryUndyeing extends RecipeEntryCraftingDynamic implements H
 
     @Override
     public boolean matches(CraftingContainer craftingContainer) {
-        if (craftingContainer.getContainerSize() < 9) return false;
+        boolean hasSponge = false;
+        boolean hasItem = false;
         for (int i = 0; i < 9; i++) {
-            if (i == 4) {
-                ItemStack stack = craftingContainer.getItem(i);
-                if (stack == null || stack.getItem() != Blocks.SPONGE_WET.asItem()) {
-                    return false;
-                }
-            } else {
-               if (!inputSymbol.matches(craftingContainer.getItem(i))) {
-                   return false;
-               }
+            ItemStack stack = craftingContainer.getItem(i);
+            if (stack != null && stack.getItem() == Blocks.SPONGE_WET.asItem()) {
+                if (hasSponge) return false;
+                hasSponge = true;
+            } else if (stack != null && !inputSymbol.matches(stack)) {
+                return false;
+            } else if (inputSymbol.matches(stack)) {
+                hasItem = true;
             }
         }
-        return true;
+        return hasSponge && hasItem;
     }
 
     @Override
@@ -127,12 +127,20 @@ public class RecipeEntryUndyeing extends RecipeEntryCraftingDynamic implements H
 
     @Override
     public ItemStack getCraftingResult(CraftingContainer craftingContainer) {
-        return new ItemStack(output);
+        int items = 0;
+        for (int i = 0; i < craftingContainer.getContainerSize(); i++) {
+            ItemStack itemstack1 = craftingContainer.getItem(i);
+            if (itemstack1 == null || itemstack1.getItem() == Blocks.SPONGE_WET.asItem()) {
+                continue;
+            }
+            items++;
+        }
+        return new ItemStack(output.getItem(), items, output.getMetadata());
     }
 
     @Override
     public int getRecipeSize() {
-        return 9;
+        return 2;
     }
 
     @Override
@@ -140,12 +148,10 @@ public class RecipeEntryUndyeing extends RecipeEntryCraftingDynamic implements H
         ItemStack[] returnStack = new ItemStack[9];
         for (int i = 0; i < craftingContainer.getContainerSize(); i++) {
             ItemStack itemstack1 = craftingContainer.getItem(i);
-            if (itemstack1 == null) {
+            if (itemstack1 == null || itemstack1.getItem() == Blocks.SPONGE_WET.asItem()) {
                 continue;
             }
-            if (i != 4) {
-                craftingContainer.removeItem(i, 1);
-            }
+            craftingContainer.removeItem(i, 1);
         }
         return returnStack;
     }
diff --git a/src/main/java/net/minecraft/core/entity/Entity.java b/src/main/java/net/minecraft/core/entity/Entity.java
index 62350c855..f72982319 100644
--- a/src/main/java/net/minecraft/core/entity/Entity.java
+++ b/src/main/java/net/minecraft/core/entity/Entity.java
@@ -114,7 +114,7 @@ public abstract class Entity
     public Entity(World world) {
         this.world = world;
         setPos(0.0D, 0.0D, 0.0D);
-        entityData.define(DATA_SHARED_FLAGS_ID, (byte) 0);
+        entityData.define(DATA_SHARED_FLAGS_ID, (byte) 0, Byte.class);
         defineSynchedData();
     }
 
diff --git a/src/main/java/net/minecraft/core/entity/FishingBobberEntity.java b/src/main/java/net/minecraft/core/entity/FishingBobberEntity.java
index 2238e1ee1..8c02a1a67 100644
--- a/src/main/java/net/minecraft/core/entity/FishingBobberEntity.java
+++ b/src/main/java/net/minecraft/core/entity/FishingBobberEntity.java
@@ -79,7 +79,7 @@ public class FishingBobberEntity extends Entity
     @Override
 	protected void defineSynchedData()
     {
-        entityData.define(ID_BOBBER_BITFIELD, (byte)0);
+        entityData.define(ID_BOBBER_BITFIELD, (byte)0, Byte.class);
     }
 
     public boolean isInGround() {
diff --git a/src/main/java/net/minecraft/core/entity/Mob.java b/src/main/java/net/minecraft/core/entity/Mob.java
index 98992f22b..8d83f3675 100644
--- a/src/main/java/net/minecraft/core/entity/Mob.java
+++ b/src/main/java/net/minecraft/core/entity/Mob.java
@@ -144,8 +144,8 @@ public abstract class Mob extends Entity
         footSize = 0.5F;
 
         int variant = random.nextInt(0xFF);
-        entityData.define(DATA_VARIANT, (byte) variant);
-        entityData.define(DATA_HEALTH, getMaxHealth());
+        entityData.define(DATA_VARIANT, (byte) variant, Byte.class);
+        entityData.define(DATA_HEALTH, getMaxHealth(), Integer.class);
         setSkinVariant(variant);
 
         speed = 0.1f;
diff --git a/src/main/java/net/minecraft/core/entity/PaintingEntity.java b/src/main/java/net/minecraft/core/entity/PaintingEntity.java
index af730d430..25efce7e9 100644
--- a/src/main/java/net/minecraft/core/entity/PaintingEntity.java
+++ b/src/main/java/net/minecraft/core/entity/PaintingEntity.java
@@ -62,8 +62,8 @@ public class PaintingEntity extends Entity
     @Override
     protected void defineSynchedData()
     {
-        entityData.define(DATA_ITEM_ID, (short)0);
-        entityData.define(DATA_ITEM_METADATA_ID, (byte)0);
+        entityData.define(DATA_ITEM_ID, (short)0, Short.class);
+        entityData.define(DATA_ITEM_METADATA_ID, (byte)0, Byte.class);
     }
 
     public void setDirection(int direction)
diff --git a/src/main/java/net/minecraft/core/entity/animal/FireflyClusterMob.java b/src/main/java/net/minecraft/core/entity/animal/FireflyClusterMob.java
index 657bebcb7..7bd199314 100644
--- a/src/main/java/net/minecraft/core/entity/animal/FireflyClusterMob.java
+++ b/src/main/java/net/minecraft/core/entity/animal/FireflyClusterMob.java
@@ -142,9 +142,9 @@ public class FireflyClusterMob extends FlyingMob
     {
         super.defineSynchedData();
 
-		entityData.define(DATA_COLOR_ID, (byte) 0);
-		entityData.define(DATA_CLUSTER_SIZE_ID, (byte) 0);
-		entityData.define(DATA_COUNT_ID, (byte) 0);
+		entityData.define(DATA_COLOR_ID, (byte) 0, Byte.class);
+		entityData.define(DATA_CLUSTER_SIZE_ID, (byte) 0, Byte.class);
+		entityData.define(DATA_COUNT_ID, (byte) 0, Byte.class);
     }
 
 	public void setColor(FireflyColor colour) {
diff --git a/src/main/java/net/minecraft/core/entity/animal/PigMob.java b/src/main/java/net/minecraft/core/entity/animal/PigMob.java
index 7e0e09b61..ddae7d80f 100644
--- a/src/main/java/net/minecraft/core/entity/animal/PigMob.java
+++ b/src/main/java/net/minecraft/core/entity/animal/PigMob.java
@@ -38,7 +38,7 @@ public class PigMob extends Animal
 
     @Override
 	protected void defineSynchedData() {
-        entityData.define(DATA_SADDLE_ID, Byte.valueOf((byte)0));
+        entityData.define(DATA_SADDLE_ID, (byte) 0, Byte.class);
     }
 
     @Override
@@ -118,10 +118,10 @@ public class PigMob extends Animal
     {
         if(flag)
         {
-            entityData.set(DATA_SADDLE_ID, Byte.valueOf((byte)1));
+            entityData.set(DATA_SADDLE_ID, (byte) 1);
         } else
         {
-            entityData.set(DATA_SADDLE_ID, Byte.valueOf((byte)0));
+            entityData.set(DATA_SADDLE_ID, (byte) 0);
         }
     }
 
diff --git a/src/main/java/net/minecraft/core/entity/animal/SheepMob.java b/src/main/java/net/minecraft/core/entity/animal/SheepMob.java
index b8df24232..e47b0eec9 100644
--- a/src/main/java/net/minecraft/core/entity/animal/SheepMob.java
+++ b/src/main/java/net/minecraft/core/entity/animal/SheepMob.java
@@ -34,8 +34,8 @@ public class SheepMob extends Animal
     protected void defineSynchedData()
     {
         super.defineSynchedData();
-        entityData.define(DATA_WOOL_STATE_ID, (byte) 0);
-        entityData.define(DATA_EATING_ID, (byte) 0);
+        entityData.define(DATA_WOOL_STATE_ID, (byte) 0, Byte.class);
+        entityData.define(DATA_EATING_ID, (byte) 0, Byte.class);
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/core/entity/animal/WolfMob.java b/src/main/java/net/minecraft/core/entity/animal/WolfMob.java
index 6165bd753..d59564663 100644
--- a/src/main/java/net/minecraft/core/entity/animal/WolfMob.java
+++ b/src/main/java/net/minecraft/core/entity/animal/WolfMob.java
@@ -30,7 +30,32 @@ import java.util.*;
 
 public class WolfMob extends Animal
 {
+    public static final Map<ArmorMaterial, IArmorItem> ARMOR_MATERIALS = new HashMap<>();
+    static {
+        ARMOR_MATERIALS.put(ArmorMaterial.LEATHER,   (IArmorItem) Items.ARMOR_CHESTPLATE_LEATHER);
+        ARMOR_MATERIALS.put(ArmorMaterial.CHAINMAIL, (IArmorItem) Items.ARMOR_CHESTPLATE_CHAINMAIL);
+        ARMOR_MATERIALS.put(ArmorMaterial.IRON,      (IArmorItem) Items.ARMOR_CHESTPLATE_IRON);
+        ARMOR_MATERIALS.put(ArmorMaterial.GOLD,      (IArmorItem) Items.ARMOR_CHESTPLATE_GOLD);
+        ARMOR_MATERIALS.put(ArmorMaterial.DIAMOND,   (IArmorItem) Items.ARMOR_CHESTPLATE_DIAMOND);
+        ARMOR_MATERIALS.put(ArmorMaterial.STEEL,     (IArmorItem) Items.ARMOR_CHESTPLATE_STEEL);
+    }
+
+    public static final int DATA_HELD_ITEM = 15;
+    public static final int DATA_GENERIC_FLAGS = 16;
+    public static final int MASK_SITTING =  0b0000_0001;
+    public static final int MASK_ANGRY =    0b0000_0010;
+    public static final int MASK_TAMED =    0b0000_0100;
     public static final int DATA_OWNER_UUID = 17;
+    public static final int DATA_ARMOR_MATERIAL = 19;
+
+    private boolean looksWithInterest;
+    private float interestedAngle;
+    private float interestedAngleOld;
+    private boolean isWolfShaking;
+    private boolean field_25052_g;
+    private float timeWolfIsShaking;
+    private float prevTimeWolfIsShaking;
+    private ItemStack armor = null;
 
     public WolfMob(World world)
     {
@@ -52,10 +77,10 @@ public class WolfMob extends Animal
 	protected void defineSynchedData()
     {
         super.defineSynchedData();
-        entityData.define(15, ItemStack.class);
-        entityData.define(16, (byte) 0);
-        entityData.define(DATA_OWNER_UUID, UUID.class);
-        entityData.define(19, "");
+        entityData.define(DATA_HELD_ITEM, null, ItemStack.class);
+        entityData.define(DATA_GENERIC_FLAGS, (byte) 0, Byte.class);
+        entityData.define(DATA_OWNER_UUID, null, UUID.class);
+        entityData.define(DATA_ARMOR_MATERIAL, "", String.class);
     }
     @Override
     public boolean sendDeathMessage(Entity entityKilledBy){
@@ -64,7 +89,7 @@ public class WolfMob extends Animal
 
     public ArmorMaterial getArmorMaterial() {
         ArmorMaterial material = null;
-        String name = entityData.getString(19);
+        String name = entityData.getString(DATA_ARMOR_MATERIAL);
         for (ArmorMaterial mat : ArmorMaterial.getArmorMaterials()) {
             if (mat.identifier.toString().equalsIgnoreCase(name)) {
                 material = mat;
@@ -82,9 +107,9 @@ public class WolfMob extends Animal
             material = ((IArmorItem) stack.getItem()).getArmorMaterial();
         }
         if (material == null) {
-            entityData.set(19, "");
+            entityData.set(DATA_ARMOR_MATERIAL, "");
         } else {
-            entityData.set(19, material.identifier.toString());
+            entityData.set(DATA_ARMOR_MATERIAL, material.identifier.toString());
         }
     }
 
@@ -406,13 +431,13 @@ public class WolfMob extends Animal
 
         }
 
-        field_25054_c = field_25048_b;
+        interestedAngleOld = interestedAngle;
         if(looksWithInterest)
         {
-            field_25048_b = field_25048_b + (1.0F - field_25048_b) * 0.4F;
+            interestedAngle = interestedAngle + (1.0F - interestedAngle) * 0.4F;
         } else
         {
-            field_25048_b = field_25048_b + (0.0F - field_25048_b) * 0.4F;
+            interestedAngle = interestedAngle + (0.0F - interestedAngle) * 0.4F;
         }
         if(looksWithInterest)
         {
@@ -481,7 +506,7 @@ public class WolfMob extends Animal
 
     public float getInterestedAngle(float f)
     {
-        return (field_25054_c + (field_25048_b - field_25054_c) * f) * 0.15F * MathHelper.PI;
+        return (interestedAngleOld + (interestedAngle - interestedAngleOld) * f) * 0.15F * MathHelper.PI;
     }
 
     @Override
@@ -618,9 +643,9 @@ public class WolfMob extends Animal
                 double d = entity.x - x;
                 double d1 = entity.z - z;
                 float f1 = MathHelper.sqrt(d * d + d1 * d1);
-                xd = (d / (double)f1) * 0.5D * 0.80000001192092896D + xd * 0.2D;
-                zd = (d1 / (double)f1) * 0.5D * 0.80000001192092896D + zd * 0.2D;
-                yd = 0.40000000596046448D;
+                xd = (d / (double)f1) * 0.5D * 0.8D + xd * 0.2D;
+                zd = (d1 / (double)f1) * 0.5D * 0.8D + zd * 0.2D;
+                yd = 0.4D;
             }
         } else
         if((double) distance < 1.5D && entity.bb.maxY > bb.minY && entity.bb.minY < bb.maxY)
@@ -802,78 +827,60 @@ public class WolfMob extends Animal
 
     public boolean isWolfSitting()
     {
-        return (entityData.getByte(16) & 1) != 0;
+        return (entityData.getByte(DATA_GENERIC_FLAGS) & 1) != 0;
     }
 
     public void setWolfSitting(boolean flag)
     {
-        byte byte0 = entityData.getByte(16);
+        byte data = entityData.getByte(DATA_GENERIC_FLAGS);
         if(flag)
         {
-            entityData.set(16, (byte) (byte0 | 1));
+            entityData.set(DATA_GENERIC_FLAGS, (byte) (data | MASK_SITTING));
         } else
         {
-            entityData.set(16, (byte) (byte0 & ~1));
+            entityData.set(DATA_GENERIC_FLAGS, (byte) (data & ~MASK_SITTING));
         }
     }
 
     public boolean isWolfAngry()
     {
-        return (entityData.getByte(16) & 2) != 0;
+        return (entityData.getByte(DATA_GENERIC_FLAGS) & MASK_ANGRY) != 0;
     }
 
     public void setWolfAngry(boolean flag)
     {
-        byte byte0 = entityData.getByte(16);
+        byte data = entityData.getByte(DATA_GENERIC_FLAGS);
         if(flag)
         {
-            entityData.set(16, Byte.valueOf((byte)(byte0 | 2)));
+            entityData.set(DATA_GENERIC_FLAGS, (byte) (data | MASK_ANGRY));
         } else
         {
-            entityData.set(16, Byte.valueOf((byte)(byte0 & -3)));
+            entityData.set(DATA_GENERIC_FLAGS, (byte) (data & ~MASK_ANGRY));
         }
     }
 
     public ItemStack getWolfHeldItem(){
-        return entityData.getItemStack(15);
+        return entityData.getItemStack(DATA_HELD_ITEM);
     }
 
     public void setWolfHeldItem(ItemStack itemStack){
-        entityData.set(15, itemStack);
+        entityData.set(DATA_HELD_ITEM, itemStack);
     }
 
     public boolean isWolfTamed()
     {
-        return (entityData.getByte(16) & 4) != 0;
+        return (entityData.getByte(DATA_GENERIC_FLAGS) & MASK_TAMED) != 0;
     }
 
     public void setWolfTamed(boolean flag)
     {
-        byte byte0 = entityData.getByte(16);
+        byte data = entityData.getByte(DATA_GENERIC_FLAGS);
         if(flag)
         {
-            entityData.set(16, (byte) (byte0 | 4));
+            entityData.set(DATA_GENERIC_FLAGS, (byte) (data | MASK_TAMED));
         } else
         {
-            entityData.set(16, (byte) (byte0 & -5));
+            entityData.set(DATA_GENERIC_FLAGS, (byte) (data & ~MASK_TAMED));
         }
     }
-
-    private boolean looksWithInterest;
-    private float field_25048_b;
-    private float field_25054_c;
-    private boolean isWolfShaking;
-    private boolean field_25052_g;
-    private float timeWolfIsShaking;
-    private float prevTimeWolfIsShaking;
-    private ItemStack armor = null;
-    public static final Map<ArmorMaterial, IArmorItem> ARMOR_MATERIALS = new HashMap<>();
-    static {
-        ARMOR_MATERIALS.put(ArmorMaterial.LEATHER,   (IArmorItem) Items.ARMOR_CHESTPLATE_LEATHER);
-        ARMOR_MATERIALS.put(ArmorMaterial.CHAINMAIL, (IArmorItem) Items.ARMOR_CHESTPLATE_CHAINMAIL);
-        ARMOR_MATERIALS.put(ArmorMaterial.IRON,      (IArmorItem) Items.ARMOR_CHESTPLATE_IRON);
-        ARMOR_MATERIALS.put(ArmorMaterial.GOLD,      (IArmorItem) Items.ARMOR_CHESTPLATE_GOLD);
-        ARMOR_MATERIALS.put(ArmorMaterial.DIAMOND,   (IArmorItem) Items.ARMOR_CHESTPLATE_DIAMOND);
-        ARMOR_MATERIALS.put(ArmorMaterial.STEEL,     (IArmorItem) Items.ARMOR_CHESTPLATE_STEEL);
-    }
 }
diff --git a/src/main/java/net/minecraft/core/entity/monster/CreeperMob.java b/src/main/java/net/minecraft/core/entity/monster/CreeperMob.java
index d0a4ba07c..ecb2eba00 100644
--- a/src/main/java/net/minecraft/core/entity/monster/CreeperMob.java
+++ b/src/main/java/net/minecraft/core/entity/monster/CreeperMob.java
@@ -1,13 +1,8 @@
 package net.minecraft.core.entity.monster;
 
-// Referenced classes of package net.minecraft.src:
-//            EntityMob, DataWatcher, NBTTagCompound, World, 
-//            SkeletonMob, Item, Entity, LightningEntity
-
 import net.minecraft.core.WeightedRandomLootObject;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.LightningEntity;
-import net.minecraft.core.item.Item;
 import net.minecraft.core.item.Items;
 import com.mojang.nbt.CompoundTag;
 import net.minecraft.core.util.collection.NamespaceID;
@@ -15,7 +10,8 @@ import net.minecraft.core.world.World;
 
 public class CreeperMob extends Monster
 {
-
+    public static final int DATA_CREEPER_STATE = 16;
+    public static final int DATA_POWERED = 17;
     public CreeperMob(World world)
     {
         super(world);
@@ -29,15 +25,15 @@ public class CreeperMob extends Monster
 	protected void defineSynchedData()
     {
         super.defineSynchedData();
-        entityData.define(16, (byte) -1);
-        entityData.define(17, (byte) 0);
+        entityData.define(DATA_CREEPER_STATE, (byte) -1, Byte.class);
+        entityData.define(DATA_POWERED, (byte) 0, Byte.class);
     }
 
     @Override
 	public void addAdditionalSaveData(CompoundTag tag)
     {
         super.addAdditionalSaveData(tag);
-        if(entityData.getByte(17) == 1)
+        if(entityData.getByte(DATA_POWERED) == 1)
         {
             tag.putBoolean("powered", true);
         }
@@ -47,7 +43,7 @@ public class CreeperMob extends Monster
 	public void readAdditionalSaveData(CompoundTag tag)
     {
         super.readAdditionalSaveData(tag);
-        entityData.set(17, (byte) (tag.getBoolean("powered") ? 1 : 0));
+        entityData.set(DATA_POWERED, (byte) (tag.getBoolean("powered") ? 1 : 0));
     }
 
     @Override
@@ -160,7 +156,7 @@ public class CreeperMob extends Monster
 
     public boolean getPowered()
     {
-        return entityData.getByte(17) == 1;
+        return entityData.getByte(DATA_POWERED) == 1;
     }
 
     public float getSwelling(float partialTick)
@@ -170,19 +166,19 @@ public class CreeperMob extends Monster
 
     private int getCreeperState()
     {
-        return entityData.getByte(16);
+        return entityData.getByte(DATA_CREEPER_STATE);
     }
 
     private void setCreeperState(int i)
     {
-        entityData.set(16, Byte.valueOf((byte)i));
+        entityData.set(DATA_CREEPER_STATE, (byte) i);
     }
 
     @Override
 	public void thunderHit(LightningEntity bolt)
     {
         super.thunderHit(bolt);
-        entityData.set(17, Byte.valueOf((byte)1));
+        entityData.set(DATA_POWERED, (byte) 1);
     }
 
     int timeSinceIgnited;
diff --git a/src/main/java/net/minecraft/core/entity/monster/GhastMob.java b/src/main/java/net/minecraft/core/entity/monster/GhastMob.java
index b7d47da47..1a3f1c49f 100644
--- a/src/main/java/net/minecraft/core/entity/monster/GhastMob.java
+++ b/src/main/java/net/minecraft/core/entity/monster/GhastMob.java
@@ -21,6 +21,7 @@ import net.minecraft.core.util.helper.DamageType;
 public class GhastMob extends FlyingMob
     implements Enemy
 {
+    public static final int DATA_CHARGING = 16;
     public int courseChangeCooldown;
     public double waypointX;
     public double waypointY;
@@ -51,13 +52,13 @@ public class GhastMob extends FlyingMob
 	protected void defineSynchedData()
     {
         super.defineSynchedData();
-        entityData.define(16, Byte.valueOf((byte)0));
+        entityData.define(DATA_CHARGING, (byte) 0, Byte.class);
     }
 
     @Override
     public String getEntityTexture()
     {
-        if (entityData.getByte(16) != 1)
+        if (entityData.getByte(DATA_CHARGING) != 1)
         {
             return super.getEntityTexture();
         }
@@ -70,7 +71,7 @@ public class GhastMob extends FlyingMob
     @Override
     public String getDefaultEntityTexture()
     {
-        if (entityData.getByte(16) != 1)
+        if (entityData.getByte(DATA_CHARGING) != 1)
         {
             return super.getEntityTexture();
         }
@@ -85,7 +86,7 @@ public class GhastMob extends FlyingMob
         //prevAttackCounter = attackCounter; -uncomment if it still doesn't work
         if(world.isClientSide)
         {
-            byte i = entityData.getByte(16);
+            byte i = entityData.getByte(DATA_CHARGING);
             if(i > 0 && attackCharge == 0)
             {
                 world.playSoundAtEntity(null, this, "mob.ghast.charge", getSoundVolume(), (random.nextFloat() - random.nextFloat()) * 0.2F + 1.0F);
@@ -203,11 +204,11 @@ public class GhastMob extends FlyingMob
         }
         if(!world.isClientSide)
         {
-            byte byte0 = entityData.getByte(16);
-            byte byte1 = (byte)(attackCharge <= 10 ? 0 : 1);
-            if(byte0 != byte1)
+            byte chargeData = entityData.getByte(DATA_CHARGING);
+            byte chargeState = (byte)(attackCharge <= 10 ? 0 : 1);
+            if(chargeData != chargeState)
             {
-                entityData.set(16, Byte.valueOf(byte1));
+                entityData.set(DATA_CHARGING, chargeState);
             }
         }
     }
diff --git a/src/main/java/net/minecraft/core/entity/monster/ScorpionMob.java b/src/main/java/net/minecraft/core/entity/monster/ScorpionMob.java
index 988535c6b..fdbd71f39 100644
--- a/src/main/java/net/minecraft/core/entity/monster/ScorpionMob.java
+++ b/src/main/java/net/minecraft/core/entity/monster/ScorpionMob.java
@@ -15,6 +15,7 @@ import net.minecraft.core.world.World;
 
 public class ScorpionMob extends Monster
 {
+    public static final int DATA_UNKNOWN = 16; // No clue why this exists
 
     public ScorpionMob(World world)
     {
@@ -30,7 +31,7 @@ public class ScorpionMob extends Monster
 	protected void defineSynchedData()
     {
         super.defineSynchedData();
-        entityData.define(16, (byte) 1);
+        entityData.define(DATA_UNKNOWN, (byte) 1, Byte.class);
 
     }
     @Override
diff --git a/src/main/java/net/minecraft/core/entity/monster/SkeletonMob.java b/src/main/java/net/minecraft/core/entity/monster/SkeletonMob.java
index 006930fd6..a1981b76b 100644
--- a/src/main/java/net/minecraft/core/entity/monster/SkeletonMob.java
+++ b/src/main/java/net/minecraft/core/entity/monster/SkeletonMob.java
@@ -17,6 +17,7 @@ import net.minecraft.core.world.weather.Weathers;
 
 public class SkeletonMob extends Monster
 {
+    public static final int DATA_ATTACK_TIME = 15;
 
     public SkeletonMob(World world)
     {
@@ -48,16 +49,16 @@ public class SkeletonMob extends Monster
     protected void defineSynchedData()
     {
         super.defineSynchedData();
-        entityData.define(15, attackTime);
+        entityData.define(DATA_ATTACK_TIME, attackTime, Integer.class);
     }
 
     @Override
 	public void onLivingUpdate()
     {
         if (world.isClientSide){
-            attackTime = entityData.getInt(15);
+            attackTime = entityData.getInt(DATA_ATTACK_TIME);
         } else {
-            entityData.set(15, attackTime);
+            entityData.set(DATA_ATTACK_TIME, attackTime);
         }
         if(world.isDaytime())
         {
diff --git a/src/main/java/net/minecraft/core/entity/monster/SlimeMob.java b/src/main/java/net/minecraft/core/entity/monster/SlimeMob.java
index da9858725..57b604f42 100644
--- a/src/main/java/net/minecraft/core/entity/monster/SlimeMob.java
+++ b/src/main/java/net/minecraft/core/entity/monster/SlimeMob.java
@@ -21,6 +21,7 @@ import java.util.List;
 public class SlimeMob extends Mob
     implements Enemy
 {
+    public static final int DATA_SLIME_SIZE = 16;
 
     public SlimeMob(World world)
     {
@@ -49,7 +50,7 @@ public class SlimeMob extends Mob
 	protected void defineSynchedData()
     {
         super.defineSynchedData();
-        entityData.define(16, (byte) 1);
+        entityData.define(DATA_SLIME_SIZE, (byte) 1, Byte.class);
     }
 
     @Override
@@ -66,7 +67,7 @@ public class SlimeMob extends Mob
 
     public void setSlimeSize(int i)
     {
-        entityData.set(16, (byte) i);
+        entityData.set(DATA_SLIME_SIZE, (byte) i);
         setSize(0.5F * (float)i, 0.5F * (float)i);
         setHealthRaw(getMaxHealth());
         setPos(x, y, z);
@@ -78,7 +79,7 @@ public class SlimeMob extends Mob
 
     public int getSlimeSize()
     {
-        return entityData.getByte(16);
+        return entityData.getByte(DATA_SLIME_SIZE);
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/core/entity/monster/SpiderMob.java b/src/main/java/net/minecraft/core/entity/monster/SpiderMob.java
index 46c39cdbd..6173d85d3 100644
--- a/src/main/java/net/minecraft/core/entity/monster/SpiderMob.java
+++ b/src/main/java/net/minecraft/core/entity/monster/SpiderMob.java
@@ -15,6 +15,7 @@ import net.minecraft.core.world.World;
 
 public class SpiderMob extends Monster
 {
+    public static final int DATA_UNKNOWN = 16; // No clue why this exists
 
     public SpiderMob(World world)
     {
@@ -30,8 +31,7 @@ public class SpiderMob extends Monster
 	protected void defineSynchedData()
     {
         super.defineSynchedData();
-        entityData.define(16, (byte) 1);
-
+        entityData.define(DATA_UNKNOWN, (byte) 1, Byte.class);
     }
     @Override
 	public void spawnInit()
diff --git a/src/main/java/net/minecraft/core/entity/monster/ZombieArmoredMob.java b/src/main/java/net/minecraft/core/entity/monster/ZombieArmoredMob.java
index 1ca4a8999..94b97e7be 100644
--- a/src/main/java/net/minecraft/core/entity/monster/ZombieArmoredMob.java
+++ b/src/main/java/net/minecraft/core/entity/monster/ZombieArmoredMob.java
@@ -4,6 +4,7 @@ package net.minecraft.core.entity.monster;
 //            EntityMob, World, MathHelper, Item
 
 
+import com.mojang.nbt.CompoundTag;
 import net.minecraft.core.entity.Entity;
 import net.minecraft.core.entity.ItemEntity;
 import net.minecraft.core.item.Items;
@@ -18,11 +19,20 @@ import java.util.Random;
 
 public class ZombieArmoredMob extends ZombieMob
 {
-    private boolean isHoldingSword;
+    public static final int DATA_BREAK_POINTS = 6;
+    public static final int DATA_BREAK_ORDER = 7;
+    public static final int DATA_GENERIC_FLAGS = 8;
+    public static final int MASK_FLAG_SWORD = 0b0000_0001;
     public ZombieArmoredMob(World world)
     {
         super(world);
         textureIdentifier = new NamespaceID("minecraft", "zombie_armored");
+        scoreValue = 1000;
+    }
+
+    @Override
+    public void spawnInit() {
+        super.spawnInit();
         Random rand = new Random();
         setHoldingSword(rand.nextInt(5)==0);
         List<Integer> armorItems = new ArrayList<>();
@@ -44,12 +54,13 @@ public class ZombieArmoredMob extends ZombieMob
             armorBreakPoints[i] = 30 - (10 * i) + rand.nextInt(10);
         }
         setArmorBreakPoints(armorBreakPoints);
-        scoreValue = 1000;
     }
+
     @Override
     public void defineSynchedData(){
-        entityData.define(6, Integer.valueOf(0));
-        entityData.define(7, Short.valueOf((short) 0));
+        entityData.define(DATA_BREAK_POINTS, 0, Integer.class);
+        entityData.define(DATA_BREAK_ORDER, (short) 0, Short.class);
+        entityData.define(DATA_GENERIC_FLAGS, (byte) 0, Byte.class);
     }
     @Override
     public int getMaxHealth(){
@@ -108,14 +119,46 @@ public class ZombieArmoredMob extends ZombieMob
         return new int[]{value & 0x3, (value & 0xC) >> 2, (value & 0x30) >> 4, (value & 0xC0) >> 6};
     }
     public void setHoldingSword(boolean flag){
-        isHoldingSword = flag;
-        attackStrength = isHoldingSword? 7:5;
+        if (flag) {
+            entityData.set(DATA_GENERIC_FLAGS, (byte)(entityData.getByte(DATA_GENERIC_FLAGS) | MASK_FLAG_SWORD));
+            attackStrength = 7;
+        } else {
+            entityData.set(DATA_GENERIC_FLAGS, (byte)(entityData.getByte(DATA_GENERIC_FLAGS) & ~ MASK_FLAG_SWORD));
+            attackStrength = 5;
+        }
+    }
+
+    public boolean isHoldingSword() {
+        byte data = entityData.getByte(DATA_GENERIC_FLAGS);
+        return (data & MASK_FLAG_SWORD) != 0;
+    }
+
+    @Override
+    public void addAdditionalSaveData(CompoundTag tag) {
+        super.addAdditionalSaveData(tag);
+        tag.putInt("breakpoints", entityData.getInt(DATA_BREAK_POINTS));
+        tag.putShort("breakorder", entityData.getShort(DATA_BREAK_ORDER));
+        tag.putBoolean("hasSword", isHoldingSword());
+    }
+
+    @Override
+    public void readAdditionalSaveData(CompoundTag tag) {
+        super.readAdditionalSaveData(tag);
+        if (tag.containsKey("breakpoints")) {
+            entityData.set(DATA_BREAK_POINTS, tag.getInteger("breakpoints"));
+        }
+        if (tag.containsKey("breakorder")) {
+            entityData.set(DATA_BREAK_ORDER, tag.getShort("breakorder"));
+        }
+        if (tag.containsKey("hasSword")) {
+            setHoldingSword(tag.getBoolean("hasSword"));
+        }
     }
 
     @Override
 	public ItemStack getHeldItem()
     {
-        if(this.isHoldingSword)
+        if(this.isHoldingSword())
             return defaultHeldItem;
         return null;
     }
diff --git a/src/main/java/net/minecraft/core/entity/player/Player.java b/src/main/java/net/minecraft/core/entity/player/Player.java
index af732e9aa..0c3bf9202 100644
--- a/src/main/java/net/minecraft/core/entity/player/Player.java
+++ b/src/main/java/net/minecraft/core/entity/player/Player.java
@@ -76,6 +76,9 @@ import java.util.UUID;
 
 public abstract class Player extends Mob
 {
+    public static final int DATA_UNKNOWN = 16; // I have no idea wtf this id is for
+    public static final int DATA_SELECTED_ART = 17;
+    public static final int DATA_HELD_ARROW = 18;
     public static final TextFormatting deathMsgColor = TextFormatting.RED;
     public Inventory inventory;
     public AbstractContainerMenu inventorySlots;
@@ -151,12 +154,12 @@ public abstract class Player extends Mob
 
     public ArtType getSelectedArt()
     {
-        return ArtType.values.get(entityData.getByte(17));
+        return ArtType.values.get(entityData.getByte(DATA_SELECTED_ART));
     }
 
     public void setSelectedArt(ArtType selectedArt)
     {
-        entityData.set(17, (byte)ArtType.values.indexOf(selectedArt));
+        entityData.set(DATA_SELECTED_ART, (byte)ArtType.values.indexOf(selectedArt));
     }
 
     private void setupDwarfMode() {
@@ -182,9 +185,9 @@ public abstract class Player extends Mob
 	protected void defineSynchedData()
     {
         super.defineSynchedData();
-        entityData.define(16, (byte) 0);
-        entityData.define(17, (byte) 0); // selected art
-        entityData.define(18, -1);
+        entityData.define(DATA_UNKNOWN, (byte) 0, Byte.class);
+        entityData.define(DATA_SELECTED_ART, (byte) 0, Byte.class); // selected art
+        entityData.define(DATA_HELD_ARROW, -1, Integer.class);
     }
 
     @Override
@@ -1616,7 +1619,7 @@ public abstract class Player extends Mob
         return nextArrow;
     }
     public int getArrowId(){
-        return entityData.getInt(18);
+        return entityData.getInt(DATA_HELD_ARROW);
     }
     public boolean hasItem(Item item){
         for (ItemStack stack : this.inventory.mainInventory) {
diff --git a/src/main/java/net/minecraft/core/entity/vehicle/MinecartEntity.java b/src/main/java/net/minecraft/core/entity/vehicle/MinecartEntity.java
index 934ca02ee..c7d77846d 100644
--- a/src/main/java/net/minecraft/core/entity/vehicle/MinecartEntity.java
+++ b/src/main/java/net/minecraft/core/entity/vehicle/MinecartEntity.java
@@ -19,6 +19,7 @@ import net.minecraft.core.player.gamemode.Gamemode;
 import net.minecraft.core.player.inventory.container.Container;
 import net.minecraft.core.player.inventory.InventorySorter;
 import net.minecraft.core.util.helper.DamageType;
+import net.minecraft.core.util.helper.DyeColor;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.core.util.phys.Vec3;
 import net.minecraft.core.world.World;
@@ -79,6 +80,7 @@ public class MinecartEntity extends Entity implements Container {
     public int hurtDirection;
     public boolean flipped;
     public int type;
+    public int typeMeta; // Just used for chest color *for now*
     public int fuel;
     public double xPush;
     public double zPush;
@@ -699,6 +701,11 @@ public class MinecartEntity extends Entity implements Container {
                     if (carriedBlock.entity instanceof ChestBlockEntity) {
                         ChestBlockEntity chest = (ChestBlockEntity) carriedBlock.entity;
                         this.type = CHEST_CART;
+                        if (carriedBlock.block == Blocks.CHEST_PLANKS_OAK_PAINTED) {
+                            this.typeMeta = carriedBlock.metadata & 0b1111_0000 | 0b0000_0001;
+                        } else {
+                            this.typeMeta = carriedBlock.metadata & 0b1111_0000;
+                        }
                         for (int i = 0; i < this.getContainerSize(); i++) {
                             this.setItem(i, chest.getItem(i));
                             chest.setItem(i, null);
@@ -716,16 +723,23 @@ public class MinecartEntity extends Entity implements Container {
                 break;
             case CHEST_CART:
                 if(!world.isClientSide) {
-                    if (player.isSneaking()) {
+                    if (player.isSneaking() && player.getHeldObject() == null) {
                         ChestBlockEntity blockEntity = new ChestBlockEntity();
                         for (int i = 0; i < this.getContainerSize(); i++) {
                             blockEntity.setItem(i, this.getItem(i));
                             this.setItem(i, null);
                         }
                         blockEntity.worldObj = null;
-                        blockEntity.carriedBlock = blockEntity.getCarriedEntry(world, player, Blocks.CHEST_PLANKS_OAK, 0);
+                        Block block;
+                        if ((typeMeta & 0b0000_0001) != 0) {
+                            block = Blocks.CHEST_PLANKS_OAK_PAINTED;
+                        } else {
+                            block = Blocks.CHEST_PLANKS_OAK;
+                        }
+                        blockEntity.carriedBlock = blockEntity.getCarriedEntry(world, player, block, typeMeta & 0b1111_0000);
                         player.setHeldObject(blockEntity.carriedBlock);
                         this.type = PASSENGER_CART;
+                        this.typeMeta = 0;
                     } else {
                         player.displayContainerScreen(this);
                     }
diff --git a/src/main/java/net/minecraft/core/world/Explosion.java b/src/main/java/net/minecraft/core/world/Explosion.java
index 1e3435b56..d0c3c689b 100644
--- a/src/main/java/net/minecraft/core/world/Explosion.java
+++ b/src/main/java/net/minecraft/core/world/Explosion.java
@@ -149,7 +149,7 @@ public class Explosion {
         int z1 = MathHelper.floor(explosionZ - (double) explosionSize2 - 1.0D);
         int z2 = MathHelper.floor(explosionZ + (double) explosionSize2 + 1.0D);
         
-        List<Entity> list = worldObj.getEntitiesWithinAABBExcludingEntity(exploder, AABB.getTemporaryBB(x1, y1, z1, x2, y2, z2));
+        List<Entity> list = new ArrayList<>(worldObj.getEntitiesWithinAABBExcludingEntity(exploder, AABB.getTemporaryBB(x1, y1, z1, x2, y2, z2)));
         Vec3 vec3 = Vec3.getTempVec3(explosionX, explosionY, explosionZ);
         for (Entity entity : list) {
             double d4 = entity.distanceTo(explosionX, explosionY, explosionZ) / (double) explosionSize2;
diff --git a/src/main/java/net/minecraft/core/world/data/SynchedEntityData.java b/src/main/java/net/minecraft/core/world/data/SynchedEntityData.java
index 85fe76d42..f21f66bf3 100644
--- a/src/main/java/net/minecraft/core/world/data/SynchedEntityData.java
+++ b/src/main/java/net/minecraft/core/world/data/SynchedEntityData.java
@@ -41,11 +41,12 @@ public class SynchedEntityData
      * Attempts to define a new piece of synchronized data.
      * @param id The ID of the data item.
      * @param value The initial value to define for the data item.
+     * @param valueClass The class that value is
      * @param <T> The type of the data item.
      */
-    public <T> void define(int id, T value)
+    public <T> void define(int id, T value, Class<T> valueClass)
     {
-        Integer integer = DATA_TYPES.get(value.getClass());
+        Integer integer = DATA_TYPES.get(valueClass);
         if(integer == null)
         {
             throw new IllegalArgumentException("Unknown data type: " + value.getClass());
@@ -67,36 +68,6 @@ public class SynchedEntityData
         }
     }
 
-    /**
-     * Attempts to define a new piece of synchronized data.
-     * @param id The ID of the data item.
-     * @param valueClass The class to define for the data item, which will default the initial value to null.
-     * @param <T> The type of the data item.
-     */
-    public <T> void define(int id, Class<T> valueClass)
-    {
-        Integer integer = DATA_TYPES.get(valueClass);
-        if(integer == null)
-        {
-            throw new IllegalArgumentException("Unknown data type: " + valueClass);
-        }
-
-        if(id > MAX_DATA_VALUE)
-        {
-            throw new IllegalArgumentException("Data value id is too big with " + id + "! (Max is " + MAX_DATA_VALUE + ")");
-        }
-
-        if(itemsById.containsKey(id))
-        {
-            throw new IllegalArgumentException("Duplicate id value for " + id + "!");
-        }
-        else
-        {
-            DataItem<T> item = new DataItem<>(integer, id, null);
-            itemsById.put(id, item);
-        }
-    }
-
     /**
      * Fetches the value for a specific item as a byte.
      * @param id The item ID.
diff --git a/src/main/java/net/minecraft/datagen/RecipesGenerator.java b/src/main/java/net/minecraft/datagen/RecipesGenerator.java
index c5cbd2fc2..49ce6206b 100644
--- a/src/main/java/net/minecraft/datagen/RecipesGenerator.java
+++ b/src/main/java/net/minecraft/datagen/RecipesGenerator.java
@@ -13,13 +13,44 @@ import net.minecraft.datagen.recipeBuilders.RecipeBuilder;
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 public class RecipesGenerator {
     private static final boolean DEBUG = false;
     public static final String CORE_NAMESPACE = "minecraft";
-    public static void main(String[] args) {
+    public static void main(String[] args) throws IOException {
+        System.out.println("Generating Recipes with args: ");
+        System.out.println(Arrays.toString(args));
+        String outputPath = null;
+        int pointer = 0;
+        while (pointer < args.length) {
+            switch (args[pointer]) {
+                case "--output": {
+                    try {
+                        outputPath = args[pointer + 1];
+                        pointer++;
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                    pointer++;
+                    break;
+                }
+                default:
+                    pointer++;
+            }
+        }
+
+        File output;
+        if (outputPath != null) {
+            output = new File(outputPath);
+        } else {
+            output = new File("generated/recipes/");
+        }
+        output.mkdirs();
+
         Blocks.init();
         Items.init();
         new Registries();
@@ -39,7 +70,7 @@ public class RecipesGenerator {
                 }
             }
         }
-        RecipeBuilder.exportRecipes(new File("generated/recipes/workbench.json"), Registries.RECIPES.WORKBENCH);
+        RecipeBuilder.exportRecipes(new File(output, "workbench.json"), Registries.RECIPES.WORKBENCH);
 
         if (DEBUG) System.out.println();
 
@@ -56,7 +87,7 @@ public class RecipesGenerator {
                 }
             }
         }
-        RecipeBuilder.exportRecipes(new File("generated/recipes/furnace.json"), Registries.RECIPES.FURNACE);
+        RecipeBuilder.exportRecipes(new File(output, "furnace.json"), Registries.RECIPES.FURNACE);
 
         if (DEBUG) System.out.println();
 
@@ -72,7 +103,7 @@ public class RecipesGenerator {
                 }
             }
         }
-        RecipeBuilder.exportRecipes(new File("generated/recipes/blast_furnace.json"), Registries.RECIPES.BLAST_FURNACE);
+        RecipeBuilder.exportRecipes(new File(output, "blast_furnace.json"), Registries.RECIPES.BLAST_FURNACE);
 
         if (DEBUG) System.out.println();
 
@@ -89,7 +120,9 @@ public class RecipesGenerator {
                 }
             }
         }
-        RecipeBuilder.exportRecipes(new File("generated/recipes/trommel.json"), Registries.RECIPES.TROMMEL);
+        RecipeBuilder.exportRecipes(new File(output, "trommel.json"), Registries.RECIPES.TROMMEL);
+
+        System.out.println("Finished all " + Registries.RECIPES.getAllRecipes().size() + " recipes!");
     }
 
     public static List<String> getMissingIds(RecipeGroup recipeGroup, File referenceFile) {
diff --git a/src/main/java/net/minecraft/datagen/WorkbenchGenerator.java b/src/main/java/net/minecraft/datagen/WorkbenchGenerator.java
index 9b14a591e..63c4c7318 100644
--- a/src/main/java/net/minecraft/datagen/WorkbenchGenerator.java
+++ b/src/main/java/net/minecraft/datagen/WorkbenchGenerator.java
@@ -1271,16 +1271,15 @@ class WorkbenchGenerator {
 
     private static void generateUndyeingRecipes() {
         final String format = "%s_undyeing";
-        final int stackSize = 8;
-
-        Registries.RECIPES.WORKBENCH.register(String.format(format, "planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:planks"), new ItemStack(Blocks.PLANKS_OAK, stackSize)));
-        Registries.RECIPES.WORKBENCH.register(String.format(format, "stairs_planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:stairs_planks"), new ItemStack(Blocks.STAIRS_PLANKS_OAK, stackSize)));
-        Registries.RECIPES.WORKBENCH.register(String.format(format, "slabs_planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:slabs_planks"), new ItemStack(Blocks.SLAB_PLANKS_OAK, stackSize)));
-        Registries.RECIPES.WORKBENCH.register(String.format(format, "fences_planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:fences_planks"), new ItemStack(Blocks.FENCE_PLANKS_OAK, stackSize)));
-        Registries.RECIPES.WORKBENCH.register(String.format(format, "fence_gates_planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:fence_gates_planks"), new ItemStack(Blocks.FENCE_GATE_PLANKS_OAK, stackSize)));
-        Registries.RECIPES.WORKBENCH.register(String.format(format, "trapdoor_planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:trapdoor_planks"), new ItemStack(Blocks.TRAPDOOR_PLANKS_OAK, stackSize)));
-        Registries.RECIPES.WORKBENCH.register(String.format(format, "lamps"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:lamps"), new ItemStack(Blocks.LAMP_IDLE, stackSize)));
-        Registries.RECIPES.WORKBENCH.register(String.format(format, "wools"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:wools"), new ItemStack(Blocks.WOOL, stackSize)));
-        Registries.RECIPES.WORKBENCH.register(String.format(format, "chests"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:chests"), new ItemStack(Blocks.CHEST_PLANKS_OAK, stackSize)));
+
+        Registries.RECIPES.WORKBENCH.register(String.format(format, "planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:planks"), new ItemStack(Blocks.PLANKS_OAK)));
+        Registries.RECIPES.WORKBENCH.register(String.format(format, "stairs_planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:stairs_planks"), new ItemStack(Blocks.STAIRS_PLANKS_OAK)));
+        Registries.RECIPES.WORKBENCH.register(String.format(format, "slabs_planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:slabs_planks"), new ItemStack(Blocks.SLAB_PLANKS_OAK)));
+        Registries.RECIPES.WORKBENCH.register(String.format(format, "fences_planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:fences_planks"), new ItemStack(Blocks.FENCE_PLANKS_OAK)));
+        Registries.RECIPES.WORKBENCH.register(String.format(format, "fence_gates_planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:fence_gates_planks"), new ItemStack(Blocks.FENCE_GATE_PLANKS_OAK)));
+        Registries.RECIPES.WORKBENCH.register(String.format(format, "trapdoor_planks"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:trapdoor_planks"), new ItemStack(Blocks.TRAPDOOR_PLANKS_OAK)));
+        Registries.RECIPES.WORKBENCH.register(String.format(format, "lamps"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:lamps"), new ItemStack(Blocks.LAMP_IDLE)));
+        Registries.RECIPES.WORKBENCH.register(String.format(format, "wools"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:wools"), new ItemStack(Blocks.WOOL)));
+        Registries.RECIPES.WORKBENCH.register(String.format(format, "chests"), new RecipeEntryUndyeing(new RecipeSymbol("minecraft:chests"), new ItemStack(Blocks.CHEST_PLANKS_OAK)));
     }
 }
diff --git a/src/main/resources/credits.txt b/src/main/resources/credits.txt
index 10eb92962..a7b6497c5 100644
--- a/src/main/resources/credits.txt
+++ b/src/main/resources/credits.txt
@@ -8,6 +8,7 @@ Flamarine
 Martin (sunsetsatellite)
 NebulaBC
 Useless (uselessbullets)
+Bigjango
 
 *Artists
 afk (away.from.keyboard)
@@ -23,7 +24,6 @@ DirtPiper
 Vivian (vivianfox.)
 Snowman64
 AndroidDr (Pedro270707)
-Bigjango
 Tocinin
 LukeIsStuff
 Zaraz7
diff --git a/src/template/java/net/minecraft/core/Version.java b/src/template/java/net/minecraft/core/Version.java
index c76e4cf9d..8d3b6f449 100644
--- a/src/template/java/net/minecraft/core/Version.java
+++ b/src/template/java/net/minecraft/core/Version.java
@@ -5,5 +5,6 @@ public class Version {
     // They are generated at build time by Gradle.
     protected static final String VERSION = "${version}";
     protected static final String BUILD_TIME = "${buildTime}";
+    protected static final int TEXTURE_PACK_VERSION = $packVersion;
     protected static final BuildChannel BUILD_CHANNEL = BuildChannel.valueOf("${buildChannel}");
 }
\ No newline at end of file
