Explosion: don't depend on air having stateID 0

This commit is contained in:
Dylan K. Taylor 2021-03-25 23:17:33 +00:00
parent 52ce8ad8ae
commit 5e9ce92b55
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D
2 changed files with 4 additions and 3 deletions

View File

@ -31,7 +31,7 @@ use pocketmine\math\AxisAlignedBB;
class Air extends Transparent{
public function __construct(BlockIdentifier $idInfo, string $name, ?BlockBreakInfo $breakInfo = null){
parent::__construct($idInfo, $name, $breakInfo ?? BlockBreakInfo::indestructible(0.0));
parent::__construct($idInfo, $name, $breakInfo ?? BlockBreakInfo::indestructible(-1.0));
}
public function canBeFlowedInto() : bool{

View File

@ -130,8 +130,9 @@ class Explosion{
$state = $this->subChunkExplorer->currentSubChunk->getFullBlock($vBlockX & 0x0f, $vBlockY & 0x0f, $vBlockZ & 0x0f);
if($state !== 0){
$blastForce -= ($blockFactory->blastResistance[$state] / 5 + 0.3) * $this->stepLen;
$blastResistance = $blockFactory->blastResistance[$state];
if($blastResistance >= 0){
$blastForce -= ($blastResistance / 5 + 0.3) * $this->stepLen;
if($blastForce > 0){
if(!isset($this->affectedBlocks[World::blockHash($vBlockX, $vBlockY, $vBlockZ)])){
$_block = $blockFactory->fromFullBlock($state);