Added Furnace recipes

This commit is contained in:
Shoghi Cervantes
2014-05-28 00:29:36 +02:00
parent d5f160ea3d
commit 9aed430fda
5 changed files with 49 additions and 68 deletions

View File

@ -40,6 +40,7 @@ class CraftingManager{
public function __construct(){
$this->registerStonecutter();
$this->registerFurnace();
$this->registerDyes();
@ -101,6 +102,23 @@ class CraftingManager{
$this->registerRecipe((new BigShapelessRecipe(Item::get(Item::IRON_BARS, 0, 16)))->addIngredient(Item::get(Item::IRON_INGOT, 0, 6)));
}
protected function registerFurnace(){
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::STONE, 0, 1), Item::get(Item::COBBLESTONE, 0, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::GLASS, 0, 1), Item::get(Item::SAND, 0, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::COAL, 1, 1), Item::get(Item::TRUNK, null, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::GOLD_INGOT, 0, 1), Item::get(Item::GOLD_ORE, 0, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::IRON_INGOT, 0, 1), Item::get(Item::IRON_ORE, 0, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::NETHER_BRICK, 0, 1), Item::get(Item::NETHERRACK, 0, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::COOKED_PORKCHOP, 0, 1), Item::get(Item::RAW_PORKCHOP, 0, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::BRICK, 0, 1), Item::get(Item::CLAY, 0, 1)));
//$this->registerRecipe(new FurnaceRecipe(Item::get(Item::COOKED_FISH, 0, 1), Item::get(Item::RAW_FISH, 0, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::DYE, 2, 1), Item::get(Item::CACTUS, 0, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::DYE, 1, 1), Item::get(Item::RED_MUSHROOM, 0, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::STEAK, 0, 1), Item::get(Item::RAW_BEEF, 0, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::COOKED_CHICKEN, 0, 1), Item::get(Item::RAW_CHICKEN, 0, 1)));
$this->registerRecipe(new FurnaceRecipe(Item::get(Item::BAKED_POTATO, 0, 1), Item::get(Item::POTATO, 0, 1)));
}
protected function registerStonecutter(){
$this->registerRecipe((new StonecutterShapelessRecipe(Item::get(Item::QUARTZ_BLOCK, 0, 1)))->addIngredient(Item::get(Item::QUARTZ, 0, 4)));
$this->registerRecipe((new StonecutterShapelessRecipe(Item::get(Item::BRICK_STAIRS, 0, 4)))->addIngredient(Item::get(Item::BRICKS_BLOCK, 0, 6)));
@ -272,6 +290,28 @@ class CraftingManager{
return $this->recipes;
}
/**
* @return FurnaceRecipe[]
*/
public function getFurnaceRecipes(){
return $this->furnaceRecipes;
}
/**
* @param Item $input
*
* @return FurnaceRecipe
*/
public function matchFurnaceRecipe(Item $input){
if(isset($this->furnaceRecipes[$input->getID().":".$input->getDamage()])){
return $this->furnaceRecipes[$input->getID().":".$input->getDamage()];
}elseif($this->furnaceRecipes[$input->getID().":?"]){
return $this->furnaceRecipes[$input->getID().":?"];
}
return null;
}
/**
* @param ShapedRecipe $recipe
*/
@ -298,7 +338,8 @@ class CraftingManager{
* @param FurnaceRecipe $recipe
*/
public function registerFurnaceRecipe(FurnaceRecipe $recipe){
$input = $recipe->getInput();
$this->furnaceRecipes[$input->getID().":".($input->getDamage() === null ? "?":$input->getDamage())] = $recipe;
}
/**

View File

@ -0,0 +1,54 @@
<?php
/*
*
* ____ _ _ __ __ _ __ __ ____
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
*
*
*/
namespace pocketmine\inventory;
use pocketmine\item\Item;
//TODO: remove this
abstract class Fuel{
public static $duration = array(
Item::COAL => 80,
Item::COAL_BLOCK => 800,
Item::TRUNK => 15,
Item::WOODEN_PLANKS => 15,
Item::SAPLING => 5,
Item::WOODEN_AXE => 10,
Item::WOODEN_PICKAXE => 10,
Item::WOODEN_SWORD => 10,
Item::WOODEN_SHOVEL => 10,
Item::WOODEN_HOE => 10,
Item::STICK => 5,
Item::FENCE => 15,
Item::FENCE_GATE => 15,
Item::WOODEN_STAIRS => 15,
Item::SPRUCE_WOOD_STAIRS => 15,
Item::BIRCH_WOOD_STAIRS => 15,
Item::JUNGLE_WOOD_STAIRS => 15,
Item::TRAPDOOR => 15,
Item::WORKBENCH => 15,
Item::BOOKSHELF => 15,
Item::CHEST => 15,
Item::BUCKET => 1000,
);
}