Skip to content

Commit c652276

Browse files
committed
Dispensers can now dispense splash potions. #85
1 parent a694ee0 commit c652276

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/tedo0627/redstonecircuit/block/mechanism/BlockDispenser.php

+8
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace tedo0627\redstonecircuit\block\mechanism;
44

5+
use InvalidArgumentException;
56
use pocketmine\block\Block;
67
use pocketmine\block\BlockBreakInfo;
78
use pocketmine\block\BlockIdentifier;
@@ -15,6 +16,7 @@
1516
use pocketmine\entity\projectile\Egg;
1617
use pocketmine\entity\projectile\ExperienceBottle;
1718
use pocketmine\entity\projectile\Snowball;
19+
use pocketmine\entity\projectile\SplashPotion;
1820
use pocketmine\item\Item;
1921
use pocketmine\item\ItemFactory;
2022
use pocketmine\item\ItemIds;
@@ -179,6 +181,12 @@ public function getEntity(Location $location, Item $item): Entity {
179181
return new ExperienceBottle($location, null);
180182
}
181183
};
184+
self::$behaviors[ItemIds::SPLASH_POTION] = new class extends ProjectileDispenseBehavior {
185+
public function getEntity(Location $location, Item $item): Entity {
186+
if (!$item instanceof \pocketmine\item\SplashPotion) throw new InvalidArgumentException("item was not SplashPotion");
187+
return new SplashPotion($location, null, $item->getType());
188+
}
189+
};
182190
self::$behaviors[ItemIds::BUCKET] = new BucketDispenseBehavior();
183191
self::$behaviors[ItemIds::FLINT_STEEL] = new FlintSteelDispenseBehavior();
184192
self::$behaviors[ItemIds::DYE] = new BoneMealDispenseBehavior();

0 commit comments

Comments
 (0)