Clean up Armor classes

This commit is contained in:
Dylan K. Taylor
2019-03-12 18:53:51 +00:00
parent 2e4b3d3d46
commit 8b9eeb0b7f
22 changed files with 77 additions and 651 deletions

View File

@ -25,6 +25,7 @@ declare(strict_types=1);
namespace pocketmine\item;
use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\inventory\ArmorInventory;
use pocketmine\item\enchantment\Enchantment;
use pocketmine\item\enchantment\ProtectionEnchantment;
use pocketmine\nbt\tag\IntTag;
@ -37,6 +38,28 @@ abstract class Armor extends Durable{
public const TAG_CUSTOM_COLOR = "customColor"; //TAG_Int
/** @var ArmorTypeInfo */
private $armorInfo;
public function __construct(int $id, int $variant, string $name, ArmorTypeInfo $info){
parent::__construct($id, $variant, $name);
$this->armorInfo = $info;
}
public function getMaxDurability() : int{
return $this->armorInfo->getMaxDurability();
}
public function getDefensePoints() : int{
return $this->armorInfo->getDefensePoints();
}
/**
* @see ArmorInventory
* @return int
*/
abstract public function getArmorSlot() : int;
public function getMaxStackSize() : int{
return 1;
}