my code Code: function move ($player,$eid,$damage,$type,$value = true) { //$typeは将来使うかもだから一応keep if (!isset($this->pos[$eid])) return false; $S = $this->pos[$eid]; $F = $this->motion[$eid]; if ($value) $F->y-=0.05; $this->pos[$eid] = new Vector3($S->x+$F->x, $S->y+$F->y, $S->z+$F->z); for ($K = 1; $K < 4; $K++) { $G = new Vector3($S->x+$F->x/$K, $S->y+$F->y/$K, $S->z+$F->z/$K); if ($player->level->getBlock($G)->isSolid()) { $this->close($eid); break; return false; } foreach (Server::getInstance()->getOnlinePlayers() as $p) { $x = $p->x; $y = $p->y; $z = $p->z; $c = new Vector2($x, $z); if ((new Vector2($S->x, $S->z))->distance($c) <= 1.2 && $S->y-$p->y <= 2.6 && $S->y-$p->y > 0) { if($p->getName() != $player->getName()) { $d = $this->getFinalDamage($p, $damage); $ev = new EntityDamageByEntityEvent($player, $p, EntityDamageEvent::CAUSE_ENTITY_ATTACK, $d); $p->attack($d, $ev); } return $this->close($eid); } } } $this->getScheduler()->scheduleDelayedTask(new Callback([$this,"move"],[$player,$eid,$damage]),1); } [Server thread/CRITICAL]: Error: "Call to a member function getBlock() on null" (EXCEPTION) in "plugins/AGun/src/AGun/AGun" at line 1151 mydump Code: THIS CRASH WAS CAUSED BY A PLUGIN BAD PLUGIN: test Code: [1142] { [1143] //$typeは将来使うかもだから一応keep [1144] if (!isset($this->pos[$eid])) return false; [1145] $S = $this->pos[$eid]; [1146] $F = $this->motion[$eid]; [1147] if ($value) $F->y-=0.05; [1148] $this->pos[$eid] = new Vector3($S->x+$F->x, $S->y+$F->y, $S->z+$F->z); [1149] for ($K = 1; $K < 4; $K++) { [1150] $G = new Vector3($S->x+$F->x/$K, $S->y+$F->y/$K, $S->z+$F->z/$K); [1151] if ($player->level->getBlock($G)->isSolid()) { [1152] $this->close($eid); [1153] break; [1154] return false; [1155] } [1156] foreach (Server::getInstance()->getOnlinePlayers() as $p) { [1157] $x = $p->x; [1158] $y = $p->y; [1159] $z = $p->z; [1160] $c = new Vector2($x, $z); [1161] if ((new Vector2($S->x, $S->z))->distance($c) <= 1.2 && $S->y-$p->y <= 2.6 && $S->y-$p->y > 0) { Backtrace: #0 (): AGun\AGun->move(object pocketmine\Player, integer 6084433, integer 6, object AGun\Callback) #1 plugins/AGun/src/AGun/AGun(1236): call_user_func_array(array[2], array[4]) #2 src/pocketmine/scheduler/TaskHandler(134): AGun\Callback->onRun(integer 111) #3 src/pocketmine/scheduler/TaskScheduler(176): pocketmine\scheduler\TaskHandler->run(integer 111) #4 src/pocketmine/plugin/PluginManager(643): pocketmine\scheduler\TaskScheduler->mainThreadHeartbeat(integer 111) #5 src/pocketmine/Server(2379): pocketmine\plugin\PluginManager->tickSchedulers(integer 111) #6 src/pocketmine/Server(2142): pocketmine\Server->tick() #7 src/pocketmine/Server(1989): pocketmine\Server->tickProcessor() #8 src/pocketmine/Server(1583): pocketmine\Server->start() #9 src/pocketmine/PocketMine(274): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[24] C:\PocketMine-MP-3.11.5\, string[32] C:\PocketMine-MP-3.11.5\plugins\) #10 src/pocketmine/PocketMine(297): pocketmine\server() #11 (11): require(string[79] phar://C:/PocketMine-MP-3.11.5/PocketMine-MP.phar/src/pocketmine/PocketMine.php) Help Me please
$player->level is null In php still isn't possible to call null->level and expect that \pocketmine\level\Level will be returned. Maybe try use $player->getLevel() instead. However I don't know what type $player is, so I can't tell you more.