This commit is contained in:
djdisodo 2018-06-10 14:35:05 +00:00 committed by GitHub
commit a199f86d5c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 7 deletions

View file

@ -19,7 +19,7 @@ class Main extends PluginBase implements \pocketmine\event\Listener {
public function onEnable() { public function onEnable() {
$this->getServer()->getPluginManager()->registerEvents($this, $this); $this->getServer()->getPluginManager()->registerEvents($this, $this);
$this->sessions = []; $this->sessions = [];
$this->getServer()->getScheduler()->scheduleRepeatingTask(new SetNameTagVisibleTask($this),10); $this->getScheduler()->scheduleRepeatingTask(new SetNameTagVisibleTask($this),10);
} }
/* /*
@ -54,7 +54,7 @@ class Main extends PluginBase implements \pocketmine\event\Listener {
if($event instanceof \pocketmine\event\entity\EntityDamageByEntityEvent) { if($event instanceof \pocketmine\event\entity\EntityDamageByEntityEvent) {
if($event->getDamager() instanceof Player && if($event->getDamager() instanceof Player &&
isset($this->sessions[$event->getDamager()->getName()])) { isset($this->sessions[$event->getDamager()->getName()])) {
$event->getEntity()->addEffect(\pocketmine\entity\Effect::getEffectByName("invisibility")->setAmbient(true)->setVisible(false)); $event->getEntity()->addEffect(new \pocketmine\entity\EffectInstance(\pocketmine\entity\Effect::getEffectByName("invisibility"))->setAmbient(true)->setVisible(false));
$event->getEntity()->setNameTag($this->sessions[$event->getDamager()->getName()]); $event->getEntity()->setNameTag($this->sessions[$event->getDamager()->getName()]);
$event->getEntity()->setNameTagAlwaysVisible(true); $event->getEntity()->setNameTagAlwaysVisible(true);
$event->getEntity()->setNameTagVisible(true); $event->getEntity()->setNameTagVisible(true);

View file

@ -8,17 +8,19 @@ use pocketmine\Server;
use pocketmine\Player; use pocketmine\Player;
use pocketmine\plugin\PluginBase; use pocketmine\plugin\PluginBase;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
class SetNameTagVisibleTask extends \pocketmine\scheduler\PluginTask { class SetNameTagVisibleTask extends \pocketmine\scheduler\Task {
public $owner;
public function __construct($owner){$this->owner = $owner;}
/* /*
RUns when the task runs RUns when the task runs
@param $tick int @param $tick int
@return void @return void
*/ */
public function onRun($tick) { public function onRun($tick) {
foreach($this->getOwner()->getServer()->getLevels() as $level) { foreach($this->owner->getServer()->getLevels() as $level) {
foreach ($level->getEntities() as $et) { foreach ($level->getEntities() as $et) {
if(isset($et->namedtag->isUsedToFloat)) { if(isset($et->namedtag->getValue()->isUsedToFloat)){
$et->setNameTagAlwaysVisible(true); $et->setNameTagAlwaysVisible(true);
$et->setNameTagVisible(true); $et->setNameTagVisible(true);
$et->setImmobile(true); $et->setImmobile(true);
@ -26,4 +28,4 @@ class SetNameTagVisibleTask extends \pocketmine\scheduler\PluginTask {
} }
} }
} }
} }