/** * @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); } }
/** * @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; } } }