Ошибка Aquamarine 1.0.3

Aquamarine Crash Dump Mon Aug 1 00:38:33 CAT 2022

Error: Array and string offset access syntax with curly braces is no longer supported
File: pmsrc/src/pocketmine/level/format/io/ChunkUtils
Line: 44
Type: E_COMPILE_ERROR

Code:
[35] public static final function reorderByteArray(string $array) : string{
[36] $result = str_repeat(“\x00”, 4096);
[37] if($array !== $result){
[38] $i = 0;
[39] for($x = 0; $x < 16; ++$x){
[40] $zM = $x + 256;
[41] for($z = $x; $z < $zM; $z += 16){
[42] $yM = $z + 4096;
[43] for($y = $z; $y < $yM; $y += 256){
[44] $result{$i} = $array{$y};
[45] ++$i;
[46] }
[47] }
[48] }
[49] }
[50]
[51] return $result;
[52] }
[53]
[54] /**

Backtrace:

Aquamarine version: 0000000000000000000000000000000000000000 [Protocol 113; API 3.0.1]
Git commit: 0000000000000000000000000000000000000000
uname -a: Windows NT DESKTOP-GD4O5OC 10.0 build 18362 (Windows 10) AMD64
PHP version: 8.0.19
Zend version: 4.0.19
OS : WINNT, win

Server uptime: 1 мин 1 сек
Number of loaded worlds: 3
Players online: 1/999

@Marusel как это фиксить?

перевести конечно не судьба.

$result[$i] = $array[$y];

фиг.скобки больше не поддерживаются

1 лайк

Замени на

[44] $result[$i] = $array[$y];

как минимум использовать рек.версию пхп от автора. Либо везде где такая ошибка менять,по моему способу

Твой кор на 7.3 живет?

Ну вообще 7.3 и выше, я его делаю на 7.4, но 8.0 тоже фурычит. Иногда просто остаются такие места где забыл что то исправить

В том плане что я тестирую на 7.4

ну как минимум это не будет работать на 7.4 том же. Поддержка фиг.скобок с этой версии недоступна как раз

Дада знаю, но ведь как найдешь все эти места с фигурными скобками, только тестить и тестить. Не всегда ошибка же вылетает сразу

Так я ничего и не говорю, я это уточняю прост

1 лайк

Сначала такой блин, а потом вспомнил, что перед тем как человечество начало деградировать, они придумали прекрасную вещь под названием “автозамена”)

поставил 7.3, кинул перку и вот это:

Aquamarine Crash Dump Mon Aug 1 02:44:01 EAT 2022

Error: Class ‘pocketmine\entity\EntityDamageByEntityEvent’ not found
File: pmsrc/src/pocketmine/entity/EnderPearl
Line: 61
Type: Error

Code:
[52] parent::__construct($level, $nbt, $shootingEntity);
[53] }
[54]
[55] public function teleportShooter(){
[56] if(!$this->hasTeleportedShooter){
[57] $this->hasTeleportedShooter = true;
[58] if($this->getOwningEntity() instanceof Player and $this->y > 0){
[59] $this->getLevel()->addSound(new EndermanTeleportSound($this->getPosition()), array($this->getOwningEntity()));
[60] $this->getOwningEntity()->teleport($this->getPosition());
[61] $ev = new EntityDamageByEntityEvent($this, $this->getOwningEntity(), EntityDamageEvent::CAUSE_ENTITY_ATTACK, 4);
[62] $this->getOwningEntity()->attack(4, $ev);
[63] }
[64]
[65] $this->kill();
[66] }
[67] }
[68]
[69] /**
[70] * @param $currentTick
[71] *

Backtrace:
#0 pmsrc/src/pocketmine/entity/EnderPearl(84): pocketmine\entity\EnderPearl->teleportShooter()
#1 pmsrc/src/pocketmine/level/Level(985): pocketmine\entity\EnderPearl->onUpdate(integer 4837)
#2 pmsrc/src/pocketmine/level/Level(917): pocketmine\level\Level->actuallyDoTick(integer 4837)
#3 pmsrc/src/pocketmine/Server(2783): pocketmine\level\Level->doTick(integer 4837)
#4 pmsrc/src/pocketmine/Server(2942): pocketmine\Server->checkTickUpdates(integer 4837, double 1659311040.7437)
#5 pmsrc/src/pocketmine/Server(2690): pocketmine\Server->tick()
#6 pmsrc/src/pocketmine/Server(2539): pocketmine\Server->tickProcessor()
#7 pmsrc/src/pocketmine/Server(2034): pocketmine\Server->start()
#8 pmsrc/src/pocketmine/PocketMine(329): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[41] C:\Users\drago\Desktop\GlowDex Localhost, string[49] C:\Users\drago\Desktop\GlowDex Localhost\plugins)

Aquamarine version: 0000000000000000000000000000000000000000 [Protocol 113; API 3.0.1]
Git commit: 0000000000000000000000000000000000000000
uname -a: Windows NT DESKTOP-GD4O5OC 10.0 build 18362 (Windows 10) AMD64
PHP version: 7.3.22
Zend version: 3.3.22
OS : WINNT, win

Server uptime: 4 мин 3 сек
Number of loaded worlds: 3
Players online: 2/999

Блин а поиск по файлам с регурными выражениями ещё не придумали, как жаль.

Боже мой @Marusel почему в твоём ядре вызывается евент якобы перл атакует игрока…

Вырежи нахой перл и с лайтклра поставь, тут все сырое почти

В файл pocketmine/entity/EnderPearl.php добавь юз

use pocketmine\event\entity\EntityDamageByEntityEvent;

Ахахаха ну вот так

ide рулят