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

Пж помогите с плугом писал и выдает ошибку кто поможет

<?php namespace Blok; use pocketmine\plugin\PluginBase; use pocketmine\event\Listener; use pocketmine\event\block\BlockBreakEvent; use pocketmine\event\block\BlockPlaceEvent; use pocketmine\item\Item; class Main extends PluginBase implements Listener{ public ban_blocks = [7, 46] public function onEnable(){ $this->getLogger()->info("я запустилсяPs:Blok"); $this->getServer()->getPluginManager()->registerEvents($this, $this); } public function onBreak(BlockBreakEvent $e){ $p = $e->getPlayer(); $block = $e->getBlock(); if($block->getId() == 7){ $e->setCancelled(); $p->sendMessage("Этот блок нельзя ломать"); } $x = $block->getX(); $z = $block->getZ(); if($x >= 343 && $x <= 351 && $z >= 295 && $z <= 303){ $e->setCancelled(); $p->sendMessage("Спавн!!") } if($block->getId() == 15){ $e->setDrops([Item::get(265)]); $e->setXpDropAmount(mt_rand(1, 2)); } if($block->getId() == 14){ $e->setDrops([Item::get(266)]); $e->setXpDropAmount(mt_rand(2, 4)); } } public function onPlace(BlockPlaceEvent $e){ $p = $e->getPlayer(); $block = $e->getBlock(); if(in_array($block->getId(), $this->ban_blocks)){ $e->setCancelled(); $p->sendMessage("Этот блок нельзя ставить"); } $x = $block->getX(); $z = $block->getZ(); if($x >= 343 && $x <= 351 && $z >= 295 && $z <= 303){ $e->setCancelled(); $p->sendMessage("Спавн!!") } } } ?>

код плагина

  • [06:12:30] [LunCore/ИНФО]: Открытие сервера на 0.0.0.0:18004
    [06:12:31] [LunCore/ИНФО]: LunCore v1.0.8-HOME ( vk.com/LunCore ) НЕ распространяется под открытыми лицензиями, предоставляющими свободный доступ к ядру.
    [06:12:32] [LunCore/ИНФО]: Загрузка ресурс-паков…
    [06:12:32] [LunCore/ИНФО]: Loading (Source) Block v1
    [06:12:32] [LunCore/КРИТ]: ParseError: “syntax error, unexpected ‘ban_blocks’ (T_STRING), expecting function (T_FUNCTION) or const (T_CONST)” (EXCEPTION) in “plugins/Blocks/src/Blok/Main” at line 13
    [06:12:32] [LunCore/КРИТ]: #0 pmsrc/src/spl/BaseClassLoader(117): BaseClassLoader->loadClass(string[9] Blok\Main)
    [06:12:32] [LunCore/КРИТ]: #1 (): BaseClassLoader->{closure}(string[9] Blok\Main)
    [06:12:32] [LunCore/КРИТ]: #2 (): spl_autoload_call(string[9] Blok\Main)
    [06:12:32] [LunCore/КРИТ]: #3 pmsrc/src/pocketmine/ThreadManager(166) : eval()'d code(1) : eval()'d code(61): class_exists(string[9] Blok\Main, boolean 1)
    [06:12:32] [LunCore/КРИТ]: #4 pmsrc/src/pocketmine/ThreadManager(166) : eval()'d code(1) : eval()'d code(144): pocketmine\plugin\FolderPluginLoader->loadPlugin(string[46] /storage/emulated/0/Server/MCPE/plugins/Blocks)
    [06:12:32] [LunCore/КРИТ]: #5 pmsrc/src/pocketmine/ThreadManager(166) : eval()'d code(1) : eval()'d code(312): pocketmine\plugin\PluginManager->loadPlugin(string[46] /storage/emulated/0/Server/MCPE/plugins/Blocks, array[3])
    [06:12:32] [LunCore/КРИТ]: #6 pmsrc/src/pocketmine/ThreadManager(166) : eval()'d code(1) : eval()'d code(1710): pocketmine\plugin\PluginManager->loadPlugins(string[40] /storage/emulated/0/Server/MCPE/plugins/)
    [06:12:32] [LunCore/КРИТ]: #7 pmsrc/src/pocketmine/PocketMine(304): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[32] /storage/emulated/0/Server/MCPE/, string[40] /storage/emulated/0/Server/MCPE/plugins/)
    [06:12:32] [LunCore/КРИТv2]: Произошла фатальная ошибка и сервер вышел из строя. Создание аварийного дампа
    [06:12:32] [LunCore/КРИТ]: Error: “Undefined constant ‘pocketmine\GIT_COMMIT’” (EXCEPTION) in “pmsrc/src/pocketmine/ThreadManager(166) : eval()'d code(1) : eval()'d code” at line 351
    [06:12:32] [LunCore/КРИТ]: #0 pmsrc/src/pocketmine/ThreadManager(166) : eval()'d code(1) : eval()'d code(131): pocketmine\CrashDump->generalData()
    [06:12:32] [LunCore/КРИТ]: #1 pmsrc/src/pocketmine/ThreadManager(166) : eval()'d code(1) : eval()'d code(2241): pocketmine\CrashDump->__construct(object pocketmine\Server)
    [06:12:32] [LunCore/КРИТ]: #2 pmsrc/src/pocketmine/ThreadManager(166) : eval()'d code(1) : eval()'d code(2224): pocketmine\Server->crashDump()
    [06:12:32] [LunCore/КРИТ]: #3 pmsrc/src/pocketmine/ThreadManager(166) : eval()'d code(1) : eval()'d code(1811): pocketmine\Server->exceptionHandler(object ParseError)
    [06:12:32] [LunCore/КРИТ]: #4 pmsrc/src/pocketmine/PocketMine(304): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[32] /storage/emulated/0/Server/MCPE/, string[40] /storage/emulated/0/Server/MCPE/plugins/)
    [06:12:32] [LunCore/КРИТ]: Не удалось создать дамп: Undefined constant ‘pocketmine\GIT_COMMIT’

ошибка

А где ошибка? Скрин пжжпжп

<?php

namespace Blok;

use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\event\block\BlockBreakEvent;
use pocketmine\event\block\BlockPlaceEvent;
use pocketmine\item\Item;

class Main extends PluginBase implements Listener {

    public array $ban_blocks = [7, 46];

    public function onEnable(): void {
        $this->getLogger()->info("я запустилсяPs:Blok");
        $this->getServer()->getPluginManager()->registerEvents($this, $this);
    }

    public function onBreak(BlockBreakEvent $e): void {
        $p = $e->getPlayer();
        $block = $e->getBlock();
        // === потому что быстрее)
        if ($block->getId() === 7) {
            $e->setCancelled();
            $p->sendMessage("Этот блок нельзя ломать");
        }
        $x = $block->getX();
        $z = $block->getZ();

        if ($x >= 343 && $x <= 351 && $z >= 295 && $z <= 303) {
            $e->setCancelled();
            $p->sendMessage("Спавн!!");
        }
        if ($block->getId() === 15) {
            $e->setDrops([Item::get(265)]);
            $e->setXpDropAmount(mt_rand(1, 2));
        }
        if ($block->getId() === 14) {
            $e->setDrops([Item::get(266)]);
            $e->setXpDropAmount(mt_rand(2, 4));
        }
    }

    public function onPlace(BlockPlaceEvent $e): void {
        $p = $e->getPlayer();
        $block = $e->getBlock();
        if (in_array($block->getId(), $this->ban_blocks)) {
            $e->setCancelled();
            $p->sendMessage("Этот блок нельзя ставить");
        }
        $x = $block->getX();
        $z = $block->getZ();
        if ($x >= 343 && $x <= 351 && $z >= 295 && $z <= 303) {
            $e->setCancelled();
            $p->sendMessage("Спавн!!")
        }
    }
}

Неоаботает такая же ошибка

<?php

namespace Blok;

use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\event\block\BlockBreakEvent;
use pocketmine\event\block\BlockPlaceEvent;
use pocketmine\item\Item;

class Main extends PluginBase implements Listener {

    public array $ban_blocks = [7, 46];

    public function onEnable(): void {
        $this->getLogger()->info("я запустилсяPs:Blok");
        $this->getServer()->getPluginManager()->registerEvents($this, $this);
    }

    public function onBreak(BlockBreakEvent $e): void {
        $p = $e->getPlayer();
        $block = $e->getBlock();
        // === потому что быстрее)
        if ($block->getId() === 7) {
            $e->setCancelled();
            $p->sendMessage("Этот блок нельзя ломать");
        }
        $x = $block->getX();
        $z = $block->getZ();

        if ($x >= 343 && $x <= 351 && $z >= 295 && $z <= 303) {
            $e->setCancelled();
            $p->sendMessage("Спавн!!");
        }
        if ($block->getId() === 15) {
            $e->setDrops([Item::get(265)]);
            $e->setXpDropAmount(mt_rand(1, 2));
        }
        if ($block->getId() === 14) {
            $e->setDrops([Item::get(266)]);
            $e->setXpDropAmount(mt_rand(2, 4));
        }
    }

    public function onPlace(BlockPlaceEvent $e): void {
        $p = $e->getPlayer();
        $block = $e->getBlock();
        if (in_array($block->getId(), $this->ban_blocks)) {
            $e->setCancelled();
            $p->sendMessage("Этот блок нельзя ставить");
        }
        $x = $block->getX();
        $z = $block->getZ();

        if ($x >= 343 && $x <= 351 && $z >= 295 && $z <= 303) {
            $e->setCancelled();
            $p->sendMessage("Спавн!!");
        }
    }
}

Попробуй, я не заметил что не поставил: ‘;’

Кста ты только эти 2 блока будешь запрещать? Если да тогда зачем:

public array $ban_blocks = [7, 46];

Ты же можешь через условия запретить их ставить

Мне интересно, это хак или нет.

Учитывая, что это говнокор лункор

eval() - не считается хаком, его просто используют для хака, а его назначения. Если ты знал, то ссори. Н***я его пихнули если его не рекомендуют даже использовать, ладно.

https://www.php.net/manual/ru/function.eval.php

Представь, но есть куча функций и возможностей в яп, которые используются в узких целях, хоть и не рекомендуется.

Ну все ровно они чуть-чуть увлеклись

eval позволяет выполнять пользовательский код, что нигде не допустимо

его можно использовать только для обхода каких-то гигантских синтаксических конструкций и то очень осторожно

да нет, все нормально сделали

1 симпатия

Не юзай гLunCore ._.

а что можно использовать

Pmmp