Skip to content

Commit

Permalink
Now doesn't crash without EssentialsPE :D
Browse files Browse the repository at this point in the history
  • Loading branch information
iksaku committed Jul 30, 2014
1 parent da32e5b commit 532e714
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 17 deletions.
25 changes: 8 additions & 17 deletions src/HealthBar/EventHandler.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<?php
namespace HealthBar;

use EssentialsPE\Events\PlayerNickChangeEvent;
use pocketmine\event\entity\EntityDamageByEntityEvent;
use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\event\entity\EntityRegainHealthEvent;
Expand All @@ -18,6 +17,14 @@ public function __construct(Loader $plugin){
$this->plugin = $plugin;
}

/**
* @param PlayerJoinEvent $event
*/
public function onPlayerJoin(PlayerJoinEvent $event){
$player = $event->getPlayer();
$this->plugin->updateHealthBar($player);
}

/**
* @param EntityRegainHealthEvent $event
*/
Expand Down Expand Up @@ -61,20 +68,4 @@ public function onAttack(EntityDamageByEntityEvent $event){
}
}
}

/**
* @param PlayerNickChangeEvent $event
*/
public function onNickChange(PlayerNickChangeEvent $event){
$player = $event->getPlayer();
$nick = $event->getNewNick();
$nametag = $event->getNameTag();

$bar = $this->plugin->getHealthBar();
$bar = str_replace("maxhealth", $player->getMaxHealth(), $bar);
$bar = str_replace("health", $player->getHealth(), $bar);
$bar = str_replace("name", $nick, $bar);

$event->setNameTag($bar);
}
}
3 changes: 3 additions & 0 deletions src/HealthBar/Loader.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
namespace HealthBar;

use HealthBar\OtherEvents\EssentialsPEEvents;
use pocketmine\Player;
use pocketmine\plugin\Plugin;
use pocketmine\plugin\PluginBase;
Expand All @@ -16,9 +17,11 @@ public function onEnable(){
$this->getServer()->getCommandMap()->register("healthbar", new HealthBarCommand($this));
$this->getServer()->getPluginManager()->registerEvents(new EventHandler($this), $this);
$this->checkConfiguration();

$ess = $this->getServer()->getPluginManager()->getPlugin("EssentialsPE");
if($ess instanceof Plugin && $ess->isEnabled()){
$this->essentialspe = new EssentialsPE();
$this->getServer()->getPluginManager()->registerEvents(new EssentialsPEEvents($this), $this);
}
}

Expand Down
30 changes: 30 additions & 0 deletions src/HealthBar/OtherEvents/EssentialsPEEvents.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php
namespace HealthBar\OtherEvents;

This comment has been minimized.

Copy link
@PEMapModder

PEMapModder Aug 1, 2014

Member

What a great namespace.

P.S. Wrong line :D

This comment has been minimized.

Copy link
@iksaku

iksaku Aug 1, 2014

Author Contributor

xD just to extend it for future plugins ;)

use EssentialsPE\Events\PlayerNickChangeEvent;
use HealthBar\Loader;
use pocketmine\event\Listener;

class EssentialsPEEvents implements Listener{
/** @var \HealthBar\Loader */
public $plugin;

public function __construct(Loader $plugin){
$this->plugin = $plugin;
}

/**
* @param PlayerNickChangeEvent $event
*/
public function onNickChange(PlayerNickChangeEvent $event){
$player = $event->getPlayer();
$nick = $event->getNewNick();

$bar = $this->plugin->getHealthBar();
$bar = str_replace("maxhealth", $player->getMaxHealth(), $bar);
$bar = str_replace("health", $player->getHealth(), $bar);
$bar = str_replace("name", $nick, $bar);

$event->setNameTag($bar);
}
}

0 comments on commit 532e714

Please sign in to comment.