Hello, i get a very big problem with ban items on my server. Griefers can use bucket's on server. I use a many events, but all dont work. Code: public function PlayerItemConsumeEvent(PlayerItemConsumeEvent $event){ $event->setCancelled(true); } Code: public function PlayerItemHeldEvent(PlayerItemHeldEvent $event){ $event->setCancelled(true); } Code: public function PlayerInteractEvent(PlayerInteractEvent $event){ $event->setCancelled(true); } And in all variants i can place and give bucket(lava, water) in my inventory. Server in creative mode.
Water and lava are not placed like regular blocks. In the old API, to prevent water and lava from being placed, you had to cancel a player.block.touch event.
I can assume that the whole problem is to intercept onActivate function in /pocketmine/item/Bucket.php
And where is the onActivate function called from? It is from the Level class, right after event PlayerInteractEvent is triggered in the function useItemOn().