Помогите с плагином, плиз

Как сделать когда ты открываешь фермера (пример) тебе открывается двойной сундук , чтобы когда ты берешь предмет к себе в инвентарь он возврощался назад

InventoryTransactionEvent отменять

на пример

	public function handleInventoryTransaction(InventoryTransactionEvent $event){
		/** @noinspection PhpDeprecationInspection */
		$transaction = $event->getTransaction();
		if(!Auction::getInstance()->isViewingAuction($player = $transaction->getPlayer())){
			return;
		}
		$event->setCancelled(true);
		/** @var BaseTransaction $_transaction */
		foreach($transaction->getTransactions() as $_transaction){
			$inventory = $_transaction->getInventory();
			if($inventory instanceof PersonalDoubleInventory){
				/** @var Player $player */
				if($inventory->getViewerName() !== $player->getName()){
					return;
				}
				$item = $inventory->getItem($_transaction->getSlot());
				if(!$item->hasCompoundTag()){
					return;
				}
				$nbt = $item->getNamedTag();
				if(!isset($nbt->auctionWindowItem)){
					return;
				}
				if(isset($nbt->page)){
					Auction::getInstance()->openPage($player, $inventory, $nbt->page->getValue());
					return;
				}
				if(!isset($nbt->owner) or !isset($nbt->uniqueKey)){
					return;
				}
				$uniqueKey = $nbt->uniqueKey->getValue();
				if(Auction::getInstance()->hasItemInvalidated($uniqueKey)){
					$player->sendMessage("§a➛ §cЭтот предмет больше не продаётся!");
					$player->sendTitle("", "§cПредмет не продаётся!", 20, 20, 20);
					return;
				}
				$ownerName = $nbt->owner->getValue();
				$currentTime = time();
				if($ownerName === $player->getLowerCaseName()){
					if(($this->confirmations[$player->getName()][$uniqueKey] ?? 0) < $currentTime){
						$this->confirmations[$player->getName()][$uniqueKey] = $currentTime + 8;
						$player->sendPopup("§aНажми на предмет ещё раз!");
						return;
					}
					$inventory->setItem($_transaction->getSlot(), new Item(BlockIds::AIR));
					Auction::getInstance()->pullFromTheAuction($player, $uniqueKey);
					unset($this->confirmations[$player->getName()][$uniqueKey]);
					return;
				}
				if($nbt->expirationDate->getValue() < Helper::breakTime()){
					$player->sendMessage("§a➛ §cЭтот предмет больше не продаётся!");
					$player->sendTitle("", "§cВремя вышло", 20, 20, 20);
					return;
				}
				$price = $nbt->price->getValue();
				if(($playerMoney = EconomyAPI::getInstance()->myMoney($player)) < $price){
					$notEnough = number_format($price - $playerMoney);
					$player->sendMessage("§a➛ §cТебе не хватает §b" . $notEnough . EconomyAPI::getInstance()->getMonetaryUnit());
					return;
				}
				if(!$player->getInventory()->canAddItem($item)){
					$player->sendMessage("§a➛ §cУ тебя нет места в инвентаре!");
					return;
				}
				if(($this->confirmations[$player->getName()][$uniqueKey] ?? 0) < $currentTime){
					$this->confirmations[$player->getName()][$uniqueKey] = $currentTime + 12;
					$player->sendPopup("§aНажми ещё раз для покупки!");
					return;
				}
				$inventory->setItem($_transaction->getSlot(), new Item(BlockIds::AIR));
				Auction::getInstance()->pullFromTheAuction($player, $uniqueKey, true);
				unset($this->confirmations[$player->getName()][$uniqueKey]);
				return;
			}
		}
	}

и?

можно код?

Хехе, кусок из кода Меметова.

хз вроде

дай код не в перемешку с ауком

А еще че тебе? Я дал событие которое вызывается при перемещении предмета в инвентаре, дальше думай сам