PocketMine-MP
5.23.3 git-f7687af337d001ddbcc47b8e773f014a33faa662
Loading...
Searching...
No Matches
Potion.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
use
pocketmine\world\sound\BottleEmptySound
;
30
31
class
Potion
extends
Item
implements
ConsumableItem
{
32
33
private
PotionType
$potionType = PotionType::WATER;
34
35
protected
function
describeState
(
RuntimeDataDescriber
$w) : void{
36
$w->enum($this->potionType);
37
}
38
39
public
function
getType() :
PotionType
{ return $this->potionType; }
40
44
public
function
setType
(
PotionType
$type) : self{
45
$this->potionType = $type;
46
return
$this;
47
}
48
49
public
function
getMaxStackSize
() : int{
50
return 1;
51
}
52
53
public
function
onConsume
(
Living
$consumer) : void{
54
$consumer->broadcastSound(new
BottleEmptySound
());
55
}
56
57
public
function
getAdditionalEffects
() : array{
58
//TODO: check CustomPotionEffects NBT
59
return $this->potionType->
getEffects
();
60
}
61
62
public
function
getResidue
() :
Item
{
63
return
VanillaItems
::GLASS_BOTTLE();
64
}
65
66
public
function
canStartUsingItem(
Player
$player) : bool{
67
return true;
68
}
69
}
pocketmine\entity\Living
Definition
Living.php:86
pocketmine\item\Item
Definition
Item.php:60
pocketmine\item\Potion
Definition
Potion.php:31
pocketmine\item\Potion\onConsume
onConsume(Living $consumer)
Definition
Potion.php:53
pocketmine\item\Potion\setType
setType(PotionType $type)
Definition
Potion.php:44
pocketmine\item\Potion\getAdditionalEffects
getAdditionalEffects()
Definition
Potion.php:57
pocketmine\item\Potion\describeState
describeState(RuntimeDataDescriber $w)
Definition
Potion.php:35
pocketmine\item\Potion\getMaxStackSize
getMaxStackSize()
Definition
Potion.php:49
pocketmine\item\Potion\getResidue
getResidue()
Definition
Potion.php:62
pocketmine\item\VanillaItems
Definition
VanillaItems.php:340
pocketmine\player\Player
Definition
Player.php:170
pocketmine\world\sound\BottleEmptySound
Definition
BottleEmptySound.php:30
pocketmine\data\runtime\RuntimeDataDescriber
Definition
RuntimeDataDescriber.php:38
pocketmine\item\ConsumableItem
Definition
ConsumableItem.php:31
pocketmine\item
Definition
Apple.php:24
pocketmine\item\getEffects
@ getEffects
Definition
SuspiciousStewType.php:63
pocketmine\item\PotionType
PotionType
Definition
PotionType.php:81
src
item
Potion.php
Generated by
1.12.0