pocketmine\inventory\ShapedRecipeFromJson::addIngredient PHP Method

addIngredient() public method

public addIngredient ( $x, $y, Item $item )
$item pocketmine\item\Item
    public function addIngredient($x, $y, Item $item)
    {
        $this->ingredients[$y][$x] = clone $item;
        return $this;
    }

Usage Example

Example #1
0
 public function __construct(bool $useJson = false)
 {
     $this->registerBrewingStand();
     if ($useJson) {
         // load recipes from src/pocketmine/recipes.json
         $recipes = new Config(Server::getInstance()->getFilePath() . "src/pocketmine/resources/recipes.json", Config::JSON, []);
         MainLogger::getLogger()->Info("Loading recipes...");
         foreach ($recipes->getAll() as $recipe) {
             switch ($recipe["Type"]) {
                 case 0:
                     // TODO: handle multiple result items
                     if (count($recipe["Result"]) == 1) {
                         $first = $recipe["Result"][0];
                         $result = new ShapelessRecipe(Item::get($first["ID"], $first["Damage"], $first["Count"]));
                         foreach ($recipe["Ingredients"] as $ingredient) {
                             $result->addIngredient(Item::get($ingredient["ID"], $ingredient["Damage"], $ingredient["Count"]));
                         }
                         $this->registerRecipe($result);
                     }
                     break;
                 case 1:
                     // TODO: handle multiple result items
                     if (count($recipe["Result"]) == 1) {
                         $first = $recipe["Result"][0];
                         $result = new ShapedRecipeFromJson(Item::get($first["ID"], $first["Damage"], $first["Count"]), $recipe["Height"], $recipe["Width"]);
                         $shape = array_chunk($recipe["Ingredients"], $recipe["Width"]);
                         foreach ($shape as $y => $row) {
                             foreach ($row as $x => $ingredient) {
                                 $result->addIngredient($x, $y, Item::get($ingredient["ID"], $ingredient["Damage"] < 0 ? null : $ingredient["Damage"], $ingredient["Count"]));
                             }
                         }
                         $this->registerRecipe($result);
                     }
                     break;
                 case 2:
                     $result = $recipe["Result"];
                     $resultItem = Item::get($result["ID"], $result["Damage"], $result["Count"]);
                     $this->registerRecipe(new FurnaceRecipe($resultItem, Item::get($recipe["Ingredients"], 0, 1)));
                     break;
                 case 3:
                     $result = $recipe["Result"];
                     $resultItem = Item::get($result["ID"], $result["Damage"], $result["Count"]);
                     $this->registerRecipe(new FurnaceRecipe($resultItem, Item::get($recipe["Ingredients"]["ID"], $recipe["Ingredients"]["Damage"], 1)));
                     break;
                 default:
                     break;
             }
         }
     } else {
         $this->registerStonecutter();
         $this->registerFurnace();
         $this->registerDyes();
         $this->registerIngots();
         $this->registerTools();
         $this->registerWeapons();
         $this->registerArmor();
         $this->registerFood();
         $this->registerBrewingStand();
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::CLAY_BLOCK, 0, 1), "X"))->setIngredient("X", Item::get(Item::CLAY, 0, 4)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::WORKBENCH, 0, 1), "XX", "XX"))->setIngredient("X", Item::get(Item::WOODEN_PLANK, null)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::GLOWSTONE_BLOCK, 0, 1), "XX", "XX"))->setIngredient("X", Item::get(Item::GLOWSTONE_DUST, 0, 4)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::LIT_PUMPKIN, 0, 1), "X ", "Y "))->setIngredient("X", Item::get(Item::PUMPKIN, 0, 1))->setIngredient("Y", Item::get(Item::TORCH, 0, 1)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::SNOW_BLOCK, 0, 1), "XX", "XX"))->setIngredient("X", Item::get(Item::SNOWBALL)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::SNOW_LAYER, 0, 6), "X"))->setIngredient("X", Item::get(Item::SNOW_BLOCK, 0, 3)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::STICK, 0, 4), "X ", "X "))->setIngredient("X", Item::get(Item::WOODEN_PLANK, null)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::STONECUTTER, 0, 1), "XX", "XX"))->setIngredient("X", Item::get(Item::COBBLESTONE)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::WOODEN_PLANK, Planks::OAK, 4), "X"))->setIngredient("X", Item::get(Item::WOOD, Wood::OAK, 1)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::WOODEN_PLANK, Planks::SPRUCE, 4), "X"))->setIngredient("X", Item::get(Item::WOOD, Wood::SPRUCE, 1)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::WOODEN_PLANK, Planks::BIRCH, 4), "X"))->setIngredient("X", Item::get(Item::WOOD, Wood::BIRCH, 1)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::WOODEN_PLANK, Planks::JUNGLE, 4), "X"))->setIngredient("X", Item::get(Item::WOOD, Wood::JUNGLE, 1)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::WOODEN_PLANK, Planks::ACACIA, 4), "X"))->setIngredient("X", Item::get(Item::WOOD2, Wood2::ACACIA, 1)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::WOODEN_PLANK, Planks::DARK_OAK, 4), "X"))->setIngredient("X", Item::get(Item::WOOD2, Wood2::DARK_OAK, 1)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::WOOL, 0, 1), "XX", "XX"))->setIngredient("X", Item::get(Item::STRING, 0, 4)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::TORCH, 0, 4), "C ", "S"))->setIngredient("C", Item::get(Item::COAL, 0, 1))->setIngredient("S", Item::get(Item::STICK, 0, 1)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::TORCH, 0, 4), "C ", "S"))->setIngredient("C", Item::get(Item::COAL, 1, 1))->setIngredient("S", Item::get(Item::STICK, 0, 1)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::SUGAR, 0, 1), "S"))->setIngredient("S", Item::get(Item::SUGARCANE, 0, 1)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::BED, 0, 1), "WWW", "PPP"))->setIngredient("W", Item::get(Item::WOOL, null, 3))->setIngredient("P", Item::get(Item::WOODEN_PLANK, null, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::CHEST, 0, 1), "PPP", "P P", "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, null, 8)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE, 0, 3), "PSP", "PSP"))->setIngredient("S", Item::get(Item::STICK, 0, 2))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::OAK, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE, Planks::SPRUCE, 3), "PSP", "PSP"))->setIngredient("S", Item::get(Item::STICK, 0, 2))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::SPRUCE, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE, Planks::BIRCH, 3), "PSP", "PSP"))->setIngredient("S", Item::get(Item::STICK, 0, 2))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::BIRCH, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE, Planks::JUNGLE, 3), "PSP", "PSP"))->setIngredient("S", Item::get(Item::STICK, 0, 2))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::JUNGLE, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE, Planks::ACACIA, 3), "PSP", "PSP"))->setIngredient("S", Item::get(Item::STICK, 0, 2))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::ACACIA, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE, Planks::DARK_OAK, 3), "PSP", "PSP"))->setIngredient("S", Item::get(Item::STICK, 0, 2))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::DARK_OAK, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE_GATE, 0, 1), "SPS", "SPS"))->setIngredient("S", Item::get(Item::STICK, 0, 4))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::OAK, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE_GATE_SPRUCE, 0, 1), "SPS", "SPS"))->setIngredient("S", Item::get(Item::STICK, 0, 4))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::SPRUCE, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE_GATE_BIRCH, 0, 1), "SPS", "SPS"))->setIngredient("S", Item::get(Item::STICK, 0, 4))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::BIRCH, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE_GATE_JUNGLE, 0, 1), "SPS", "SPS"))->setIngredient("S", Item::get(Item::STICK, 0, 4))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::JUNGLE, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE_GATE_DARK_OAK, 0, 1), "SPS", "SPS"))->setIngredient("S", Item::get(Item::STICK, 0, 4))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::DARK_OAK, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FENCE_GATE_ACACIA, 0, 1), "SPS", "SPS"))->setIngredient("S", Item::get(Item::STICK, 0, 4))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::ACACIA, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::FURNACE, 0, 1), "CCC", "C C", "CCC"))->setIngredient("C", Item::get(Item::COBBLESTONE, 0, 8)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::GLASS_PANE, 0, 16), "GGG", "GGG"))->setIngredient("G", Item::get(Item::GLASS, 0, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::LADDER, 0, 2), "S S", "SSS", "S S"))->setIngredient("S", Item::get(Item::STICK, 0, 7)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::NETHER_REACTOR, 0, 1), "IDI", "IDI", "IDI"))->setIngredient("D", Item::get(Item::DIAMOND, 0, 3))->setIngredient("I", Item::get(Item::IRON_INGOT, 0, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::TRAPDOOR, 0, 2), "PPP", "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, null, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::WOODEN_DOOR, 0, 1), "PP", "PP", "PP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, null, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::BIRCH_DOOR, 0, 1), "PP", "PP", "PP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::BIRCH, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SPRUCE_DOOR, 0, 1), "PP", "PP", "PP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::SPRUCE, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::JUNGLE_DOOR, 0, 1), "PP", "PP", "PP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::JUNGLE, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::ACACIA_DOOR, 0, 1), "PP", "PP", "PP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::ACACIA, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::DARK_OAK_DOOR, 0, 1), "PP", "PP", "PP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::DARK_OAK, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::WOODEN_STAIRS, 0, 4), "  P", " PP", "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::OAK, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::WOOD_SLAB, Planks::OAK, 6), "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::OAK, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SPRUCE_WOOD_STAIRS, 0, 4), "  P", " PP", "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::SPRUCE, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::WOOD_SLAB, Planks::SPRUCE, 6), "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::SPRUCE, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::BIRCH_WOOD_STAIRS, 0, 4), "  P", " PP", "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::BIRCH, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::WOOD_SLAB, Planks::BIRCH, 6), "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::BIRCH, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::JUNGLE_WOOD_STAIRS, 0, 4), "P", "PP", "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::JUNGLE, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::WOOD_SLAB, Planks::JUNGLE, 6), "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::JUNGLE, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::ACACIA_WOOD_STAIRS, 0, 4), "  P", " PP", "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::ACACIA, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::WOOD_SLAB, Planks::ACACIA, 6), "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::ACACIA, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::DARK_OAK_WOOD_STAIRS, 0, 4), "  P", " PP", "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::DARK_OAK, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::WOOD_SLAB, Planks::DARK_OAK, 6), "PPP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, Planks::DARK_OAK, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::BUCKET, 0, 1), "I I", " I"))->setIngredient("I", Item::get(Item::IRON_INGOT, 0, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::CLOCK, 0, 1), " G", "GR", " G"))->setIngredient("G", Item::get(Item::GOLD_INGOT, 0, 4))->setIngredient("R", Item::get(Item::REDSTONE_DUST, 0, 1)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::COMPASS, 0, 1), " I ", "IRI", " I"))->setIngredient("I", Item::get(Item::IRON_INGOT, 0, 4))->setIngredient("R", Item::get(Item::REDSTONE_DUST, 0, 1)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::TNT, 0, 1), "GSG", "SGS", "GSG"))->setIngredient("G", Item::get(Item::GUNPOWDER, 0, 5))->setIngredient("S", Item::get(Item::SAND, null, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::BOWL, 0, 4), "P P", " P"))->setIngredient("P", Item::get(Item::WOODEN_PLANKS, null, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::MINECART, 0, 1), "I I", "III"))->setIngredient("I", Item::get(Item::IRON_INGOT, 0, 5)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::BOOK, 0, 1), "P P", " P "))->setIngredient("P", Item::get(Item::PAPER, 0, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::BOOKSHELF, 0, 1), "PBP", "PBP", "PBP"))->setIngredient("P", Item::get(Item::WOODEN_PLANK, null, 6))->setIngredient("B", Item::get(Item::BOOK, 0, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::PAINTING, 0, 1), "SSS", "SWS", "SSS"))->setIngredient("S", Item::get(Item::STICK, 0, 8))->setIngredient("W", Item::get(Item::WOOL, null, 1)));
         $this->registerRecipe((new ShapedRecipe(Item::get(Item::PAPER, 0, 3), "SS", "S"))->setIngredient("S", Item::get(Item::SUGARCANE, 0, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SIGN, 0, 3), "PPP", "PPP", " S"))->setIngredient("S", Item::get(Item::STICK, 0, 1))->setIngredient("P", Item::get(Item::WOODEN_PLANKS, null, 6)));
         //TODO: check if it gives one sign or three
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::IRON_BARS, 0, 16), "III", "III", "III"))->setIngredient("I", Item::get(Item::IRON_INGOT, 0, 9)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::GLASS_BOTTLE, 0, 3), "G G", " G ", "   "))->setIngredient("G", Item::get(Item::GLASS, 0, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::WOODEN_PRESSURE_PLATE, 0, 1), "   ", "   ", "XX "))->setIngredient("X", Item::get(Item::WOODEN_PLANK, null, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::HEAVY_WEIGHTED_PRESSURE_PLATE, 0, 1), "   ", "XX ", "   "))->setIngredient("X", Item::get(Item::IRON_INGOT, 0, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::LIGHT_WEIGHTED_PRESSURE_PLATE, 0, 1), "   ", "XX ", "   "))->setIngredient("X", Item::get(Item::GOLD_INGOT, 0, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE_PRESSURE_PLATE, 0, 1), "   ", "XX ", "   "))->setIngredient("X", Item::get(Item::STONE, 0, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::INACTIVE_REDSTONE_LAMP, 0, 1), " R ", "RGR", " R "))->setIngredient("R", Item::get(Item::REDSTONE, 0, 4))->setIngredient("G", Item::get(Item::GLOWSTONE_BLOCK, 0, 1)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::REDSTONE_TORCH, 0, 1), "   ", " R ", " S "))->setIngredient("R", Item::get(Item::REDSTONE, 0, 1))->setIngredient("S", Item::get(Item::STICK, 0, 1)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::WOODEN_BUTTON, 0, 1), "   ", " X ", "   "))->setIngredient("X", Item::get(Item::WOODEN_PLANK, null, 1)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE_BUTTON, 0, 1), "   ", " X ", "   "))->setIngredient("X", Item::get(Item::COBBLESTONE, 0, 1)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::LEVER, 0, 1), "   ", " X ", " Y "))->setIngredient("X", Item::get(Item::STICK, 0, 1))->setIngredient("Y", Item::get(Item::COBBLESTONE, 0, 1)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::COBBLESTONE_STAIRS, 0, 4), "P  ", "PP ", "PPP"))->setIngredient("P", Item::get(Item::COBBLESTONE, 0, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE_BRICK_STAIRS, 0, 4), "P  ", "PP ", "PPP"))->setIngredient("P", Item::get(Item::STONE_BRICK, 0, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SLAB, 0, 6), "   ", "PPP"))->setIngredient("P", Item::get(Item::STONE, '', 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SLAB, 5, 6), "   ", "PPP"))->setIngredient("P", Item::get(Item::STONE_BRICK, '', 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE_BRICK, 3, 1), "   ", "PP "))->setIngredient("P", Item::get(Item::SLAB, 5, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SLAB, 1, 6), "   ", "PPP"))->setIngredient("P", Item::get(Item::SANDSTONE, 0, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SANDSTONE, 1, 1), "   ", "PP "))->setIngredient("P", Item::get(Item::SLAB, 1, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE_BRICK, 0, 4), "XX ", "XX "))->setIngredient("X", Item::get(Item::STONE, '', 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::QUARTZ_BLOCK, 0, 1), "XX ", "XX "))->setIngredient("X", Item::get(Item::QUARTZ, 0, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::BRICK_STAIRS, 0, 4), "P  ", "PP ", "PPP"))->setIngredient("P", Item::get(Item::BRICKS_BLOCK, 0, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::BRICKS_BLOCK, 0, 1), "XX ", "XX "))->setIngredient("X", Item::get(Item::BRICK, 0, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SLAB, 4, 6), "   ", "PPP"))->setIngredient("P", Item::get(Item::BRICKS_BLOCK, 0, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::QUARTZ_BLOCK, 1, 1), "   ", "PP "))->setIngredient("P", Item::get(Item::SLAB, 6, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SLAB, 3, 6), "   ", "PPP"))->setIngredient("P", Item::get(Item::COBBLESTONE, 0, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::COBBLESTONE, 0, 1), "   ", "PP "))->setIngredient("P", Item::get(Item::SLAB, 3, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::COBBLESTONE_WALL, 0, 6), "PPP", "PPP"))->setIngredient("P", Item::get(Item::COBBLESTONE, 0, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::COBBLESTONE_WALL, 1, 6), "PPP", "PPP"))->setIngredient("P", Item::get(Item::MOSS_STONE, 0, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::NETHER_BRICKS, 0, 1), "XX ", "XX "))->setIngredient("X", Item::get(Item::NETHER_BRICK, 0, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::NETHER_BRICKS_STAIRS, 0, 4), "XXX", "XXX"))->setIngredient("X", Item::get(Item::NETHER_BRICKS, 0, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::QUARTZ_BLOCK, 2, 2), "   ", "PP "))->setIngredient("P", Item::get(Item::QUARTZ_BLOCK, 0, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SLAB, 6, 6), "   ", "PPP"))->setIngredient("P", Item::get(Item::QUARTZ_BLOCK, 0, 3)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SANDSTONE_STAIRS, 0, 4), "P  ", "PP ", "PPP"))->setIngredient("P", Item::get(Item::SANDSTONE, 0, 6)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SANDSTONE, 0, 1), "XX ", "XX "))->setIngredient("X", Item::get(Item::SAND, 0, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::SANDSTONE, 2, 4), "XX ", "XX "))->setIngredient("X", Item::get(Item::SANDSTONE, 0, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE, Stone::POLISHED_GRANITE, 4), "XX ", "XX "))->setIngredient("X", Item::get(Item::STONE, Stone::GRANITE, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE, Stone::POLISHED_DIORITE, 4), "XX ", "XX "))->setIngredient("X", Item::get(Item::STONE, Stone::DIORITE, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE, Stone::POLISHED_ANDESITE, 4), "XX ", "XX "))->setIngredient("X", Item::get(Item::STONE, Stone::ANDESITE, 4)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE_BRICK, 1, 1), "   ", " Y ", " X "))->setIngredient("X", Item::get(Item::STONE_BRICK, 0, 1))->setIngredient("Y", Item::get(Item::VINES, 0, 1)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE, Stone::GRANITE, 1), "   ", " Y ", " X "))->setIngredient("X", Item::get(Item::STONE, Stone::DIORITE, 1))->setIngredient("Y", Item::get(Item::QUARTZ, 0, 1)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE, Stone::DIORITE, 2), "YY ", "XX ", "   "))->setIngredient("X", Item::get(Item::COBBLESTONE, 0, 2))->setIngredient("Y", Item::get(Item::QUARTZ, 0, 2)));
         $this->registerRecipe((new BigShapedRecipe(Item::get(Item::STONE, Stone::ANDESITE, 2), "   ", " Y ", " X "))->setIngredient("X", Item::get(Item::COBBLESTONE, 0, 1))->setIngredient("Y", Item::get(Item::STONE, Stone::DIORITE, 1)));
     }
 }