PocketMine-MP
5.21.2 git-a6534ecbbbcf369264567d27e5ed70f7f5be9816
Loading...
Searching...
No Matches
GoatHorn.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\math\Vector3
;
28
use
pocketmine\player\Player
;
29
use
pocketmine\world\sound\GoatHornSound
;
30
31
class
GoatHorn
extends
Item
implements
Releasable
{
32
33
private
GoatHornType $goatHornType = GoatHornType::PONDER;
34
35
protected
function
describeState
(
RuntimeDataDescriber
$w) : void{
36
$w->enum($this->goatHornType);
37
}
38
39
public
function
getHornType() : GoatHornType{ return $this->goatHornType; }
40
44
public
function
setHornType
(GoatHornType $type) : self{
45
$this->goatHornType = $type;
46
return
$this;
47
}
48
49
public
function
getMaxStackSize
() : int{
50
return 1;
51
}
52
53
public
function
getCooldownTicks
() : int{
54
return 140;
55
}
56
57
public
function
getCooldownTag
() : ?string{
58
return
ItemCooldownTags
::GOAT_HORN;
59
}
60
61
public
function
canStartUsingItem(
Player
$player) : bool{
62
return true;
63
}
64
65
public
function
onClickAir
(
Player
$player,
Vector3
$directionVector, array &$returnedItems) : ItemUseResult{
66
$position = $player->getPosition();
67
$position->getWorld()->addSound($position,
new
GoatHornSound
($this->goatHornType));
68
69
return
ItemUseResult::SUCCESS;
70
}
71
}
pocketmine\item\GoatHorn
Definition
GoatHorn.php:31
pocketmine\item\GoatHorn\setHornType
setHornType(GoatHornType $type)
Definition
GoatHorn.php:44
pocketmine\item\GoatHorn\describeState
describeState(RuntimeDataDescriber $w)
Definition
GoatHorn.php:35
pocketmine\item\GoatHorn\getMaxStackSize
getMaxStackSize()
Definition
GoatHorn.php:49
pocketmine\item\GoatHorn\getCooldownTag
getCooldownTag()
Definition
GoatHorn.php:57
pocketmine\item\GoatHorn\onClickAir
onClickAir(Player $player, Vector3 $directionVector, array &$returnedItems)
Definition
GoatHorn.php:65
pocketmine\item\GoatHorn\getCooldownTicks
getCooldownTicks()
Definition
GoatHorn.php:53
pocketmine\item\ItemCooldownTags
Definition
ItemCooldownTags.php:35
pocketmine\item\Item
Definition
Item.php:60
pocketmine\math\Vector3
Definition
Vector3.php:36
pocketmine\player\Player
Definition
Player.php:170
pocketmine\world\sound\GoatHornSound
Definition
GoatHornSound.php:31
pocketmine\data\runtime\RuntimeDataDescriber
Definition
RuntimeDataDescriber.php:38
pocketmine\item\Releasable
Definition
Releasable.php:31
pocketmine\item
Definition
Apple.php:24
src
item
GoatHorn.php
Generated by
1.12.0