mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-08 04:38:35 +00:00
Rename PlayerExhaustEvent
to EntityExhaustEvent
(#6674)
Removed the `getPlayer` function
This commit is contained in:
parent
b20d1b84b5
commit
18b6b1742c
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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){
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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{
|
@ -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{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user