/**
  * @param EntityDamageEvent $event
  * @priority HIGH
  * @ignoreCancelled true
  */
 public function onDamage(EntityDamageEvent $event)
 {
     $damaged = $event->getEntity();
     if ($damaged instanceof Player) {
         $area = $this->main->getDatabase()->searchAreaByPosition($damaged);
         if ($area instanceof Area) {
             $cause = $event->getCause();
             if ($this->areaHasFlag($damaged, Area::FLAG_DAMAGED, false, false)) {
                 $event->setCancelled();
             } elseif ($cause === EntityDamageEvent::CAUSE_BLOCK_EXPLOSION) {
                 if ($this->areaHasFlag($damaged, Area::FLAG_DAMAGED_BY_EXPLOSION, false)) {
                     $event->setCancelled();
                 }
             } elseif ($cause === EntityDamageEvent::CAUSE_VOID) {
                 if ($this->areaHasFlag($damaged, Area::FLAG_DAMAGED_BY_VOID, false)) {
                     $event->setCancelled();
                 }
             } elseif ($cause === EntityDamageEvent::CAUSE_SUFFOCATION) {
                 if ($this->areaHasFlag($damaged, Area::FLAG_DAMAGED_BY_SUFFOCATE, false)) {
                     $event->setCancelled();
                 }
             } elseif ($cause === EntityDamageEvent::CAUSE_DROWNING) {
                 if ($this->areaHasFlag($damaged, Area::FLAG_DAMAGED_BY_DROWN, false)) {
                     $event->setCancelled();
                 }
             } elseif ($cause === EntityDamageEvent::CAUSE_FALL) {
                 if ($this->areaHasFlag($damaged, Area::FLAG_DAMAGED_BY_FALL, false)) {
                     $event->setCancelled();
                 }
             } elseif ($cause === EntityDamageEvent::CAUSE_FIRE or $cause === EntityDamageEvent::CAUSE_FIRE_TICK or $cause === EntityDamageEvent::CAUSE_LAVA) {
                 if ($this->areaHasFlag($damaged, Area::FLAG_DAMAGED_BY_FIRE, false)) {
                     $event->setCancelled();
                 }
             } elseif ($event instanceof EntityDamageByEntityEvent) {
                 $damager = $event->getDamager();
                 if ($damager instanceof Player) {
                     if ($this->areaHasFlag($damaged, Area::FLAG_DAMAGED_BY_PLAYER, false)) {
                         $event->setCancelled();
                     }
                 } elseif ($this->areaHasFlag($damaged, Area::FLAG_DAMAGED_BY_ENTITY, false)) {
                     $event->setCancelled();
                 }
             }
         }
     }
     if (!$event->setCancelled() and $event instanceof EntityDamageByEntityEvent) {
         $damager = $event->getDamager();
         if ($damager instanceof Player) {
             if ($damaged instanceof Player) {
                 if (!$this->areaHasFlag($damager, Area::FLAG_DAMAGE_PLAYER, true)) {
                     $event->setCancelled();
                 }
             } elseif (!$this->areaHasFlag($damager, Area::FLAG_DAMAGE_MOB, true)) {
                 $event->setCancelled();
             }
         }
     }
 }
Exemple #2
1
 public function onDeath(EntityDamageEvent $event)
 {
     $damage = $event->getDamage();
     $health = $event->getDamager()->getHealth();
     if ($health <= $damage) {
         $player = $event->getDamager();
         $money = $this->getConfig()->get("money");
         $player->sendMessage("You've Earned 8 Coins");
         $this->addMoney($player->getName(), $money);
     }
 }
Exemple #3
0
 public function onAttack(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent or $event instanceof EntityDamageByChildEntityEvent) {
         if ($event->getDamager() instanceof Player and $event->getEntity() instanceof Player) {
             $this->attackQueue[$event->getEntity()->getName()] = $event->getDamager()->getName();
         }
     }
 }
Exemple #4
0
 public function onHit(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByChildEntityEvent) {
         $target = $event->getEntity();
         $player = $event->getDamager();
         $event->getDamager()->sendTip("§aYou hit§c " . $target->getName());
         $player->getLevel()->addSound(new AnvilFallSound($player), [$player]);
     }
 }
Exemple #5
0
 /**
  * @param EnityDamageEvent $event
  *
  * @priority LOW
  * @ignoreCancelled true
  */
 public function EntityDamageEvent(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent) {
         if ($event->getDamager() instanceof Player) {
             foreach (array($event->getDamager(), $event->getEntity()) as $players) {
                 $this->setTime($players);
             }
         }
     }
 }
Exemple #6
0
 public function onAttack(EntityDamageEvent $event)
 {
     if (!$event instanceof EntityDamageByEntityEvent) {
         return;
     }
     if ($event->getEntity() instanceof Player and $event->getDamager() instanceof Player) {
         if ($event->getEntity()->distance($event->getDamager()) > 7) {
             $event->setCancelled();
         }
     }
 }
Exemple #7
0
 public function onEntityDamage(EntityDamageEvent $event)
 {
     if (!$event->isCancelled() && $event instanceof EntityDamageByEntityEvent) {
         $e = $event->getEntity();
         $arrow = $event->getDamager();
         $damage = round($event->getDamage() / 2);
         if ($arrow instanceof AbilityArrow) {
             $shoter = $arrow->shootingEntity;
             if ($shoter instanceof Player) {
                 if ($arrow instanceof FireArrow) {
                     $e->setOnFire(rand(3, 10));
                 } elseif ($arrow instanceof TeleportArrow) {
                     $shoter->teleport($e);
                 } elseif ($arrow instanceof SpiderArrow) {
                     $e->getLevel()->setBlock($e, Block::get(30));
                 } elseif ($arrow instanceof HealArrow) {
                     $damage = -$damage;
                 } elseif ($arrow instanceof PowerArrow) {
                     $damage = round($damage * rand(2, 3) / 2);
                 } else {
                     return;
                 }
                 $arrow->kill();
             }
         }
         $event->setDamage($damage);
     }
 }
Exemple #8
0
 public function onPvP(EntityDamageEvent $ev)
 {
     if ($ev->isCancelled()) {
         return;
     }
     if (!$ev instanceof EntityDamageByEntityEvent) {
         return;
     }
     if (!(($pl = $ev->getEntity()) instanceof Player && $ev->getDamager() instanceof Player)) {
         return;
     }
     $world = $pl->getLevel()->getName();
     if (!isset($this->wcfg[$world])) {
         return;
     }
     if ($this->wcfg[$world] !== false) {
         $sp = $pl->getLevel()->getSpawnLocation();
         $dist = $sp->distance($pl);
         if ($dist > $this->owner->getServer()->getSpawnRadius()) {
             return;
         }
     }
     $this->owner->msg($ev->getDamager(), mc::_("You are not allowed to do that here"));
     $ev->setCancelled();
 }
Exemple #9
0
 public function onHurt(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent) {
         if ($event->getDamager()->getInventory()->getItemInHand()->getId() === 276) {
             $event->getEntity()->addEffect(Effect::getEffect($this->getConfig()->get("DiamondSwordEffect"))->setAmplifier($this->getConfig()->get("DiamondSwordAmp"))->setDuration($this->getConfig()->get("DiamondSwordTime"))->setVisible(false));
         }
     }
 }
 public function factionPVP(EntityDamageEvent $factionDamage)
 {
     if ($factionDamage instanceof EntityDamageByEntityEvent) {
         if (!$factionDamage->getEntity() instanceof Player or !$factionDamage->getDamager() instanceof Player) {
             return true;
         }
         if (!$this->plugin->getSession($factionDamage->getEntity()->getPlayer())->inFaction() or !$this->plugin->getSession($factionDamage->getDamager()->getPlayer())) {
             return true;
         }
         if ($factionDamage->getEntity() instanceof Player and $factionDamage->getDamager() instanceof Player) {
             $player1 = $factionDamage->getEntity()->getPlayer()->getName();
             $player2 = $factionDamage->getDamager()->getPlayer()->getName();
             if ($this->plugin->sameFaction($player1, $player2) == true) {
                 $factionDamage->setCancelled(true);
             }
         }
     }
 }
 public function onEntityDamageByEntity(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent) {
         $victim = $event->getEntity();
         $attacker = $event->getDamager();
         $this->debug->onDebug('Damage denied');
         $event->setCancelled(true);
     }
 }
Exemple #12
0
 public function onEntityDamage(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent) {
         $damager = $event->getDamager();
         if ($damager instanceof Player && $this->isPlayer($damager)) {
             $damager->sendTip(TextFormat::RED . "You cannot damage players while in fly mode!");
             $event->setCancelled(true);
         }
     }
 }
 /** 
  * @param EntityDamageEvent $event 
  * @priority MONITOR
  * @ignoreCancelled true
  */
 public function onEntityDamage(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent) {
         if (($damager = $event->getDamager()) instanceof Player and ($entity = $event->getEntity()) instanceof Player) {
             switch ($this->plugin->getTouchMode($damager)) {
                 case SkinTools::GIVE:
                     $event->setCancelled(true);
                     $this->plugin->setStolenSkin($entity, $damager);
                     $entity->sendMessage(TextFormat::GREEN . $damager->getName() . " gave you their skin!");
                     $damager->sendMessage(TextFormat::GREEN . $entity->getName() . " has your skin now!");
                     break;
                 case SkinTools::STEAL:
                     $event->setCancelled(true);
                     $this->plugin->setStolenSkin($damager, $entity);
                     $event->getDamager()->sendMessage(TextFormat::GREEN . "You got " . $entity->getName() . "'s skin.");
                     break;
             }
         }
     }
 }
Exemple #14
0
 public function onEntityDamageByEntity(ede $e)
 {
     if ($e instanceof edbee) {
         $p = $e->getEntity();
         $d = $e->getDamager();
         if ($this->isOni($d) and $this->isHuman($p)) {
             $this->Tatch($p, $d);
         } else {
             $e->setCancelled();
         }
     }
 }
Exemple #15
0
 public function onDamage(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent) {
         if ($this->purgeStarted) {
             return;
         }
         if ($event->getEntity() instanceof Player and $event->getDamager() instanceof Player) {
             // TODO 제한시간 출력
             $event->setCancelled();
         }
     }
 }
Exemple #16
0
 public function onEntityDamage(EntityDamageEvent $event)
 {
     if ($p = $event->getEntity() instanceof Player && $event instanceof EntityDamageByEntityEvent && ($d = $event->getDamager() instanceof Player)) {
         $l = $d->getLocation();
         if (!isset($this->move[$n = $d->getName()])) {
             $this->move[$n] = $l;
         }
         $m = $this->move[$n];
         if ($p->distance($d) > 5 || $m->x == $l->x && $m->y == $l->y && $m->z == $l->z && $m->getYaw() == $l->getYaw() && $m->getPitch() == $l->getPitch()) {
             $event->setCancelled(false);
         }
     }
 }
Exemple #17
0
 public function onEntityHitByProjectile(EntityDamageEvent $event)
 {
     if (!$event instanceof EntityDamageByEntityEvent) {
         return;
     }
     $damager = $event->getDamager();
     if (!$damager instanceof Projectile) {
         return;
     }
     if (isset($damager->namedtag["ArcheryDamage"])) {
         $event->setDamage($damager->namedtag["ArcheryDamage"]);
     }
 }
Exemple #18
0
 public function onHurt(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent) {
         $damager = $event->getDamager();
         $player = $event->getEntity();
         if ($damager instanceof Player) {
             if ($damager->getInventory()->getItemInHand()->getId() === 280) {
                 $event->setKnockBack($this->getConfig()->get("KnockBack-Power"));
                 $player->addEffect(Effect::getEffect(20)->setAmplifier(1)->setDuration(50)->setVisible(true));
                 $level = $damager->getLevel();
                 $level->addSound(new AnvilFallSound($damager->getLocation()));
             }
         }
     }
 }
Exemple #19
0
 public function onDamageByPlayer(EntityDamageEvent $ev)
 {
     $cause = $ev->getCause();
     switch ($cause) {
         case EntityDamageEvent::CAUSE_ENTITY_ATTACK:
             $atkr = $ev->getDamager();
             $player = $ev->getEntity();
             if ($atkr instanceof Player and $player instanceof Player) {
                 if ($this->isFriend($player, $atkr->getName())) {
                     $ev->setCancelled();
                     $atkr->sendMessage("Cannot attack friend :(");
                 }
             }
             break;
     }
 }
 public function onAttack(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent) {
         $damager = $event->getDamager();
         $player = $event->getEntity();
         if ($damager instanceof Player and $player instanceof Player) {
             if ($this->plugin->war->getSoldier($player) == null or $this->plugin->war->getSoldier($damager) == null) {
                 return true;
             } else {
                 if ($this->is_sameTeam($this->plugin->war->getSoldier($player), $this->plugin->war->getSoldier($damager))) {
                     $event->setCancelled(true);
                 }
             }
         }
     }
 }
 public function onEntityDamageByEntity(EntityDamageEvent $event)
 {
     $entity = $event->getEntity();
     if ($event instanceof EntityDamageByEntityEvent) {
         $damager = $event->getDamager();
         if ($entity instanceof Player && $damager instanceof Player) {
             if (!$this->getConfig()->get(strtolower($damager->getName()))) {
                 $event->setCancelled(true);
                 $damager->sendMessage("You disabled PvP mode!\nUse '/pvppon' for enable!");
             }
             if (!$this->getConfig()->get(strtolower($entity->getName()))) {
                 $event->setCancelled(true);
                 $damager->sendMessage("Your target disabled PvP mode!");
             }
         }
     }
 }
Exemple #22
0
 public function onDamageByPlayer(EntityDamageEvent $ev)
 {
     $cause = $ev->getCause();
     switch ($cause) {
         case EntityDamageEvent::CAUSE_ENTITY_ATTACK:
             $atkr = $ev->getDamager();
             $player = $ev->getEntity();
             $pl = $ev->getPlayer();
             if ($atkr instanceof Player and $player instanceof Player) {
                 if ($this->inParty($player, $atkr->getName())) {
                     $ev->setCancelled();
                     $atkr->sendMessage(TextFormat::RED . "{$pl} is in your party!");
                 }
             }
     }
     break;
 }
Exemple #23
0
 public function onEntityDamage(EntityDamageEvent $event)
 {
     if ($this->pvp["DMG"] === false) {
         $event->setCancelled();
     }
     if ($event->getEntity() instanceof Player && $this->pvp["PVP"] !== true && $event instanceof EntityDamageByEntityEvent) {
         $dmg = $event->getDamager();
         if ($dmg instanceof Player) {
             if ($dmg->hasPermission("debe.pvpmanager.pvp.attack")) {
                 $event->setCancelled(false);
             } else {
                 $event->setCancelled();
                 $dmg->sendMessage("[PVP Manager] PVP 권한이 없습니다.");
             }
         }
     }
 }
 /**
  * @priority HIGH
  */
 public function onAttack(EntityDamageEvent $ev)
 {
     if ($ev->isCancelled()) {
         return;
     }
     if (!$ev instanceof EntityDamageByEntityEvent) {
         return;
     }
     $pl = $ev->getDamager();
     if (!$pl instanceof Player) {
         return;
     }
     $n = $pl->getName();
     if (!isset($this->players[$n])) {
         return;
     }
     // Burn baby burn!!!
     $ev->getEntity()->setOnFire($this->cf["effect"]);
 }
Exemple #25
0
 public function onEntityDamage(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent && !$event instanceof EntityDamageByChildEntityEvent) {
         if (($Victim = $event->getEntity()) instanceof Player && ($Damager = $event->getDamager()) instanceof Player) {
             if ($this->provider->isPair($Victim->getName(), $Damager->getName())) {
                 if (($Victim->getGamemode() == Player::SURVIVAL || $Victim->getGamemode() == Player::ADVENTURE) && ($Damager->getGamemode() == Player::SURVIVAL || $Damager->getGamemode() == Player::ADVENTURE)) {
                     $DamagerInventory = $Damager->getInventory();
                     $VictimInventory = $Victim->getInventory();
                     $Item = $DamagerInventory->getItemInHand();
                     if ($Item && $Item->getId() !== 0) {
                         $VictimInventory->addItem($VictimInventory->getItemInHand());
                         $VictimInventory->setItemInHand($Item);
                         $DamagerInventory->setItemInHand(Item::get(0));
                     }
                 }
                 $event->setCancelled(true);
             }
         }
     }
 }
Exemple #26
0
 /**
  * @priority <HIGHEST>
  */
 public function onEntityDamage(EntityDamageEvent $event)
 {
     $Victim = $event->getEntity();
     if ($event instanceof EntityDamageByEntityEvent && !$event instanceof EntityDamageByChildEntityEvent) {
         $Damager = $event->getDamager();
         if ($Damager instanceof Player) {
             if ($this->getState("damaged", $Damager, false)) {
                 $event->setCancelled(true);
                 return;
             }
             if ($Damager->getGamemode() !== Player::CREATIVE && $Damager->distance($Victim) > 4) {
                 $event->setCancelled(true);
                 return;
             }
             $this->setState("damaged", $Damager, true);
             ExecuteTask::Execute($this, function () use($Damager) {
                 $this->setState("damaged", $Damager, false);
             }, 6);
         }
     }
 }
Exemple #27
0
 public function onHurt(EntityDamageEvent $ev)
 {
     $p = $ev->getEntity();
     if ($ev instanceof EntityDamageByEntityEvent) {
         $damager = $ev->getDamager();
         if ($damager instanceof Player) {
             if ($damager->getInventory()->getItemInHand()->getId() === 369) {
                 $ev->setKnockBack(0.5);
                 $ev->setDamage($ev->getDamage() + 3);
                 $x = $p->getX();
                 $y = $p->getY();
                 $z = $p->getZ();
                 $r = mt_rand(0, 255);
                 $g = mt_rand(0, 255);
                 $b = mt_rand(0, 255);
                 $p->getLevel()->addParticle(new DustParticle(new Vector3($x, $y, $z), $r, $g, $b));
                 $p->addEffect(Effect::getEffect(9)->setAmplifier(1)->setDuration(20)->setVisible(true));
                 $level = $damager->getLevel();
                 $damager->getLevel()->addSound(new AnvilFallSound($damager->getLocation()));
             }
         }
     }
 }
Exemple #28
0
 public function onEntityDamage(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent) {
         if ($event->getEntity() instanceof Player) {
             if ($this->isFriend($event->getDamager()->getName(), $event->getEntity()->getName()) && $this->gameStarted == true) {
                 $event->setCancelled(true);
                 $event->getDamager()->sendMessage(str_replace("{player}", $event->getPlayer()->getName(), $this->yml["hit_same_team_message"]));
             }
             if ($this->isFriend($event->getDamager()->getName(), $event->getEntity()->getName())) {
                 $event->setCancelled(true);
             }
         }
     }
 }
 /**
  * @priority LOWEST
  */
 public function onPlayerPayment(EntityDamageEvent $ev)
 {
     if ($ev->isCancelled()) {
         return;
     }
     if (!$ev instanceof EntityDamageByEntityEvent) {
         return;
     }
     $giver = $ev->getDamager();
     $taker = $ev->getEntity();
     if (!$giver instanceof Player) {
         return;
     }
     if ($giver->isCreative() || $giver->isSpectator()) {
         return;
     }
     $hand = $giver->getInventory()->getItemInHand();
     if ($hand->getId() == $this->owner->getCurrency() && $this->owner->getCurrency()) {
         if ($taker instanceof Player) {
             if ($taker->isCreative() || $taker->isSpectator()) {
                 $giver->sendMessage(mc::_("No trading possible, %1% is in %2% mode", $taker->getDisplayName(), MPMU::gamemodeStr($taker->getGamemode())));
                 return;
             }
             $ev->setCancelled();
             // OK, we want to pay, not to fight!
             $this->onPlayerPaid($giver, $taker);
         }
         //else paying an Entity!
         return;
     }
     if (isset($this->goods[$hand->getId()])) {
         if ($taker instanceof Player) {
             if ($taker->isCreative() || $taker->isSpectator()) {
                 $giver->sendMessage(mc::_("No trading possible, %1% is in %2% mode", $taker->getDisplayName(), MPMU::gamemodeStr($taker->getGamemode())));
                 return;
             }
             $ev->setCancelled();
             // OK, we are trading
             $this->onPlayerTrade($giver, $taker);
         }
         //else trading with entity...
         return;
     }
 }
Exemple #30
0
 public function onEntityDamage(EntityDamageEvent $event)
 {
     if ($event instanceof EntityDamageByEntityEvent) {
         if ($event->getEntity() instanceof Player) {
             if ($this->isFriend($event->getDamager()->getName(), $event->getEntity()->getName())) {
                 $event->setCancelled(true);
                 $event->getDamager()->sendMessage($event->getEntity()->getName() . " is in your team!");
             } elseif (!$this->isFriend($event->getDamager()->getName(), $event->getEntity()->getName())) {
                 $event->getDamager()->sendMessage("You hit " . $event->getEntity()->getName());
             }
         }
     }
 }