本文整理汇总了PHP中pocketmine\event\server\DataPacketSendEvent::isCancelled方法的典型用法代码示例。如果您正苦于以下问题:PHP DataPacketSendEvent::isCancelled方法的具体用法?PHP DataPacketSendEvent::isCancelled怎么用?PHP DataPacketSendEvent::isCancelled使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pocketmine\event\server\DataPacketSendEvent
的用法示例。
在下文中一共展示了DataPacketSendEvent::isCancelled方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: directDataPacket
/**
* @param DataPacket $packet
* @param bool $needACK
*
* @return bool|int
*/
public function directDataPacket(DataPacket $packet, $needACK = false)
{
if ($this->connected === false) {
return false;
}
$timings = Timings::getSendDataPacketTimings($packet);
$timings->startTiming();
$this->server->getPluginManager()->callEvent($ev = new DataPacketSendEvent($this, $packet));
if ($ev->isCancelled()) {
$timings->stopTiming();
return false;
}
$identifier = $this->interface->putPacket($this, $packet, $needACK, true);
if ($needACK and $identifier !== null) {
$this->needACK[$identifier] = false;
$timings->stopTiming();
return $identifier;
}
$timings->stopTiming();
return true;
}
示例2: onDataPacket
public function onDataPacket(DataPacketSendEvent $event)
{
if (!$event->getPacket() instanceof TextPacket or $event->getPacket()->pid() != 0x85 or $event->isCancelled()) {
return;
}
if (isset($this->db[$event->getPlayer()->getName()]["chat"]) and $this->db[$event->getPlayer()->getName()]["chat"] == false) {
$event->setCancelled();
return;
}
if (isset($this->db[$event->getPlayer()->getName()]["nametag"]) and $this->db[$event->getPlayer()->getName()]["nametag"] == true) {
$message = $this->getServer()->getLanguage()->translate(new TranslationContainer($event->getPacket()->message, $event->getPacket()->parameters));
$this->putStack($event->getPlayer()->getName(), $message);
}
}
示例3: onDataPacket
public function onDataPacket(DataPacketSendEvent $event)
{
if ($event->getPacket() instanceof MessagePacket) {
if ($event->getPacket()->pid() != 0x85) {
return;
}
if ($event->isCancelled()) {
return;
}
if (isset($this->db[$event->getPlayer()->getName()]["CHAT"])) {
if ($this->db[$event->getPlayer()->getName()]["CHAT"] == false) {
$event->setCancelled();
return;
}
}
if (isset($this->db[$event->getPlayer()->getName()]["localCHAT"])) {
if ($this->db[$event->getPlayer()->getName()]["localCHAT"] == false) {
if (isset($this->localChatQueue["Player"])) {
if ($this->localChatQueue["Player"] instanceof Player) {
if ($this->localChatQueue["Message"] == null) {
$this->localChatQueue["Message"] = $event->getPacket()->message;
}
// 보내는 메시지가 동일할때만
if ($this->localChatQueue["Message"] == $event->getPacket()->message) {
$dx = abs($event->getPlayer()->x - $this->localChatQueue["Player"]->x);
$dy = abs($event->getPlayer()->y - $this->localChatQueue["Player"]->y);
$dz = abs($event->getPlayer()->z - $this->localChatQueue["Player"]->z);
// 거리가 멀면 패킷보내지않음
if ($dx > 25 or $dy > 25 or $dz > 25) {
$event->setCancelled();
return;
}
}
}
}
}
}
if (isset($this->db[$event->getPlayer()->getName()]["NameTAG"])) {
if ($this->db[$event->getPlayer()->getName()]["NameTAG"] == true) {
$event->setCancelled();
$this->putStack($event->getPlayer()->getName(), $event->getPacket()->message);
return;
}
}
}
}
示例4: directDataPacket
/**
* @param DataPacket $packet
* @param bool $needACK
*
* @return bool|int
*/
public function directDataPacket(DataPacket $packet, $needACK = \false)
{
if ($this->connected === \false) {
return \false;
}
$this->server->getPluginManager()->callEvent($ev = new DataPacketSendEvent($this, $packet));
if ($ev->isCancelled()) {
return \false;
}
$identifier = $this->interface->putPacket($this, $packet, $needACK, \true);
if ($needACK and $identifier !== \null) {
$this->needACK[$identifier] = \false;
return $identifier;
}
return \true;
}