PocketMine-MP
5.21.2 git-a6534ecbbbcf369264567d27e5ed70f7f5be9816
Loading...
Searching...
No Matches
Medicine.php
1
<?php
2
3
/*
4
*
5
* ____ _ _ __ __ _ __ __ ____
6
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
7
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
8
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
9
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
10
*
11
* This program is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU Lesser General Public License as published by
13
* the Free Software Foundation, either version 3 of the License, or
14
* (at your option) any later version.
15
*
16
* @author PocketMine Team
17
* @link http://www.pocketmine.net/
18
*
19
*
20
*/
21
22
declare(strict_types=1);
23
24
namespace
pocketmine\item
;
25
26
use
pocketmine\data\runtime\RuntimeDataDescriber
;
27
use
pocketmine\entity\Living
;
28
use
pocketmine\player\Player
;
29
30
class
Medicine
extends
Item
implements
ConsumableItem
{
31
32
private
MedicineType
$medicineType = MedicineType::EYE_DROPS;
33
34
protected
function
describeState
(
RuntimeDataDescriber
$w) : void{
35
$w->enum($this->medicineType);
36
}
37
38
public
function
getType() :
MedicineType
{ return $this->medicineType; }
39
43
public
function
setType
(
MedicineType
$type) : self{
44
$this->medicineType = $type;
45
return
$this;
46
}
47
48
public
function
getMaxStackSize
() : int{
49
return 1;
50
}
51
52
public
function
onConsume
(
Living
$consumer) : void{
53
$consumer->
getEffects
()->remove($this->getType()->getCuredEffect());
54
}
55
56
public
function
getAdditionalEffects
() : array{
57
return [];
58
}
59
60
public
function
getResidue
() :
Item
{
61
return
VanillaItems
::GLASS_BOTTLE();
62
}
63
64
public
function
canStartUsingItem(
Player
$player) : bool{
65
return $player->
getEffects
()->has($this->getType()->getCuredEffect());
66
}
67
}
pocketmine\entity\Living
Definition
Living.php:82
pocketmine\item\Item
Definition
Item.php:60
pocketmine\item\Medicine
Definition
Medicine.php:30
pocketmine\item\Medicine\setType
setType(MedicineType $type)
Definition
Medicine.php:43
pocketmine\item\Medicine\getAdditionalEffects
getAdditionalEffects()
Definition
Medicine.php:56
pocketmine\item\Medicine\getMaxStackSize
getMaxStackSize()
Definition
Medicine.php:48
pocketmine\item\Medicine\onConsume
onConsume(Living $consumer)
Definition
Medicine.php:52
pocketmine\item\Medicine\describeState
describeState(RuntimeDataDescriber $w)
Definition
Medicine.php:34
pocketmine\item\Medicine\getResidue
getResidue()
Definition
Medicine.php:60
pocketmine\item\VanillaItems
Definition
VanillaItems.php:338
pocketmine\player\Player
Definition
Player.php:170
pocketmine\data\runtime\RuntimeDataDescriber
Definition
RuntimeDataDescriber.php:38
pocketmine\item\ConsumableItem
Definition
ConsumableItem.php:31
pocketmine\item
Definition
Apple.php:24
pocketmine\item\MedicineType
MedicineType
Definition
MedicineType.php:29
pocketmine\item\getEffects
@ getEffects
Definition
SuspiciousStewType.php:45
src
item
Medicine.php
Generated by
1.12.0