diff --git a/src/pocketmine/item/GoldenApple.php b/src/pocketmine/item/GoldenApple.php index c6108b1e0..acbe4291c 100644 --- a/src/pocketmine/item/GoldenApple.php +++ b/src/pocketmine/item/GoldenApple.php @@ -22,10 +22,17 @@ namespace pocketmine\item; use pocketmine\entity\Effect; +use pocketmine\entity\Entity; +use pocketmine\entity\Human; class GoldenApple extends Food{ + public function __construct($meta = 0, $count = 1){ - parent::__construct(self::GOLDEN_APPLE, $meta, $count, ($meta === 1 ? "Enchanted " : "") . "Golden Apple"); + parent::__construct(self::GOLDEN_APPLE, $meta, $count, "Golden Apple"); + } + + public function canBeConsumedBy(Entity $entity) : bool{ + return $entity instanceof Human; } public function getFoodRestore() : int{ @@ -37,12 +44,7 @@ class GoldenApple extends Food{ } public function getAdditionalEffects() : array{ - return $this->meta === 1 ? [ - Effect::getEffect(Effect::REGENERATION)->setDuration(600)->setAmplifier(4), - Effect::getEffect(Effect::ABSORPTION)->setDuration(2400), - Effect::getEffect(Effect::DAMAGE_RESISTANCE)->setDuration(6000), - Effect::getEffect(Effect::FIRE_RESISTANCE)->setDuration(6000), - ] : [ + return [ Effect::getEffect(Effect::REGENERATION)->setDuration(100)->setAmplifier(1), Effect::getEffect(Effect::ABSORPTION)->setDuration(2400) ]; diff --git a/src/pocketmine/item/GoldenAppleEnchanted.php b/src/pocketmine/item/GoldenAppleEnchanted.php new file mode 100644 index 000000000..e9cba2f45 --- /dev/null +++ b/src/pocketmine/item/GoldenAppleEnchanted.php @@ -0,0 +1,40 @@ +setDuration(600)->setAmplifier(4), + Effect::getEffect(Effect::ABSORPTION)->setDuration(2400), + Effect::getEffect(Effect::DAMAGE_RESISTANCE)->setDuration(6000), + Effect::getEffect(Effect::FIRE_RESISTANCE)->setDuration(6000), + ]; + } +} \ No newline at end of file diff --git a/src/pocketmine/item/Item.php b/src/pocketmine/item/Item.php index 23b7cbd6a..4c3f4658d 100644 --- a/src/pocketmine/item/Item.php +++ b/src/pocketmine/item/Item.php @@ -215,6 +215,7 @@ class Item implements ItemIds, \JsonSerializable{ self::$list[self::PRISMARINE_CRYSTALS] = PrismarineCrystals::class; self::$list[self::PRISMARINE_SHARD] = PrismarineShard::class; self::$list[self::NETHER_STAR] = NetherStar::class; + self::$list[self::ENCHANTED_GOLDEN_APPLE] = GoldenAppleEnchanted::class; for($i = 0; $i < 256; ++$i){ if(Block::$list[$i] !== null){