1. The forums will be archived and moved to a read only mode in about 2 weeks (mid march).

Solved Enchantment

Discussion in 'Development' started by Daniel23, Oct 8, 2017.

  1. Daniel23

    Daniel23 Witch

    Messages:
    65
    GitHub:
    daniel23
    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);
     
  2. WinterBuild7074

    WinterBuild7074 Zombie Pigman

    Messages:
    693
    GitHub:
    winterbuild7074
    Are you getting errors?
    You also don't need the int inside the setLevel() function.
     
  3. Daniel23

    Daniel23 Witch

    Messages:
    65
    GitHub:
    daniel23
    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
     
  4. Daniel23

    Daniel23 Witch

    Messages:
    65
    GitHub:
    daniel23
    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)
     
  5. Teamblocket

    Teamblocket Zombie

    Messages:
    301
    GitHub:
    teamblocket
    the only enchant i know works is any type of protection..
     
  6. GamakCZ

    GamakCZ Zombie Pigman

    Messages:
    598
    GitHub:
    GamakCZ
    Enchantments are not implemented yet :D

    if you want to add enchant to item you can create new.

    PHP:
    $item Item::get(Item::BOW01);
    $enchantment = new Enchantment(Enchantment::INFINITY"Infinity"1Enchantment::ACTIVATION_HELD0);
    $enchantment->setLevel(1);
    $item->addEnchantment($enchantment);
    $player->getInventory()->addItem($item);
    $player->getInventory()->addItem(Item::get(Item::ARROW01));
    https://github.com/pmmp/PocketMine-...ketmine/item/enchantment/Enchantment.php#L135
     
  7. Daniel23

    Daniel23 Witch

    Messages:
    65
    GitHub:
    daniel23
    does moderator put SOLVED tag or you can put it yourself?
     
  8. WinterBuild7074

    WinterBuild7074 Zombie Pigman

    Messages:
    693
    GitHub:
    winterbuild7074
    Add it yourself if you think your question is answered and done.
     
    iiFlamiinBlaze likes this.
  9. Teamblocket

    Teamblocket Zombie

    Messages:
    301
    GitHub:
    teamblocket
    wait so you can add the enchants yourself , then later on listen for events and check for the enchant?!?!?
     
  10. Kkora

    Kkora Baby Zombie

    Messages:
    189
    GitHub:
    shisui203
    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.
     
  11. KielKing

    KielKing Zombie

    Messages:
    245
    GitHub:
    kielking
    replied more than one year later...
     
    Kkora likes this.
  12. Emirhan Akpınar

    Emirhan Akpınar Slime

    Messages:
    90
    PHP:
    /** @var Item $item */
    $item->addEnchantment(new EnchantmentInstance(Enchantment::getEnchantment(id), level));
     
  13. Kyd

    Kyd Zombie Pigman

    Messages:
    678
    GitHub:
    boi1216
    This is outdated
     
  14. JinKaidoMC

    JinKaidoMC Creeper

    Messages:
    5
    GitHub:
    kaidoMC
    $item = Item::get(278, 0,1);
    $ec = Enchantment::getEnchantment(15)->setLevel(5);
    $inv->addEnchantment($ec);
    $inv->addItem($item);
     
  15. Kkora

    Kkora Baby Zombie

    Messages:
    189
    GitHub:
    shisui203
    Outdated code. Now they're using EnchantmentInstance
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.