how do you set enchants to an item? here's my attempt Code: $bow = Item::get(261, 0, 1); $infinity = Enchantment::getEnchantment(22); $infinity->setLevel(int 1); $power = Enchantment::getEnchantment(19); $power->setLevel(int 3); $bow->addEnchantment($infinity); $bow->addEnchantment($power); $player->getInventory()->addItem($bow);
I had it where there's no int and it doesn't work it give me errors, when I put the int it's not loading the Plugin
When INT isnt there 08.10 16:39:33 [Server] Server thread/CRITICAL Error: "Call to a member function setLevel() on null" (EXCEPTION) in "core/src/uhc/Main" at line 751 08.10 16:39:33 [Server] Server thread/DEBUG #0 src/pocketmine/command/PluginCommand(58): uhc\Main->onCommand(pocketmine\Player object, string uhc, string uhc, array Array()) 08.10 16:39:33 [Server] Server thread/DEBUG #1 src/pocketmine/command/SimpleCommandMap(241): pocketmine\command\PluginCommand->execute(pocketmine\Player object, string uhc, array Array()) 08.10 16:39:33 [Server] Server thread/DEBUG #2 src/pocketmine/Server(1952): pocketmine\command\SimpleCommandMap->dispatch(pocketmine\Player object, string uhc meetarcher) 08.10 16:39:33 [Server] Server thread/DEBUG #3 src/pocketmine/Player(2093): pocketmine\Server->dispatchCommand(pocketmine\Player object, string uhc meetarcher) 08.10 16:39:33 [Server] Server thread/DEBUG #4 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(219): pocketmine\Player->chat(string /uhc meetarcher) 08.10 16:39:33 [Server] Server thread/DEBUG #5 src/pocketmine/network/mcpe/protocol/CommandRequestPacket(47): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleCommandRequest(pocketmine\network\mcpe\protocol\CommandRequestPacket object) 08.10 16:39:33 [Server] Server thread/DEBUG #6 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(91): pocketmine\network\mcpe\protocol\CommandRequestPacket->handle(pocketmine\network\mcpe\PlayerNetworkSessionAdapter object) 08.10 16:39:33 [Server] Server thread/DEBUG #7 src/pocketmine/network/mcpe/protocol/BatchPacket(115): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(pocketmine\network\mcpe\protocol\CommandRequestPacket object) 08.10 16:39:33 [Server] Server thread/DEBUG #8 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(91): pocketmine\network\mcpe\protocol\BatchPacket->handle(pocketmine\network\mcpe\PlayerNetworkSessionAdapter object) 08.10 16:39:33 [Server] Server thread/DEBUG #9 src/pocketmine/Player(3083): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(pocketmine\network\mcpe\protocol\BatchPacket object) 08.10 16:39:33 [Server] Server thread/DEBUG #10 src/pocketmine/network/mcpe/RakLibInterface(143): pocketmine\Player->handleDataPacket(pocketmine\network\mcpe\protocol\BatchPacket object) 08.10 16:39:33 [Server] Server thread/DEBUG #11 src/raklib/server/ServerHandler(97): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string 37.228.243.102:45634, raklib\protocol\EncapsulatedPacket object, integer 0) 08.10 16:39:33 [Server] Server thread/DEBUG #12 src/pocketmine/network/mcpe/RakLibInterface(82): raklib\server\ServerHandler->handlePacket() 08.10 16:39:33 [Server] Server thread/DEBUG #13 src/pocketmine/network/Network(89): pocketmine\network\mcpe\RakLibInterface->process() 08.10 16:39:33 [Server] Server thread/DEBUG #14 src/pocketmine/Server(2485): pocketmine\network\Network->processInterfaces() 08.10 16:39:33 [Server] Server thread/DEBUG #15 src/pocketmine/Server(2238): pocketmine\Server->tick() 08.10 16:39:33 [Server] Server thread/DEBUG #16 src/pocketmine/Server(2117): pocketmine\Server->tickProcessor() 08.10 16:39:33 [Server] Server thread/DEBUG #17 src/pocketmine/Server(1699): pocketmine\Server->start() 08.10 16:39:33 [Server] Server thread/DEBUG #18 src/pocketmine/PocketMine(553): pocketmine\Server->__construct(BaseClassLoader object, pocketmine\utils\MainLogger object, string phar://C:/Bitnami/multicraft-2.1.1-2/apps/multicraft/servers/server206/custom7.2.phar/, string \, string \plugins\) 08.10 16:39:33 [Server] Server thread/DEBUG #19 C:/Bitnami/multicraft-2.1.1-2/apps/multicraft/servers/server206/custom7.2.phar(1): require(string phar://C:/Bitnami/multicraft-2.1.1-2/apps/multicraft/servers/server206/custom7.2.phar/src/pocketmine/PocketMine.php)
Enchantments are not implemented yet if you want to add enchant to item you can create new. PHP: $item = Item::get(Item::BOW, 0, 1);$enchantment = new Enchantment(Enchantment::INFINITY, "Infinity", 1, Enchantment::ACTIVATION_HELD, 0);$enchantment->setLevel(1);$item->addEnchantment($enchantment);$player->getInventory()->addItem($item);$player->getInventory()->addItem(Item::get(Item::ARROW, 0, 1)); https://github.com/pmmp/PocketMine-...ketmine/item/enchantment/Enchantment.php#L135
wait so you can add the enchants yourself , then later on listen for events and check for the enchant?!?!?
On a Private Item? I have a code that add enchantment on an specific item: Code: $item = Item::get(278, 0, 1); $item->setCustomName("§r§l§b» §e§5Obsidian§b Pickaxe «§d§r"); $item->addEnchantment(Enchantment::getEnchantment(15)->setLevel(200)); $item->addEnchantment(Enchantment::getEnchantment(17)->setLevel(200)); $item->addEnchantment(Enchantment::getEnchantment(18)->setLevel(200)); $item->addEnchantment(Enchantment::getEnchantment(21)->setLevel(2)); $p->getInventory()->addItem($item); This is my MineReward plugin code.
PHP: /** @var Item $item */$item->addEnchantment(new EnchantmentInstance(Enchantment::getEnchantment(id), level));
$item = Item::get(278, 0,1); $ec = Enchantment::getEnchantment(15)->setLevel(5); $inv->addEnchantment($ec); $inv->addItem($item);