diff --git a/src/pocketmine/item/Bucket.php b/src/pocketmine/item/Bucket.php index b3b1db76f..5db6ce9a1 100644 --- a/src/pocketmine/item/Bucket.php +++ b/src/pocketmine/item/Bucket.php @@ -51,7 +51,7 @@ class Bucket extends Item implements Consumable{ return 0; } - public function onActivate(Level $level, Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : bool{ + public function onActivate(Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : bool{ $resultBlock = BlockFactory::get($this->meta); if($resultBlock instanceof Air){ diff --git a/src/pocketmine/item/FlintSteel.php b/src/pocketmine/item/FlintSteel.php index 4196de9c5..e98c5f185 100644 --- a/src/pocketmine/item/FlintSteel.php +++ b/src/pocketmine/item/FlintSteel.php @@ -36,8 +36,10 @@ class FlintSteel extends Tool{ parent::__construct(self::FLINT_STEEL, $meta, "Flint and Steel"); } - public function onActivate(Level $level, Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : bool{ + public function onActivate(Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : bool{ if($blockReplace->getId() === self::AIR and ($blockClicked instanceof Solid)){ + $level = $player->getLevel(); + assert($level !== null); $level->setBlock($blockReplace, BlockFactory::get(Block::FIRE), true); $level->broadcastLevelSoundEvent($blockReplace->add(0.5, 0.5, 0.5), LevelSoundEventPacket::SOUND_IGNITE); diff --git a/src/pocketmine/item/Item.php b/src/pocketmine/item/Item.php index cd4016714..d6aa8a1f4 100644 --- a/src/pocketmine/item/Item.php +++ b/src/pocketmine/item/Item.php @@ -792,7 +792,6 @@ class Item implements ItemIds, \JsonSerializable{ /** * Called when a player uses this item on a block. * - * @param Level $level * @param Player $player * @param Block $blockReplace * @param Block $blockClicked @@ -801,7 +800,7 @@ class Item implements ItemIds, \JsonSerializable{ * * @return bool */ - public function onActivate(Level $level, Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : bool{ + public function onActivate(Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : bool{ return false; } diff --git a/src/pocketmine/item/Painting.php b/src/pocketmine/item/Painting.php index 97e425849..3fd1e84e8 100644 --- a/src/pocketmine/item/Painting.php +++ b/src/pocketmine/item/Painting.php @@ -33,7 +33,7 @@ class Painting extends Item{ parent::__construct(self::PAINTING, $meta, "Painting"); } - public function onActivate(Level $level, Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : bool{ + public function onActivate(Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : bool{ if($blockClicked->isTransparent() === false and $face > 1 and $blockReplace->isSolid() === false){ $faces = [ 2 => 1, diff --git a/src/pocketmine/item/SpawnEgg.php b/src/pocketmine/item/SpawnEgg.php index 4b638a11a..063f8d3d5 100644 --- a/src/pocketmine/item/SpawnEgg.php +++ b/src/pocketmine/item/SpawnEgg.php @@ -34,14 +34,14 @@ class SpawnEgg extends Item{ parent::__construct(self::SPAWN_EGG, $meta, "Spawn Egg"); } - public function onActivate(Level $level, Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : bool{ + public function onActivate(Player $player, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector) : bool{ $nbt = Entity::createBaseNBT($blockReplace->add(0.5, 0, 0.5), null, lcg_value() * 360, 0); if($this->hasCustomName()){ $nbt->setString("CustomName", $this->getCustomName()); } - $entity = Entity::createEntity($this->meta, $level, $nbt); + $entity = Entity::createEntity($this->meta, $player->getLevel(), $nbt); if($entity instanceof Entity){ --$this->count; diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index ebdcc8009..7c24196ca 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -1854,7 +1854,7 @@ class Level implements ChunkManager, Metadatable{ return true; } - if(!$player->isSneaking() and $item->onActivate($this, $player, $blockReplace, $blockClicked, $face, $clickVector)){ + if(!$player->isSneaking() and $item->onActivate($player, $blockReplace, $blockClicked, $face, $clickVector)){ return true; } }else{