[LiteCore] Ошибка, помогите пожалуйста

[20:13:29] [BlackCore/CRITICAL]: Could not execute task pocketmine\scheduler\CallbackTask: Call to a member function myMoney() on null
[20:13:29] [BlackCore/CRITICAL]: Error: “Call to a member function myMoney() on null” (EXCEPTION) in “plugins/BlackNex-Api/src/BlackAPI/APIfunctions” at line 86

а вот сам код

   $p->sendTip($space . "§c× §fтут тип чота קr§6\n§6" . $space . date("j.m.Y") . "§r\n" . $space . "§7Ник§8: §6" . $p->getName() . "§r\n" . $space . "§7Донат§8: " . ChatAPI::getGroup($p) .PHP_EOL."§r".$space."§7Гильдия§8: §6".ChatAPI::getGuildForChat($p)."§r\n" . $space . "§7Баланс§8: §6$" . $this->main->eco->myMoney($s)($p->getName()) . "§r\n" . $space . "§7Онлайн§8: §6" .count($this->getServer()->getOnlinePlayers()). "§8/§6" . $this->getServer()->getMaxPlayers(). "§r\n\n" . $space . $pvp.str_repeat("\n", 11));

если удалять отображение баланса в хотбаре то ошибка проподает, но мне нужен баланс

чо это

EconomyApi

да я сам хз типо оно работало а потом перестало

ахахха @HERO

плагин скинь исправлю

хд
топчик

там ты хуй разберешь что я писал

если полностью кину

кидай

APIfunctions.php (9,7 КБ)

тут хотбар

я в душе не чаю почему он перестал работать,3 часа работал и после рестарта перестал

ладно

<?php

namespace BlackAPI;

use pocketmine\event\server\{DataPacketReceiveEvent, DataPacketSendEvent, ContainerSetSlotPacket};
use pocketmine\item\{ItemIds, Item};
use pocketmine\network\mcpe\protocol\{PlayerActionPacket, AnimatePacket, DataPacket, ContainerClosePacket};
use pocketmine\{Server, Player};
use pocketmine\math\Vector3;
use pocketmine\entity\{EnderPearl, NPC, Vindicator, Effect, Evoker, Entity, EvokerFangs};
use pocketmine\level\{Level, Position, Explosion};
use pocketmine\level\sound\{EndermanTeleportSound, ExplodeSound, Sound, ExpPickupSound, ClickSound, PopSound};
use pocketmine\utils\{Config, TextFormat};
use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\block\Block;
use pocketmine\level\particle\{FloatingTextParticle, HugeExplodeParticle};
use pocketmine\nbt\tag\{CompoundTag, IntTag, FloatTag, ListTag, StringTag, IntArrayTag, DoubleTag};
use pocketmine\tile\{Chest, Tile, EnderChest};
use pocketmine\inventory\{ContainerInventory, EnderChestInventory, InventoryType, Inventory, ChestInventory};
use pocketmine\event\player\{PlayerChatEvent, PlayerPreLoginEvent, PlayerJoinEvent, PlayerDeathEvent, PlayerQuitEvent, PlayerInteractEvent, PlayerRespawnEvent, PlayerDropItemEvent, PlayerMoveEvent, PlayerItemConsumeEvent, PlayerItemHeldEvent, PlayerCommandPreprocessEvent};
use pocketmine\event\inventory\{InventoryCloseEvent, InventoryPickupItemEvent, InventoryTransactionEvent};
use pocketmine\event\entity\{EntityDamageEvent, EntityDamageByEntityEvent, ProjectileLaunchEvent};
use pocketmine\item\enchantment\Enchantment;
use pocketmine\event\block\{BlockPlaceEvent, BlockBreakEvent};
use pocketmine\command\{CommandSender, Command, ConsoleCommandSender};
use pocketmine\scheduler\{Task, CallbackTask};

use Chat\ChatAPI;

class APIfunctions implements Listener{
	public $plugin;
	public $msgs = 0;
	public $restart = 80;
	
	public function __construct(Main $main) {
		$this->main = $main;
	}
	public function doCloseInventory($p){
		$pk = new ContainerClosePacket();
		$pk->windowid = 0;
		$p->dataPacket($pk);
	}
	public function getServer(){
		return $this->main->getServer();
	}
	public function enable(){
		$this->getServer()->getScheduler()->scheduleRepeatingTask(new CallbackTask([$this,"BroadCast"]), 20 * 60);
		// $this->getServer()->getScheduler()->scheduleRepeatingTask(new CallbackTask([$this,"checkItems"]), 20);
		$this->getServer()->getScheduler()->scheduleRepeatingTask(new CallbackTask([$this,"clearLagg"]), 20 * 180);
		$this->getServer()->getScheduler()->scheduleRepeatingTask(new CallbackTask([$this,"Restart"]), 20 * 60);
		$this->getServer()->getScheduler()->scheduleRepeatingTask(new CallbackTask([$this,"pvp"]), 20);
		$this->getServer()->getScheduler()->scheduleRepeatingTask(new CallbackTask([$this,"HotBar"]), 15);
		$this->getServer()->getScheduler()->scheduleRepeatingTask(new CallbackTask([$this,"changeMotd"]), 20 * 5);
		$this->DelCreative();
	}
	public function pvp(){
		foreach($this->main->pvp as $nick => $time){
			$p = $this->getServer()->getPlayer($nick);
			if($time["time"] == 1){
				unset($this->main->pvp[strtolower($p->getName())]);
				$p->sendTitle('§7Вы вышли из §6PvP §7режима');
				return;
			}
			$this->main->pvp[strtolower($p->getName())]['time']--;
		}
	}
	public function onCommandPVP(PlayerCommandPreprocessEvent $e){
		if(isset($this->main->pvp[strtolower($e->getPlayer()->getName())]) and $e->getMessage()[0] === '/'){
			$e->setCancelled();
			$e->getPlayer()->sendMessage('§6› §7Команды в §6PvP§7 режиме запрещены!');
		}
	}
 public function changeMotd(){
 $rand = ['§fBlack§6Nex §8— §7Аукцион!', '§fBlack§6Nex §8— §7Гильдии!', '§fBlack§6Nex §6v3.0', '§fBlack§6Nex §8— §7Алхимик!', '§fBlack§6Nex §8— §7Обновление!', '§fBlack§6Nex §8— §7Вайп!', '§fBlack§6Nex §6v3.0', '§fBlack§6Nex §6v3.0', '§fBlack§6Nex §6v3.0'];
 $name = $rand[array_rand($rand)];
 $this->getServer()->getNetwork()->setName($name);
 }
	public function HotBar(){
		foreach($this->getServer()->getOnlinePlayers() as $p){
		    $p->addEffect(Effect::getEffect(16)->setDuration(20 * 120)->setVisible(false));
			$space = str_repeat(" ", 85);
			if(isset($this->main->pvp[strtolower($p->getName())])) $pvp = "§7Время боя§8: §6".$this->main->pvp[strtolower($p->getName())]["time"]."§7 сек.";
			else $pvp = " ";
			if(isset($this->main->auth[strtolower($p->getName())])) return $p->sendTip($space . "§c× §fBlack§6Nex §cקr§6\n§6" . $space . date("j.m.Y") . "§r\n" . $space . "§7Ник§8: §6" . $p->getName() . "§r\n" . $space . "§7Вы не §6Авторизованы!".str_repeat("\n", 11));
			$p->sendTip($space . "§c× §fBlack§6Nex §cקr§6\n§6" . $space . date("j.m.Y") . "§r\n" . $space . "§7Ник§8: §6" . $p->getName() . "§r\n" . $space . "§7Донат§8: " . ChatAPI::getGroup($p) .PHP_EOL."§r".$space."§7Гильдия§8: §6".ChatAPI::getGuildForChat($p)."§r\n" . $space . "§7Баланс§8: §6$" . $this->main->eco->myMoney($s)($p->getName()) . "§r\n" . $space . "§7Онлайн§8: §6" .count($this->getServer()->getOnlinePlayers()). "§8/§6" . $this->getServer()->getMaxPlayers(). "§r\n\n" . $space . $pvp.str_repeat("\n", 11));
		}
	}
	public function checkItems(){
		foreach($this->getServer()->getOnlinePlayers() as $player){
			if($player->isSurvival()){
				$inv = $player->getInventory();
				foreach($inv->getContents() as $item){
					$nbt = $item->getNamedTag();
					if(isset($nbt->Hash)) $inv->removeItem($item);
				}
			}
		}
	}
	public function clearLagg(){
		$this->getServer()->broadcastPopup("§7Очищено существ§8: §6".count($this->getServer()->getLevelByName("world")->getEntities()));
		foreach($this->getServer()->getLevelByName("world")->getEntities() as $ent){
			if(!$ent instanceof Player and !$ent instanceof NPC and !$ent instanceof Vindicator and !$ent instanceof EnderPearl){
				$ent->kill();
				$ent->close();
			}
		}
	}
	public function BroadCast(){
		++$this->msgs;
		if($this->msgs >= 15) $this->msgs = 0;
		foreach($this->main->getServer()->getOnlinePlayers() as $p){
			switch($this->msgs){
				case 1: $p->sendMessage("§6› §7Наша группа в ВК §6vk.com/blacknex"); break;
				case 2: $p->sendMessage("§6› §7На §6сервере §7присутствует Меню§8: §6/menu"); break;
				case 3: $p->sendMessage("§6› §7Сайт Авто-Доната§8: §6shop.blacknex.ru"); break;
				case 4: $p->sendMessage("§6› §7Включить/отключить §6телепортацию§7 к себе§8: §6/tptoggle"); break;
				case 5: $p->sendMessage("§6› §7Включить день на сервере§8: §6/day"); break;
				case 6: $p->sendMessage("§6› §7Взять стартовый набор§8: §6/start"); break;
				case 7: $p->sendMessage("§6› §7Помощь по Гильдиям§8: §6/guild"); break;
				case 8: $p->sendMessage("§6› §7Отправить запрос на телепортацию§8: §6/tpa"); break;
				case 9: $p->sendMessage("§6› §7Телепортироваться к игроку без запроса§8: §6/tp"); break;
				case 10: $p->sendMessage("§6› §7Купив донат, вы продливаете жизнь серверу!"); break;
				case 11: $p->sendMessage("§6› §7Телепортировать игрока к §6себе§8: §6/tphere (ник)"); break;
				case 12: $p->sendMessage("§6› §7Создать Гильдию§8: §6/guild create §7(§6название§7)"); break;
				case 14: $p->sendMessage("§6› §7На §6сервере §7присутствует Меню§8: §6/menu"); break;
				case 15: $p->sendMessage("§6› §7Наша группа ВК §6vk.com/blacknex");
			}
		}
	}
	public function Restart(){
		if($this->restart !== 1) --$this->restart;
		if($this->restart / 2 == 4 or $this->restart / 2 == 15 or round($this->restart / 2) == 8) $this->getServer()->broadcastMessage("§6›§7 До перезагрузки§8:§6 ".$this->restart."§7 минут");
		if($this->restart <= 3) $this->getServer()->broadcastMessage("§6›§7 До перезагрузки§8:§6 ".$this->restart."§7 минут");
		if($this->restart == 1){
			$this->getServer()->getScheduler()->scheduleDelayedTask(new CallbackTask([$this,"Restart2"]), 20 * 60);
			$this->getServer()->getScheduler()->scheduleDelayedTask(new CallbackTask([$this,"Restart3"]), 20 * 58);
		}
	}
	public function Restart3(){
		foreach($this->getServer()->getOnlinePlayers() as $players){
    		unset($this->main->pvp[strtolower($players->getName())]);
			$players->addTitle("§6Перезагрузка", "§7------------");
		}
	}
	public function Restart2(){
		foreach($this->getServer()->getOnlinePlayers() as $players){
   			unset($this->main->pvp[strtolower($players->getName())]);
			$players->kick("§6› §7Сервер перезагружается!", false);
		}
		sleep(1);
		$this->getServer()->shutdown();
	}
	public function findInfoTransaction($transaction){
		$tr = $transaction->getTransactions();
		foreach($tr as $t){
		if(($inv = $t->getInventory()) instanceof ChestInventory){
		$slot = $t->getSlot();
		return $t;
			}
		}
	}
	public function DelCreative(){
		for($i = 0; $i <= 111; ++$i){
			item::removeCreativeItem(Item::get(383, $i));
			item::removeCreativeItem(Item::get(333, $i));
		}
		item::removeCreativeItem(Item::get(162, 1));
		item::removeCreativeItem(Item::get(79, 0));
		item::removeCreativeItem(Item::get(174, 0));

	}
}

увы но ты хуйню наделал сам

я знаю в основном классе еще хуже

нахуя ты все в один класс суешь баран

нахуя гей порно устраивать?

что-бы было

1373

тебе даже vscode на скобку указывает…