PocketMine / PocketMine-MP

Legacy PocketMine-MP repository. Head to https://github.com/pmmp for up to date software.
https://www.pocketmine.net/
GNU Lesser General Public License v3.0
1.26k stars 660 forks source link

setMaxHealth on null when Spawning Squid #4203

Closed inxomnyaa closed 6 years ago

inxomnyaa commented 8 years ago

Related to @PEMapModder's rewrite of the Attributes. Attributes are initialized in parent::initEntity(), so the attribute doesnt exist yet. Changing the health afterwards does not work either.

dktapps commented 8 years ago

Cannot reproduce this issue, but did encounter a related one.

[20:41:15] [Server thread/CRITICAL]: InvalidArgumentException: "Value 19 exceeds the range!" (EXCEPTION) in "/src/pocketmine/entity/Attribute" at line 174
[20:41:15] [Server thread/DEBUG]: #0 /src/pocketmine/entity/Entity(622): pocketmine\entity\Living->setHealth(integer 19)
[20:41:15] [Server thread/DEBUG]: #1 /src/pocketmine/entity/Living(115): pocketmine\entity\Entity->attack(integer 1, pocketmine\event\entity\EntityDamageByEntityEvent object)
[20:41:15] [Server thread/DEBUG]: #2 /src/pocketmine/entity/Squid(57): pocketmine\entity\Living->attack(integer 1, pocketmine\event\entity\EntityDamageByEntityEvent object)
[20:41:15] [Server thread/DEBUG]: #3 /src/pocketmine/Player(2392): pocketmine\entity\Squid->attack(integer 1, pocketmine\event\entity\EntityDamageByEntityEvent object)
[20:41:15] [Server thread/DEBUG]: #4 /src/pocketmine/network/Network(231): pocketmine\Player->handleDataPacket(pocketmine\network\protocol\InteractPacket object)
[20:41:15] [Server thread/DEBUG]: #5 /src/pocketmine/Player(1748): pocketmine\network\Network->processBatch(pocketmine\network\protocol\BatchPacket object, pocketmine\Player Player(2))
[20:41:15] [Server thread/DEBUG]: #6 /src/pocketmine/network/RakLibInterface(136): pocketmine\Player->handleDataPacket(pocketmine\network\protocol\BatchPacket object)
[20:41:15] [Server thread/DEBUG]: #7 /src/raklib/server/ServerHandler(92): pocketmine\network\RakLibInterface->handleEncapsulated(string 192.168.0.16:37997, raklib\protocol\EncapsulatedPacket `..... .........x.c``.Rgd@.4..........., integer 0)
[20:41:15] [Server thread/DEBUG]: #8 /src/pocketmine/network/RakLibInterface(75): raklib\server\ServerHandler->handlePacket(boolean)
[20:41:15] [Server thread/DEBUG]: #9 /src/pocketmine/network/Network(143): pocketmine\network\RakLibInterface->process(boolean)
[20:41:15] [Server thread/DEBUG]: #10 /src/pocketmine/Server(2398): pocketmine\network\Network->processInterfaces(boolean)
[20:41:15] [Server thread/DEBUG]: #11 /src/pocketmine/Server(2154): pocketmine\Server->tick(boolean)
[20:41:15] [Server thread/DEBUG]: #12 /src/pocketmine/Server(2034): pocketmine\Server->tickProcessor(boolean)
[20:41:15] [Server thread/DEBUG]: #13 /src/pocketmine/Server(1653): pocketmine\Server->start(boolean)
[20:41:15] [Server thread/DEBUG]: #14 /src/pocketmine/PocketMine(464): pocketmine\Server->__construct(pocketmine\CompatibleClassLoader object, pocketmine\utils\MainLogger object, string /storage/emulated/0/PocketMine/, string /storage/emulated/0/PocketMine/, string /storage/emulated/0/PocketMine/plugins/)

Server OS: Android 6.0.1 Game version 0.15.7 PocketMine version: forked and updated from 6fb41c5c7f2cf51e1ad08c1e68397257c46f0fc1

dktapps commented 6 years ago

This has been fixed in PMMP's PocketMine-MP.