Rename PlayerExhaustEvent to EntityExhaustEvent (#6674)

Removed the `getPlayer` function
This commit is contained in:
zSALLAZAR 2025-05-25 10:04:33 +02:00 committed by GitHub
parent b20d1b84b5
commit 18b6b1742c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 22 additions and 30 deletions

View File

@ -30,7 +30,7 @@ use pocketmine\entity\effect\EffectInstance;
use pocketmine\entity\effect\VanillaEffects; use pocketmine\entity\effect\VanillaEffects;
use pocketmine\entity\projectile\ProjectileSource; use pocketmine\entity\projectile\ProjectileSource;
use pocketmine\event\entity\EntityDamageEvent; use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\event\player\PlayerExhaustEvent; use pocketmine\event\entity\EntityExhaustEvent;
use pocketmine\inventory\CallbackInventoryListener; use pocketmine\inventory\CallbackInventoryListener;
use pocketmine\inventory\Inventory; use pocketmine\inventory\Inventory;
use pocketmine\inventory\InventoryHolder; use pocketmine\inventory\InventoryHolder;
@ -173,9 +173,9 @@ class Human extends Living implements ProjectileSource, InventoryHolder{
public function jump() : void{ public function jump() : void{
parent::jump(); parent::jump();
if($this->isSprinting()){ if($this->isSprinting()){
$this->hungerManager->exhaust(0.2, PlayerExhaustEvent::CAUSE_SPRINT_JUMPING); $this->hungerManager->exhaust(0.2, EntityExhaustEvent::CAUSE_SPRINT_JUMPING);
}else{ }else{
$this->hungerManager->exhaust(0.05, PlayerExhaustEvent::CAUSE_JUMPING); $this->hungerManager->exhaust(0.05, EntityExhaustEvent::CAUSE_JUMPING);
} }
} }

View File

@ -24,8 +24,8 @@ declare(strict_types=1);
namespace pocketmine\entity; namespace pocketmine\entity;
use pocketmine\event\entity\EntityDamageEvent; use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\event\entity\EntityExhaustEvent;
use pocketmine\event\entity\EntityRegainHealthEvent; use pocketmine\event\entity\EntityRegainHealthEvent;
use pocketmine\event\player\PlayerExhaustEvent;
use pocketmine\world\World; use pocketmine\world\World;
use function max; use function max;
use function min; use function min;
@ -130,13 +130,13 @@ class HungerManager{
* *
* @return float the amount of exhaustion level increased * @return float the amount of exhaustion level increased
*/ */
public function exhaust(float $amount, int $cause = PlayerExhaustEvent::CAUSE_CUSTOM) : float{ public function exhaust(float $amount, int $cause = EntityExhaustEvent::CAUSE_CUSTOM) : float{
if(!$this->enabled){ if(!$this->enabled){
return 0; return 0;
} }
$evAmount = $amount; $evAmount = $amount;
if(PlayerExhaustEvent::hasHandlers()){ if(EntityExhaustEvent::hasHandlers()){
$ev = new PlayerExhaustEvent($this->entity, $amount, $cause); $ev = new EntityExhaustEvent($this->entity, $amount, $cause);
$ev->call(); $ev->call();
if($ev->isCancelled()){ if($ev->isCancelled()){
return 0.0; return 0.0;
@ -205,7 +205,7 @@ class HungerManager{
if($food >= 18){ if($food >= 18){
if($health < $this->entity->getMaxHealth()){ if($health < $this->entity->getMaxHealth()){
$this->entity->heal(new EntityRegainHealthEvent($this->entity, 1, EntityRegainHealthEvent::CAUSE_SATURATION)); $this->entity->heal(new EntityRegainHealthEvent($this->entity, 1, EntityRegainHealthEvent::CAUSE_SATURATION));
$this->exhaust(6.0, PlayerExhaustEvent::CAUSE_HEALTH_REGEN); $this->exhaust(6.0, EntityExhaustEvent::CAUSE_HEALTH_REGEN);
} }
}elseif($food <= 0){ }elseif($food <= 0){
if(($difficulty === World::DIFFICULTY_EASY && $health > 10) || ($difficulty === World::DIFFICULTY_NORMAL && $health > 1) || $difficulty === World::DIFFICULTY_HARD){ if(($difficulty === World::DIFFICULTY_EASY && $health > 10) || ($difficulty === World::DIFFICULTY_NORMAL && $health > 1) || $difficulty === World::DIFFICULTY_HARD){

View File

@ -26,7 +26,7 @@ namespace pocketmine\entity\effect;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\entity\Human; use pocketmine\entity\Human;
use pocketmine\entity\Living; use pocketmine\entity\Living;
use pocketmine\event\player\PlayerExhaustEvent; use pocketmine\event\entity\EntityExhaustEvent;
class HungerEffect extends Effect{ class HungerEffect extends Effect{
@ -36,7 +36,7 @@ class HungerEffect extends Effect{
public function applyEffect(Living $entity, EffectInstance $instance, float $potency = 1.0, ?Entity $source = null) : void{ public function applyEffect(Living $entity, EffectInstance $instance, float $potency = 1.0, ?Entity $source = null) : void{
if($entity instanceof Human){ if($entity instanceof Human){
$entity->getHungerManager()->exhaust(0.1 * $instance->getEffectLevel(), PlayerExhaustEvent::CAUSE_POTION); $entity->getHungerManager()->exhaust(0.1 * $instance->getEffectLevel(), EntityExhaustEvent::CAUSE_POTION);
} }
} }
} }

View File

@ -21,17 +21,16 @@
declare(strict_types=1); declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\entity;
use pocketmine\entity\Human; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait; use pocketmine\event\CancellableTrait;
use pocketmine\event\entity\EntityEvent;
/** /**
* @phpstan-extends EntityEvent<Human> * @phpstan-extends EntityEvent<Entity>
*/ */
class PlayerExhaustEvent extends EntityEvent implements Cancellable{ class EntityExhaustEvent extends EntityEvent implements Cancellable{
use CancellableTrait; use CancellableTrait;
public const CAUSE_ATTACK = 1; public const CAUSE_ATTACK = 1;
@ -47,18 +46,11 @@ class PlayerExhaustEvent extends EntityEvent implements Cancellable{
public const CAUSE_CUSTOM = 11; public const CAUSE_CUSTOM = 11;
public function __construct( public function __construct(
protected Human $human, Entity $entity,
private float $amount, private float $amount,
private int $cause private int $cause
){ ){
$this->entity = $human; $this->entity = $entity;
}
/**
* @return Human
*/
public function getPlayer(){
return $this->human;
} }
public function getAmount() : float{ public function getAmount() : float{

View File

@ -46,6 +46,7 @@ use pocketmine\entity\projectile\Arrow;
use pocketmine\entity\Skin; use pocketmine\entity\Skin;
use pocketmine\event\entity\EntityDamageByEntityEvent; use pocketmine\event\entity\EntityDamageByEntityEvent;
use pocketmine\event\entity\EntityDamageEvent; use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\event\entity\EntityExhaustEvent;
use pocketmine\event\entity\EntityExtinguishEvent; use pocketmine\event\entity\EntityExtinguishEvent;
use pocketmine\event\inventory\InventoryCloseEvent; use pocketmine\event\inventory\InventoryCloseEvent;
use pocketmine\event\inventory\InventoryOpenEvent; use pocketmine\event\inventory\InventoryOpenEvent;
@ -60,7 +61,6 @@ use pocketmine\event\player\PlayerDropItemEvent;
use pocketmine\event\player\PlayerEmoteEvent; use pocketmine\event\player\PlayerEmoteEvent;
use pocketmine\event\player\PlayerEntityInteractEvent; use pocketmine\event\player\PlayerEntityInteractEvent;
use pocketmine\event\player\PlayerEntityPickEvent; use pocketmine\event\player\PlayerEntityPickEvent;
use pocketmine\event\player\PlayerExhaustEvent;
use pocketmine\event\player\PlayerGameModeChangeEvent; use pocketmine\event\player\PlayerGameModeChangeEvent;
use pocketmine\event\player\PlayerInteractEvent; use pocketmine\event\player\PlayerInteractEvent;
use pocketmine\event\player\PlayerItemConsumeEvent; use pocketmine\event\player\PlayerItemConsumeEvent;
@ -1442,9 +1442,9 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
if($horizontalDistanceTravelled > 0){ if($horizontalDistanceTravelled > 0){
//TODO: check for swimming //TODO: check for swimming
if($this->isSprinting()){ if($this->isSprinting()){
$this->hungerManager->exhaust(0.01 * $horizontalDistanceTravelled, PlayerExhaustEvent::CAUSE_SPRINTING); $this->hungerManager->exhaust(0.01 * $horizontalDistanceTravelled, EntityExhaustEvent::CAUSE_SPRINTING);
}else{ }else{
$this->hungerManager->exhaust(0.0, PlayerExhaustEvent::CAUSE_WALKING); $this->hungerManager->exhaust(0.0, EntityExhaustEvent::CAUSE_WALKING);
} }
if($this->nextChunkOrderRun > 20){ if($this->nextChunkOrderRun > 20){
@ -1910,7 +1910,7 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
$returnedItems = []; $returnedItems = [];
if($this->getWorld()->useBreakOn($pos, $item, $this, true, $returnedItems)){ if($this->getWorld()->useBreakOn($pos, $item, $this, true, $returnedItems)){
$this->returnItemsFromAction($oldItem, $item, $returnedItems); $this->returnItemsFromAction($oldItem, $item, $returnedItems);
$this->hungerManager->exhaust(0.005, PlayerExhaustEvent::CAUSE_MINING); $this->hungerManager->exhaust(0.005, EntityExhaustEvent::CAUSE_MINING);
return true; return true;
} }
}else{ }else{
@ -2013,7 +2013,7 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
$heldItem->onAttackEntity($entity, $returnedItems); $heldItem->onAttackEntity($entity, $returnedItems);
$this->returnItemsFromAction($oldItem, $heldItem, $returnedItems); $this->returnItemsFromAction($oldItem, $heldItem, $returnedItems);
$this->hungerManager->exhaust(0.1, PlayerExhaustEvent::CAUSE_ATTACK); $this->hungerManager->exhaust(0.1, EntityExhaustEvent::CAUSE_ATTACK);
} }
return true; return true;
@ -2584,7 +2584,7 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
protected function applyPostDamageEffects(EntityDamageEvent $source) : void{ protected function applyPostDamageEffects(EntityDamageEvent $source) : void{
parent::applyPostDamageEffects($source); parent::applyPostDamageEffects($source);
$this->hungerManager->exhaust(0.1, PlayerExhaustEvent::CAUSE_DAMAGE); $this->hungerManager->exhaust(0.1, EntityExhaustEvent::CAUSE_DAMAGE);
} }
public function attack(EntityDamageEvent $source) : void{ public function attack(EntityDamageEvent $source) : void{