PHP: <?phpnamespace MalakasPlayzMC;use pocketmine\utils\TextFormat;use pocketmine\plugin\PluginBase;use pocketmine\event\player\PlayerChatEvent;use pocketmine\command\CommandSender;use pocketmine\command\Command;use pocketmine\event\entity\EntityEvent;use pocketmine\Player;use pocketmine\entity\Entity;use pocketmine\entity\object\ItemEntity;use pocketmine\network\mcpe\protocol\AddItemEntityPacket;use pocketmine\item\Item;use pocketmine\event\inventory\InventoryPickupItemEvent;class Main extends PluginBase{ public function onEnable(){ $this->getLogger()->info(TextFormat::GOLD . "Enabled!"); } public function onDisable(){ $this->getLogger()->info(TextFormat::GOLD . "Disabled!"); } public function onSneak(Player $player){ if($player->isSneaking()){ $pk = new AddItemEntityPacket(); $pk->entityRuntimeId = ?; //help needed here $pk->type = ?; //and here $pk->position = $player->position; $pk->yaw = $player->yaw; $pk->pitch = $player->pitch; $pk->metadata = $this->getDataPropertyManager()->getAll(); $player->dataPacket($pk); } } public function onPickup(InventoryPickupItemEvent $event){ $event->setCancelled(); }}
What do i do wrong? It doesn't spawn it: PHP: public function onSneak(Player $player){ if($player->isSneaking()){ $player->getLevel()->dropItem(Player, Item::get(Item::DIRT)); } }
As you can see Player is not defined It will need to be defined so code will be PHP: public function onSneak(Player $player){ if($player->isSneaking()){ $player->getLevel()->dropItem($player, Item::get(Item::DIRT)); } }
Use PHP: public function onSneak(PlayerToggleSneakEvent $event){ if($event->isSneaking()){ $event->getPlayer()->getLevel()->dropItem($player, Item::get(Item::DIRT)); }} inside a Listener (and don't forget to register events!)