コード例 #1
0
 /**
  * @param InventoryPickupItemEvent $event
  *
  * @priority LOWEST
  */
 public function onPickupItem(InventoryPickupItemEvent $event)
 {
     $player = $event->getInventory()->getHolder();
     if ($player instanceof Player and !$this->auth->isPlayerAuthenticated($player)) {
         $event->setCancelled(true);
     }
 }
コード例 #2
0
ファイル: CapsLimit.php プロジェクト: xpyctum/CapsLimit
 /**
  * @param PlayerChatEvent $event
  */
 public function onChat(PlayerChatEvent $event)
 {
     if ($this->getServer()->getPluginManager()->getPlugin("SimpleAuth")) {
         if (!$this->simpleauth->isPlayerAuthenticated($event->getPlayer())) {
             return false;
         }
     }
     $player = $event->getPlayer();
     $message = $event->getMessage();
     $strlen = strlen($message);
     $asciiA = ord("A");
     $asciiZ = ord("Z");
     $count = 0;
     for ($i = 0; $i < $strlen; $i++) {
         $char = $message[$i];
         $ascii = ord($char);
         if ($asciiA <= $ascii and $ascii <= $asciiZ) {
             $count++;
         }
     }
     if (!$player->hasPermission("capslimit.exception")) {
         if ($count > $this->getMaxCaps() and $this->getConfig()->get("mode") == "block") {
             $event->setCancelled(true);
             $player->sendMessage($this->getPrefix() . TextFormat::RED . "You used too much caps!");
         } elseif ($count > $this->getMaxCaps() and $this->getConfig()->get("mode") === "lowercase") {
             $event->setMessage(strtolower($message));
         } elseif ($count > $this->getMaxCaps() and $this->getConfig()->get("mode") === "kick") {
             $event->setCancelled(true);
             $player->kick("You have been kicked for overused caps!");
         }
         if ($count > $this->getMaxCaps() and $this->getConfig()->getNested("broadcast.enable") === true) {
             foreach ($this->getServer()->getOnlinePlayers() as $p) {
                 $subject = $this->getConfig()->getNested("broadcast.message");
                 $p->sendMessage($this->getPrefix() . TextFormat::RED . str_replace("{PLAYER}", $player->getName(), $subject));
             }
         } else {
             return false;
         }
     }
 }