From a377795db9eddbd2f8e42e59375288a90611a037 Mon Sep 17 00:00:00 2001 From: ipad54 <63200545+ipad54@users.noreply.github.com> Date: Wed, 6 Jul 2022 16:57:07 +0300 Subject: [PATCH] Fixed SoulFire damage (#5138) --- src/block/BaseFire.php | 4 +++- src/block/Fire.php | 4 ++++ src/block/SoulFire.php | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/block/BaseFire.php b/src/block/BaseFire.php index f60b7677d..2f95ca1a0 100644 --- a/src/block/BaseFire.php +++ b/src/block/BaseFire.php @@ -41,7 +41,7 @@ abstract class BaseFire extends Flowable{ } public function onEntityInside(Entity $entity) : bool{ - $ev = new EntityDamageByBlockEvent($this, $entity, EntityDamageEvent::CAUSE_FIRE, 1); + $ev = new EntityDamageByBlockEvent($this, $entity, EntityDamageEvent::CAUSE_FIRE, $this->getFireDamage()); $entity->attack($ev); $ev = new EntityCombustByBlockEvent($this, $entity, 8); @@ -55,6 +55,8 @@ abstract class BaseFire extends Flowable{ return true; } + abstract protected function getFireDamage() : int; + public function getDropsForCompatibleTool(Item $item) : array{ return []; } diff --git a/src/block/Fire.php b/src/block/Fire.php index a176941cd..503dd1dc3 100644 --- a/src/block/Fire.php +++ b/src/block/Fire.php @@ -61,6 +61,10 @@ class Fire extends BaseFire{ return $this; } + protected function getFireDamage() : int{ + return 1; + } + public function onNearbyBlockChange() : void{ $down = $this->getSide(Facing::DOWN); if(SoulFire::canBeSupportedBy($down)){ diff --git a/src/block/SoulFire.php b/src/block/SoulFire.php index 61d7b37ed..03729c75e 100644 --- a/src/block/SoulFire.php +++ b/src/block/SoulFire.php @@ -31,6 +31,10 @@ final class SoulFire extends BaseFire{ return 10; } + protected function getFireDamage() : int{ + return 2; + } + public static function canBeSupportedBy(Block $block) : bool{ //TODO: this really ought to use some kind of tag system $id = $block->getTypeId();