I tried to add nbt tags to item in nbt by this way PHP: public function onCraft(CraftItemEvent $event){ $player = $event->getPlayer(); $items = $event->getOutputs(); foreach($items as $item){ if($item->getCustomName() === "§d✠§l§9 「 §cCÚP§5 OBSIDIAN §9」 §r§d✠"){ $item->setCustomName("§d✠§l§9 「 §cCÚP§5 OBSIDIAN §9」 §r§d✠ ĐÃ UP"); $nbt = $item->getNamedTag() ?? new CompoundTag("", []); $nbt->setTag(new StringTag("Name", "CupObsidian")); $nbt->setTag(new StringTag("ToggleThoiGianHoi", "true")); $nbt->setTag(new StringTag("Owner", $player->getName())); $nbt->setTag(new IntTag("SoThoiGianHoi", 15)); $item->setNamedTag($nbt); } } } But it didnt work My full main PHP: <?phpdeclare(strict_types=1);namespace MrDinoDuck\CustomCraft;use pocketmine\plugin\PluginBase;use pocketmine\inventory\ShapedRecipe;use pocketmine\item\Item;use pocketmine\item\enchantment\{Enchantment, EnchantmentInstance};use pocketmine\nbt\tag\CompoundTag;use pocketmine\nbt\tag\ListTag;use pocketmine\nbt\tag\StringTag;use pocketmine\nbt\tag\IntTag;use pocketmine\event\Listener;use pocketmine\event\inventory\CraftItemEvent;class Main extends PluginBase implements Listener{ public function onEnable() : void{ $this->getLogger()->info(""); $this->RegisterCraftRecipe(); $this->getServer()->getPluginManager()->registerEvents($this, $this); } public function RegisterCraftRecipe(){ $this->cupObisidian();// $this->Test(); } public function cupObisidian(){ $cupobsidian = Item::get(Item::DIAMOND_PICKAXE);// $nbt = $cupobsidian->getNamedTag() ?? new CompoundTag("", []);// $nbt->setTag(new StringTag("Name", "CupObsidian"));// $nbt->setTag(new StringTag("ToggleThoiGianHoi", "true"));// $nbt->setTag(new StringTag("Owner", "$"));// $nbt->setTag(new IntTag("SoThoiGianHoi", 15));// $cupobsidian->setNamedTag($nbt); $cupobsidian->setCustomName("§d✠§l§9 「 §cCÚP§5 OBSIDIAN §9」 §r§d✠"); $cupobsidian->addEnchantment(new EnchantmentInstance(Enchantment::getEnchantment(17), 10)); $cupobsidian->addEnchantment(new EnchantmentInstance(Enchantment::getEnchantment(15), 15)); $unbreaking = new EnchantmentInstance(Enchantment::getEnchantment(17)); $unbreaking->setLevel(10); $effective = new EnchantmentInstance(Enchantment::getEnchantment(15)); $effective->setLevel(15); $cupobsidian->addEnchantment($unbreaking); $cupobsidian->addEnchantment($effective); $cupobsidianrecipe = new ShapedRecipe(["AAA","ABA","AAA"],[ "A"=>Item::get(Item::OBSIDIAN), "B"=>Item::get(Item::DIAMOND_PICKAXE)] ,[$cupobsidian]); $cupobsidianrecipe->registerToCraftingManager($this->getServer()->getCraftingManager()); } public function onCraft(CraftItemEvent $event){ $player = $event->getPlayer(); $items = $event->getOutputs(); foreach($items as $item){ if($item->getCustomName() === "§d✠§l§9 「 §cCÚP§5 OBSIDIAN §9」 §r§d✠"){ $item->setCustomName("§d✠§l§9 「 §cCÚP§5 OBSIDIAN §9」 §r§d✠ ĐÃ UP"); $nbt = $item->getNamedTag() ?? new CompoundTag("", []); $nbt->setTag(new StringTag("Name", "CupObsidian")); $nbt->setTag(new StringTag("ToggleThoiGianHoi", "true")); $nbt->setTag(new StringTag("Owner", $player->getName())); $nbt->setTag(new IntTag("SoThoiGianHoi", 15)); $item->setNamedTag($nbt); } } } public function onDisable() : void{ $this->getLogger()->info("Bye"); }}
Sorry for no detail information. Anyway, when i crafted the item, it still can craft but it didnt updated the name