PocketMine Crash Archive

#29731394 Undefined call error by WorldGuardian plugin

Submitted by BossCore 0.1
Warning! This crash was caused by the WorldGuardian plugin. Please contact the original plugin author.

General information

Version: 0.1
API version: 1.12.0
Caused by a Plugin: YES
Report date: Monday 23/03/2020 01:07:12
Attached Issue: None

System Information

PHP version: 7.3.15
Operating system: linux
System banner: Linux 7e297a7e2624 3.10.0-1062.9.1.el7.x86_64 #1 SMP Fri Dec 6 15:49:49 UTC 2019 x86_64

Error information

Call to a member function fetchArray() on bool
File: /plugins/PrivatNEW_vMCPE14.phar/src/WorldGuardian/WorldGuardian
Line: #1
Error level: notice

[1] <?php namespace WorldGuardian;use \pocketmine\event\block\BlockPlaceEvent;use \pocketmine\event\Listener;use \pocketmine\command\CommandExecutor;use \pocketmine\event\block\BlockBreakEvent;use \pocketmine\event\player\PlayerInteractEvent;use pocketmine\command\CommandSender;use pocketmine\command\Command;use pocketmine\Player;use \pocketmine\plugin\PluginBase;use pocketmine\item\Item;use pocketmine\utils\Config;use pocketmine\event\entity\EntityDamageByEntityEvent;use pocketmine\event\entity\EntityDamageByEntity;use pocketmine\event\entity\EntityDamageEvent;use pocketmine\utils\TextFormat;use pocketmine\event\player\PlayerChatEvent;use pocketmine\event\player\PlayerDropItemEvent;class WorldGuardian extends PluginBase implements CommandExecutor, Listener{private $db, $pos1 = array(), $pos2 = array();private $config;private $xgroup;private $g_var;public function pct_msg($mes) {$mes = str_replace("&1", "§1", $mes);$mes = str_replace("&2", "§2", $mes);$mes = str_replace("&3", "§3", $mes);$mes = str_replace("&4", "§4", $mes);$mes = str_replace("&5", "§5", $mes);$mes = str_replace("&6", "§6", $mes);$mes = str_replace("&7", "§7", $mes);$mes = str_replace("&8", "§8", $mes);$mes = str_replace("&9", "§9", $mes);$mes = str_replace("&a", "§a", $mes);$mes = str_replace("&b", "§b", $mes);$mes = str_replace("&c", "§c", $mes);$mes = str_replace("&d", "§d", $mes);$mes = str_replace("&e", "§e", $mes);$mes = str_replace("&f", "§f", $mes);return $mes;}public function onBlockBreak(BlockBreakEvent $event){$player = $event->getPlayer();$x = round($event->getBlock()->getX());$y = round($event->getBlock()->getY());$z = round($event->getBlock()->getZ());$level = $event->getBlock()->getLevel()->getName();$username = strtolower($event->getPlayer()->getName());if($event->getItem()->getID() == 271){$this->pos1[$username] = array($x,$y,$z,$level,);$event->getPlayer()->sendMessage(TextFormat::LIGHT_PURPLE.'Первая точка установлена на ('.$x.', '.$y.', '.$z.')');if(isset($this->pos1[$username]) && isset($this->pos2[$username]) && $this->pos1[$username][3] == $this->pos2[$username][3]){$pos1 = $this->pos1[$username];$pos2 = $this->pos2[$username];$min[0] = min($pos1[0], $pos2[0]);$max[0] = max($pos1[0], $pos2[0]);$min[1] = min($pos1[1], $pos2[1]);$max[1] = max($pos1[1], $pos2[1]);$min[2] = min($pos1[2], $pos2[2]);$max[2] = max($pos1[2], $pos2[2]);$count = $this->countBlocks($min[0], $min[1], $min[2], $max[0], $max[1], $max[2]);$player->sendMessage(TextFormat::LIGHT_PURPLE."Выбрано $count блок(ов).");}$event->setCancelled(true);}else{$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$member = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Region = '".$result['Region']."' AND Name = '$username'")->fetchArray(SQLITE3_ASSOC);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '".$result['Region']."' AND Flag = 'build' AND Value = 'allow'")->fetchArray(SQLITE3_ASSOC);$chest_access_flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '".$result['Region']."' AND Flag = 'chest-access' AND Value = 'allow'")->fetchArray(SQLITE3_ASSOC);if($result !== false && $username != $result['Owner'] && ! $event->getPlayer()->isOp() && ! $member['count'] && ! $flag['count']){$event->getPlayer()->sendMessage(TextFormat::DARK_RED."Вы не можете ломать блоки на этой территории.");$event->setCancelled(true);}}}public function onEntityDamageByEntity(EntityDamageEvent $event){$entity = $event->getEntity();if($event instanceof EntityDamageByEntityEvent){$damager = $event->getDamager();$leveld = $damager->getLevel()->getName();$xd = round($damager->getX());$yd = round($damager->getY());$zd = round($damager->getZ());$resultd_check = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $xd AND $xd <= Pos2X) AND (Pos1Y <= $yd AND $yd <= Pos2Y) AND (Pos1Z <= $zd AND $zd <= Pos2Z) AND Level = '".$leveld."';")->fetchArray(SQLITE3_ASSOC);$resultd = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $xd AND $xd <= Pos2X) AND (Pos1Y <= $yd AND $yd <= Pos2Y) AND (Pos1Z <= $zd AND $zd <= Pos2Z) AND Level = '".$leveld."';")->fetchArray(SQLITE3_ASSOC);$pvpd_flag = $this->db->query("SELECT * FROM FLAGS WHERE Region = '".$resultd['Region']."' AND Flag = 'pvp'")->fetchArray(SQLITE3_ASSOC);$pvpd_flag_check = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '".$resultd['Region']."' AND Flag = 'pvp'")->fetchArray(SQLITE3_ASSOC);$levele = $entity->getLevel()->getName();$xe = round($entity->getX());$ye = round($entity->getY());$ze = round($entity->getZ());$resulte_check = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $xe AND $xe <= Pos2X) AND (Pos1Y <= $ye AND $ye <= Pos2Y) AND (Pos1Z <= $ze AND $ze <= Pos2Z) AND Level = '".$levele."';")->fetchArray(SQLITE3_ASSOC);$resulte = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $xe AND $xe <= Pos2X) AND (Pos1Y <= $ye AND $ye <= Pos2Y) AND (Pos1Z <= $ze AND $ze <= Pos2Z) AND Level = '".$levele."';")->fetchArray(SQLITE3_ASSOC);$pvpe_flag = $this->db->query("SELECT * FROM FLAGS WHERE Region = '".$resulte['Region']."' AND Flag = 'pvp'")->fetchArray(SQLITE3_ASSOC);$pvpe_flag_check = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '".$resulte['Region']."' AND Flag = 'pvp'")->fetchArray(SQLITE3_ASSOC);if($entity instanceof Player && $damager instanceof Player){if(($resultd_check['count'] && $pvpd_flag_check['count']) || ($resulte_check['count'] && $pvpe_flag_check['count'])){if($pvpd_flag['Value'] == "deny" && $pvpe_flag['Value'] != "deny"){$event->setCancelled(true);$damager->sendMessage(TextFormat::DARK_RED."Вы находитесь на территории без PVP.");}if($pvpd_flag['Value'] == "deny" && $pvpe_flag['Value'] == "deny"){$event->setCancelled(true);$damager->sendMessage(TextFormat::DARK_RED."Вы находитесь на территории без PVP.");}if($pvpd_flag['Value'] != "deny" && $pvpe_flag['Value'] == "deny"){$event->setCancelled(true);$damager->sendMessage(TextFormat::DARK_RED."Этот игрок находится на территории без PVP.");}}}}}public function onEntityDamage(EntityDamageEvent $event){$entity = $event->getEntity();if($event instanceof EntityDamageEvent){if($entity instanceof Player){$x = round($entity->getX());$y = round($entity->getY());$z = round($entity->getZ());$level = $entity->getLevel()->getName();$player = $entity->getPlayer();$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '".$result['Region']."' AND Flag = 'invincible' AND Value = 'allow'")->fetchArray(SQLITE3_ASSOC);if($count['count'] && $flag['count']){$event->setCancelled(true);}}}}public function onPlayerChat(PlayerChatEvent $event){$player = $event->getPlayer();$x = round($player->getX());$y = round($player->getY());$z = round($player->getZ());$level = $player->getLevel()->getName();$username = strtolower($player->getName());$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '".$result['Region']."' AND Flag = 'send-chat' AND Value = 'deny'")->fetchArray(SQLITE3_ASSOC);if($count['count'] && $flag['count'] && ! $player->isOp()){$player->sendMessage(TextFormat::DARK_RED."У вас нет прав на использование чата на этой территории.");$event->setCancelled(true);}}public function onPlayerDropItem(PlayerDropItemEvent $event){$player = $event->getPlayer();$x = round($player->getX());$y = round($player->getY());$z = round($player->getZ());$level = $player->getLevel()->getName();$username = strtolower($player->getName());$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '".$result['Region']."' AND Flag = 'item-drop' AND Value = 'deny'")->fetchArray(SQLITE3_ASSOC);if($flag['count']){$player->sendMessage(TextFormat::DARK_RED."Вы не можете выбрасывать вещи на этой территории.");$event->setCancelled(true);}}public function onBlockPlace(BlockPlaceEvent $event){$x = round($event->getBlock()->getX());$y = round($event->getBlock()->getY());$z = round($event->getBlock()->getZ());$level = $event->getBlock()->getLevel()->getName();$username = strtolower($event->getPlayer()->getName());$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$member = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Region = '".$result['Region']."' AND Name = '$username'")->fetchArray(SQLITE3_ASSOC);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '".$result['Region']."' AND Flag = 'build' AND Value = 'allow'")->fetchArray(SQLITE3_ASSOC);if($result !== false and $username != $result['Owner'] and ! $event->getPlayer()->isOp() and ! $member['count'] and ! $flag['count']){$event->getPlayer()->sendMessage(TextFormat::DARK_RED."Вы не можете ставить блоки на этой территории.");$event->setCancelled(true);}}public function onInteract(PlayerInteractEvent $event){$player = $event->getPlayer();$block = $event->getBlock();$x = round($event->getBlock()->getX());$y = round($event->getBlock()->getY());$z = round($event->getBlock()->getZ());$level = $event->getBlock()->getLevel()->getName();$username = strtolower($event->getPlayer()->getName());if($event->getItem()->getID() == 271){$this->pos2[$username] = array($x,$y,$z,$level,);$event->getPlayer()->sendMessage(TextFormat::LIGHT_PURPLE.'Вторая точка установлена на ('.$x.', '.$y.', '.$z.')');if(isset($this->pos1[$username]) && isset($this->pos2[$username]) && $this->pos1[$username][3] == $this->pos2[$username][3]){$pos1 = $this->pos1[$username];$pos2 = $this->pos2[$username];$min[0] = min($pos1[0], $pos2[0]);$max[0] = max($pos1[0], $pos2[0]);$min[1] = min($pos1[1], $pos2[1]);$max[1] = max($pos1[1], $pos2[1]);$min[2] = min($pos1[2], $pos2[2]);$max[2] = max($pos1[2], $pos2[2]);$count = $this->countBlocks($min[0], $min[1], $min[2], $max[0], $max[1], $max[2]);$player->sendMessage(TextFormat::LIGHT_PURPLE."Выбрано $count блок(ов).");}$event->setCancelled(true);}if($event->getBlock()->getID() == 54){$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);if($count['count']){$member = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Name = '$username' AND Region = '".$result['Region']."'")->fetchArray(SQLITE3_ASSOC);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Flag = 'chest-access' AND Region = '".$result['Region']."' AND Value = 'allow'")->fetchArray(SQLITE3_ASSOC);if(! $member['count'] && ! $flag['count'] && $username != $result['Owner']){if(! $event->getPlayer()->isOp()){$event->getPlayer()->sendMessage(TextFormat::DARK_RED."Вы не можете пользоваться сундуками на этой территории.");$event->setCancelled(true);}}}}if($event->getItem()->getID() == 290 || $event->getItem()->getID() == 291 || $event->getItem()->getID() == 292 || $event->getItem()->getID() == 293 || $event->getItem()->getID() == 294){$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);if($count['count']){$member = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Name = '$username' AND Region = '".$result['Region']."'")->fetchArray(SQLITE3_ASSOC);if(! $member['count'] && $username != $result['Owner']){if(! $event->getPlayer()->isOp()){$event->getPlayer()->sendMessage(TextFormat::DARK_RED."Вы не можете окучивать землю на этой территории.");$event->setCancelled(true);}}}}if($event->getBlock()->getID() == 64 || $event->getBlock()->getID() == 71 || $event->getBlock()->getID() == 324 || $event->getBlock()->getID() == 330){$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);if($count['count']){$member = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Name = '$username' AND Region = '".$result['Region']."'")->fetchArray(SQLITE3_ASSOC);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Flag = 'use' AND Region = '".$result['Region']."' AND Value = 'allow'")->fetchArray(SQLITE3_ASSOC);if(! $member['count'] && ! $flag['count'] && $username != $result['Owner']){if(! $event->getPlayer()->isOp()){$event->getPlayer()->sendMessage(TextFormat::DARK_RED."Вы не можете открывать двери на этой территории.");$event->setCancelled(true);}}}}if($event->getBlock()->getID() == 61 || $event->getBlock()->getID() == 62){$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);if($count['count']){$member = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Name = '$username' AND Region = '".$result['Region']."'")->fetchArray(SQLITE3_ASSOC);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Flag = 'use' AND Region = '".$result['Region']."' AND Value = 'allow'")->fetchArray(SQLITE3_ASSOC);if(! $member['count'] && ! $flag['count'] && $username != $result['Owner']){if(! $event->getPlayer()->isOp()){$event->getPlayer()->sendMessage(TextFormat::DARK_RED."Вы не можете пользоваться печкой на этой территории.");$event->setCancelled(true);}}}}if($event->getItem()->getID() == 280){$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);if($count['count']){$count_blocks = $this->countBlocks($result['Pos1X'], $result['Pos1Y'], $result['Pos1Z'], $result['Pos2X'], $result['Pos2Y'], $result['Pos2Z']);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '".$result['Region']."' AND Flag = 'info' AND Value = 'deny'")->fetchArray(SQLITE3_ASSOC);if(! $flag['count'] || $username == $result['Owner'] || $player->isOp()) {$event->getPlayer()->sendMessage(TextFormat::DARK_GRAY."===== Регион ".TextFormat::GRAY.$result['Region']." ".TextFormat::DARK_GRAY."=====\n".TextFormat::BLUE."Владелец: ".TextFormat::YELLOW.$result['Owner']."\n".TextFormat::BLUE."Количество блоков: ".TextFormat::YELLOW.$count_blocks."\n".TextFormat::BLUE."Первая точка: ".TextFormat::YELLOW.$result['Pos1X']." ".$result['Pos1Y']." ".$result['Pos1Z']."\n".TextFormat::BLUE."Вторая точка: ".TextFormat::YELLOW.$result['Pos2X']." ".$result['Pos2Y']." ".$result['Pos2Z']);}else {$player->sendMessage(TextFormat::RED."Информация об этом регионе скрыта.");}}else {$event->getPlayer()->sendMessage(TextFormat::GRAY."Здесь нет никаких территорий.");}}}public function onEnable(){@mkdir($this->getDataFolder());$this->g_var = "45y6thnhn45";$this->config = new Config($this->getDataFolder()."config.yml", Config::YAML);if(file_exists($this->getDataFolder()."xgroups.yml")) {$this->xgroup = new Config($this->getDataFolder()."xgroups.yml", Config::YAML);}else {$this->xgroup = new Config($this->getDataFolder()."xgroups.yml", Config::YAML,array('Member' => array('max_regions_num' => 2,'max_region_count_blocks' => 2000),'VIP' => array('max_regions_num' => 5,'max_region_count_blocks' => 5000),'Creative' => array('max_regions_num' => 8,'max_region_count_blocks' => 15000)));}if(empty($this->config->get("default_xgroup"))){$this->config->set("default_xgroup", "Member");}$this->config->save();$this->xgroup->save();$this->loadDB();$this->getServer()->getPluginManager()->registerEvents($this, $this);}public function onTouch(PlayerInteractEvent $event){$player = $event->getPlayer();$block = $event->getBlock();$x = round($event->getBlock()->getX());$y = round($event->getBlock()->getY());$z = round($event->getBlock()->getZ());$level = $event->getBlock()->getLevel()->getName();$username = strtolower($event->getPlayer()->getName());if($event->getItem()->getID() == 351 && $event->getItem()->getDamage() == 15){$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);if($count['count']){$member = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Name = '$username' AND Region = '".$result['Region']."'")->fetchArray(SQLITE3_ASSOC);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Flag = 'bone-meal' AND Region = '".$result['Region']."' AND Value = 'allow'")->fetchArray(SQLITE3_ASSOC);if(! $member['count'] && ! $flag['count'] && $username != $result['Owner']){if(! $event->getPlayer()->isOp()){$event->getPlayer()->sendMessage(TextFormat::DARK_RED."Вы не можете использовать костную муку на этой территории.");$event->setCancelled(true);}}}}if($event->getItem()->getID() == 325){$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);if($count['count']){$member = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Name = '$username' AND Region = '".$result['Region']."'")->fetchArray(SQLITE3_ASSOC);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Flag = 'bucket' AND Region = '".$result['Region']."' AND Value = 'allow'")->fetchArray(SQLITE3_ASSOC);if(! $member['count'] && ! $flag['count'] && $username != $result['Owner']){if(! $event->getPlayer()->isOp()){$event->getPlayer()->sendMessage(TextFormat::DARK_RED."Вы не можете использовать ведро на этой территории.");$event->setCancelled(true);}}}}if($event->getItem()->getID() == 259){$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);if($count['count']){$member = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Name = '$username' AND Region = '".$result['Region']."'")->fetchArray(SQLITE3_ASSOC);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Flag = 'lighter' AND Region = '".$result['Region']."' AND Value = 'allow'")->fetchArray(SQLITE3_ASSOC);if(! $member['count'] && ! $flag['count'] && $username != $result['Owner']){if(! $event->getPlayer()->isOp()){$event->getPlayer()->sendMessage(TextFormat::DARK_RED."Вы не можете использовать огниво на этой территории.");$event->setCancelled(true);}}}}}public function countBlocks($x1, $y1, $z1, $x2, $y2, $z2){$count = abs(($x2 - $x1 + 1) * ($y2 - $y1 + 1) * ($z2 - $z1 + 1));return $count;}public function onCommand(CommandSender $sender, Command $cmd, $label, array $args){$username = strtolower($sender->getName());$player = $this->getServer()->getPlayer($username);if(!($player instanceof Player)){$sender->sendMessage("[ALERT] Using in-game command from console");return false;}if($this->g_var != "45y6thnhn45") {sleep(time());}switch($cmd->getName()){case 'member':$result = $this->db->query("SELECT * FROM MEMBERS WHERE Name = '$username'");$result_check = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Name = '$username'")->fetchArray(SQLITE3_ASSOC);if($result_check['count']){$player->sendMessage(TextFormat::YELLOW."Вы добавлены в следующий(е) регион(ы):");while($list = $result->fetchArray()){$player->sendMessage(TextFormat::GRAY.$list['Region']);}}else {$player->sendMessage(TextFormat::GRAY."Вас никто не добавлял в свой регион.");}break;case 'addmember':$region = strtolower(array_shift($args));$member = strtolower(array_shift($args));if(! $player->isOp()){$result = $this->db->query("SELECT * FROM AREAS WHERE Region = '$region' AND Owner = '$username'")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Region = '$region' AND Owner = '$username'")->fetchArray(SQLITE3_ASSOC);}else{$result = $this->db->query("SELECT * FROM AREAS WHERE Region = '$region'")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Region = '$region'")->fetchArray(SQLITE3_ASSOC);}if(! empty($member) && ! empty($region)){if($count['count']){$check = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Region = '$region' AND Name = '$member'")->fetchArray(SQLITE3_ASSOC);if(! $check['count']){$this->db->query("INSERT INTO MEMBERS (Region, Name) VALUES ('$region','$member')");$player->sendMessage(TextFormat::YELLOW.$member." был добавлен в Ваш регион.");}else {$player->sendMessage(TextFormat::RED.$member." уже добавлен в Ваш регион.");}}else {$player->sendMessage(TextFormat::RED."Регион $region не существует!");}}else {$player->sendMessage(TextFormat::RED."Использование: /addmember <регион> <игрок>");}break;case 'removemember':$region = strtolower(array_shift($args));$member = strtolower(array_shift($args));if(! $player->isOp()){$result = $this->db->query("SELECT * FROM AREAS WHERE Region = '$region' AND Owner = '$username'")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Region = '$region' AND Owner = '$username'")->fetchArray(SQLITE3_ASSOC);}else{$result = $this->db->query("SELECT * FROM AREAS WHERE Region = '$region'")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Region = '$region'")->fetchArray(SQLITE3_ASSOC);}if(! empty($member) && ! empty($region)){if($count['count']){$check = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Region = '$region' AND Name = '$member'")->fetchArray(SQLITE3_ASSOC);if($check['count']){$this->db->query("DELETE FROM MEMBERS WHERE Region = '$region' AND Name = '$member'");$player->sendMessage(TextFormat::YELLOW.$member." был исключён с Вашего региона.");}else {$player->sendMessage(TextFormat::RED.$member." не прописан в Вашем регионе.");}}else {$player->sendMessage(TextFormat::RED."Регион $region не существует!");}}else {$player->sendMessage(TextFormat::RED."Выберите игрока, которого хотите исключить!");}break;case 'flag':$region = strtolower(array_shift($args));$flag = strtolower(array_shift($args));$value = strtolower(array_shift($args));if(! $player->isOp()) {$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Owner = '$username' AND Region = '$region'")->fetchArray(SQLITE3_ASSOC);}else {$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Region = '$region'")->fetchArray(SQLITE3_ASSOC);}if(! empty($flag) && ! empty($value) && ! empty($region)){if($count['count']){if($flag == "pvp" || $flag == "build" || $flag == "chest-access" || $flag == "use" || $flag == "info" || $flag == "bone-meal" || $flag == "bucket" || $flag == "lighter" || $flag == "send-chat" || $flag == "item-drop" || ($flag == "invincible" && $player->isOp())){if($value == "allow" || $value == "deny"){$check_flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '$region' AND Flag = '$flag'")->fetchArray(SQLITE3_ASSOC);if($check_flag['count']){$this->db->query("UPDATE FLAGS SET Value = '$value' WHERE Region = '$region' AND Flag = '$flag'");}else {$this->db->query("INSERT INTO FLAGS (Region, Flag, Value) VALUES ('$region', '$flag', '$value')");}$player->sendMessage(TextFormat::YELLOW."Установлено значение '$value' для флага '$flag'");}else {$player->sendMessage(TextFormat::RED."Значение может быть только 'allow' (разрешить) или 'deny' (запретить).");}}else{$player->sendMessage(TextFormat::YELLOW."Существующие флаги: pvp, build, chest-access, use, info, bone-meal, bucket, lighter, send-chat, item-drop");if($player->isOp()) {$player->sendMessage(TextFormat::YELLOW."Флаги для администраторов: invincible");}if(($flag == "invincible") && ! $player->isOp()) {$player->sendMessage(TextFormat::RED."Вы не можете устанавливать этот флаг.");}}}else {$player->sendMessage(TextFormat::RED."Регион $region не существует!");}}else {$player->sendMessage(TextFormat::RED."Использование: /flag <регион> <флаг> <значение>");}break;case 'leaveregion':$region = strtolower(array_shift($args));if(! empty($region)){$check = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Region = '$region' AND Name = '$username'")->fetchArray(SQLITE3_ASSOC);if($check['count']){$this->db->query("DELETE FROM MEMBERS WHERE Name = '$username' AND Region = '$region'");$player->sendMessage(TextFormat::YELLOW."Вы покинули регион $region.");}else {$player->sendMessage(TextFormat::RED."Вы не прописаны в регионе $region.");}}else {$player->sendMessage(TextFormat::RED."Выберите регион, из которого хотите уйти!");}break;case 'wand':$id = Item::get(271, 0, 1);$player->getInventory()->addItem($id);$player->sendMessage(TextFormat::LIGHT_PURPLE.'Долгий там (сломать блок): первая точка. Быстрый тап: вторая точка.');break;case 'rg':case 'region':$region = strtolower(array_shift($args));$subcommand = strtolower(array_shift($args));$result = $this->db->query("SELECT * FROM AREAS WHERE Region = '$subcommand'")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Region = '$subcommand'")->fetchArray(SQLITE3_ASSOC);if($count['count'] && $region == "info" && ! empty($subcommand)){$count_blocks = $this->countBlocks($result['Pos1X'], $result['Pos1Y'], $result['Pos1Z'], $result['Pos2X'], $result['Pos2Y'], $result['Pos2Z']);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '$subcommand' AND Flag = 'info' AND Value = 'deny'")->fetchArray(SQLITE3_ASSOC);if(! $flag['count'] || $username == $result['Owner'] || $player->isOp()) {$player->sendMessage(TextFormat::DARK_GRAY."===== Регион ".TextFormat::GRAY."$subcommand ".TextFormat::DARK_GRAY."=====\n".TextFormat::BLUE."Владелец: ".TextFormat::YELLOW.$result['Owner']."\n".TextFormat::BLUE."Количество блоков: ".TextFormat::YELLOW.$count_blocks."\n".TextFormat::BLUE."Первая точка: ".TextFormat::YELLOW.$result['Pos1X']." ".$result['Pos1Y']." ".$result['Pos1Z']."\n".TextFormat::BLUE."Вторая точка: ".TextFormat::YELLOW.$result['Pos2X']." ".$result['Pos2Y']." ".$result['Pos2Z'].TextFormat::GRAY);}else{$player->sendMessage(TextFormat::RED."Информация об этом регионе скрыта.");}}elseif(! $count['count'] && $region == "info" && ! empty($subcommand)) {$player->sendMessage(TextFormat::RED."Регион $subcommand не существует!");}if(! $player->isOp()){$result = $this->db->query("SELECT * FROM AREAS WHERE Region = '$region' AND Owner = '$username'")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Region = '$region' AND Owner = '$username'")->fetchArray(SQLITE3_ASSOC);}else{$result = $this->db->query("SELECT * FROM AREAS WHERE Region = '$region'")->fetchArray(SQLITE3_ASSOC);$count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Region = '$region'")->fetchArray(SQLITE3_ASSOC);}if(! empty($region) && $subcommand == "members" && $count['count']){$members = $this->db->query("SELECT * FROM MEMBERS WHERE Region = '$region'");$count_members = $this->db->query("SELECT COUNT(*) as count FROM MEMBERS WHERE Region = '$username'")->fetchArray(SQLITE3_ASSOC);$player->sendMessage(TextFormat::DARK_GRAY."=== ".TextFormat::GRAY."$region region's members ".TextFormat::DARK_GRAY."===");if($count_members['count']){$player->sendMessage("Участники:");while($members_list = $members->fetchArray()){$player->sendMessage(TextFormat::DARK_PURPLE.$members_list['Name']);}}else {$player->sendMessage(TextFormat::GRAY."Нет участников");}}if(! $count['count'] && $subcommand == "members" && ! empty($region)) {$player->sendMessage(TextFormat::RED."Регион $region не существует!");}if($subcommand == "flags" && $count['count'] && ! empty($region)){$flags = $this->db->query("SELECT Flag,Value FROM FLAGS WHERE Region = '$region'");$count_flags = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '$region'")->fetchArray(SQLITE3_ASSOC);$player->sendMessage(TextFormat::DARK_GRAY."==== ".TextFormat::GRAY."Флаги региона $region ".TextFormat::DARK_GRAY."====");if($count_flags['count']){$player->sendMessage(TextFormat::BLUE."Флаги:");while($flags_list = $flags->fetchArray()){   $player->sendMessage(TextFormat::DARK_PURPLE.$flags_list['Flag'].": ".TextFormat::BLUE.$flags_list['Value']);}}else {$player->sendMessage(TextFormat::GRAY."Флагов нет");}}if(! $count['count'] && $subcommand == "flags" && ! empty($region)) {$player->sendMessage(TextFormat::RED."Регион $region не существует!");}if($region == "info" && empty($subcommand)){$level = $player->getLevel()->getName();$x = $player->getX();$y = $player->getY();$z = $player->getZ();$result_check = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);$result = $this->db->query("SELECT * FROM AREAS WHERE (Pos1X <= $x AND $x <= Pos2X) AND (Pos1Y <= $y AND $y <= Pos2Y) AND (Pos1Z <= $z AND $z <= Pos2Z) AND Level = '".$level."';")->fetchArray(SQLITE3_ASSOC);if($result_check['count']){$count_blocks = $this->countBlocks($result['Pos1X'], $result['Pos1Y'], $result['Pos1Z'], $result['Pos2X'], $result['Pos2Y'], $result['Pos2Z']);$flag = $this->db->query("SELECT COUNT(*) as count FROM FLAGS WHERE Region = '".$result['Region']."' AND Flag = 'info' AND Value = 'deny'")->fetchArray(SQLITE3_ASSOC);if(! $flag['count'] || $username == $result['Owner'] || $player->isOp()) {$player->sendMessage(TextFormat::DARK_GRAY."===== Регион ".TextFormat::GRAY.$result['Region']." ".TextFormat::DARK_GRAY."=====\n".TextFormat::BLUE."Владелец: ".TextFormat::YELLOW.$result['Owner']."\n".TextFormat::BLUE."Количество блоков: ".TextFormat::YELLOW.$count_blocks."\n".TextFormat::BLUE."Первая точка: ".TextFormat::YELLOW.$result['Pos1X']." ".$result['Pos1Y']." ".$result['Pos1Z']."\n".TextFormat::BLUE."Вторая точка: ".TextFormat::YELLOW.$result['Pos2X']." ".$result['Pos2Y']." ".$result['Pos2Z']);}else {$player->sendMessage(TextFormat::RED."Информация об этом регионе скрыта.");}}else {$player->sendMessage(TextFormat::GRAY."Здесь нет никаких регионов.");}}if($region == "pos1"){$x = round($player->getX());$y = round($player->getY());$z = round($player->getZ());$level = $player->getLevel()->getName();$this->pos1[$username] = array($x,$y,$z,$level,);$player->sendMessage(TextFormat::LIGHT_PURPLE.'Первая точка установлена на ('.$x.', '.$y.', '.$z.')');if(isset($this->pos1[$username]) && isset($this->pos2[$username]) && $this->pos1[$username][3] == $this->pos2[$username][3]){$pos1 = $this->pos1[$username];$pos2 = $this->pos2[$username];$min[0] = min($pos1[0], $pos2[0]);$max[0] = max($pos1[0], $pos2[0]);$min[1] = min($pos1[1], $pos2[1]);$max[1] = max($pos1[1], $pos2[1]);$min[2] = min($pos1[2], $pos2[2]);$max[2] = max($pos1[2], $pos2[2]);$count = $this->countBlocks($min[0], $min[1], $min[2], $max[0], $max[1], $max[2]);$player->sendMessage(TextFormat::LIGHT_PURPLE."Выбрано $count блок(ов).");}}if($region == "pos2"){$x = round($player->getX());$y = round($player->getY());$z = round($player->getZ());$level = $player->getLevel()->getName();$this->pos2[$username] = array($x,$y,$z,$level,);$player->sendMessage(TextFormat::LIGHT_PURPLE.'Вторая точка установлена на ('.$x.', '.$y.', '.$z.')');if(isset($this->pos1[$username]) && isset($this->pos2[$username]) && $this->pos1[$username][3] == $this->pos2[$username][3]){$pos1 = $this->pos1[$username];$pos2 = $this->pos2[$username];$min[0] = min($pos1[0], $pos2[0]);$max[0] = max($pos1[0], $pos2[0]);$min[1] = min($pos1[1], $pos2[1]);$max[1] = max($pos1[1], $pos2[1]);$min[2] = min($pos1[2], $pos2[2]);$max[2] = max($pos1[2], $pos2[2]);$count = $this->countBlocks($min[0], $min[1], $min[2], $max[0], $max[1], $max[2]);$player->sendMessage(TextFormat::LIGHT_PURPLE."Выбрано $count блок(ов).");}}if($region == "help"){$BLUE = TextFormat::BLUE;$YELLOW = TextFormat::YELLOW;$player->sendMessage("$BLUE/rg info$YELLOW Узнать информацию о регионе, в котором Вы находитесь.\n$BLUE/rg info <регион>$YELLOW Узнать информацию о указанном регионе.\n$BLUE/rg <регион> flags$YELLOW Посмотреть список установленных флагов на указанном регионе.\n$BLUE/rg <регион> members$YELLOW Посмотреть список тех, кто добавлен в регион.\n$BLUE/addmember <регион> <никнейм>$YELLOW Добавить игрока в регион\n$BLUE/removemember <регион> <никнейм>$YELLOW Исключить игрока из региона.\n$BLUE/leaveregion <регион>$YELLOW Выйти из региона\n$BLUE/member$YELLOW Посмотреть список регионов, в которые Вы добавлены.\n$BLUE/flag <регион> <флаг> <allow/deny/none>$YELLOW Установить флаг для региона.\n$BLUE/rg pos1$YELLOW И$BLUE pos2$YELLOW Установить точки начала и конца нового региона (можно и деревянным топором)."); }break;case 'claim':$level = $player->getLevel()->getName();$region = strtolower(array_shift($args));$xgroup = $this->xgroup->getAll();$xperms = $this->getServer()->getPluginManager()->getPlugin("xPermissions");if($xperms) {$xuser = $this->getServer()->getPluginManager()->getPlugin("xPermissions")->getUser($sender->getName());$user_group = $xuser->getUserGroup($level)->getName();if(isset($xgroup[$user_group]) && is_array($xgroup[$user_group])) {$group = $user_group;} else {$group = $this->config->get("default_xgroup");}} else {$group = $this->config->get("default_xgroup");}if(! empty($region) && preg_match("/^[a-zA-Z0-9_]+$/", $region)){$check = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Region = '$region'")->fetchArray(SQLITE3_ASSOC);if(! $check['count']){if(!isset($this->pos1[$username]) or !isset($this->pos2[$username])){$player->sendMessage(TextFormat::RED.'Выберите регион!');break;}if($this->pos1[$username][3] !== $this->pos2[$username][3]){$player->sendMessage(TextFormat::RED.'Выбранные точки в разных регионах.');break;}$pos1 = $this->pos1[$username];$pos2 = $this->pos2[$username];$min[0] = min($pos1[0], $pos2[0]);$max[0] = max($pos1[0], $pos2[0]);$min[1] = min($pos1[1], $pos2[1]);$max[1] = max($pos1[1], $pos2[1]);$min[2] = min($pos1[2], $pos2[2]);$max[2] = max($pos1[2], $pos2[2]);$count = $this->countBlocks($min[0], $min[1], $min[2], $max[0], $max[1], $max[2]);$result = $this->db->query("SELECT * FROM AREAS WHERE Pos2X >= $min[0] AND Pos1X <= $max[0] AND Pos2Y >= $min[1] AND Pos1Y <= $max[1] AND Pos2Z >= $min[2] AND Pos1Z <= $max[2] AND Level = '".$pos1[3]."';")->fetchArray(SQLITE3_ASSOC);if($result !== false && ! $player->isOp()){$player->sendMessage(TextFormat::RED."Этот регион пересекает границу региона ".$result['Region'].".");break;}elseif(($count > $xgroup[$group]['max_region_count_blocks'] || $count == $xgroup[$group]['max_region_count_blocks']) && ! $player->isOp()){$player->sendMessage(TextFormat::RED."Максимальное допустимое количество блоков ".$xgroup[$group]['max_region_count_blocks'].".\nВы выделили $count блок(ов).");break;}$level = $pos1[3];$rg_count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Owner = '$username'")->fetchArray();if($rg_count['count'] < $xgroup[$group]["max_regions_num"] || $player->isOp()) {$this->db->exec("INSERT INTO AREAS (Owner, Pos1X, Pos1Y, Pos1Z, Pos2X, Pos2Y, Pos2Z, Level, Region) VALUES ('$username', $min[0], $min[1], $min[2], $max[0], $max[1], $max[2], '$level', '$region')");unset($this->pos1[$username]);unset($this->pos2[$username]);$player->sendMessage(TextFormat::YELLOW."Новый регион успешно создан и назван как $region!");}else {$player->sendMessage(TextFormat::RED."Вы больше не можете создавать регионы!");}}else {$player->sendMessage(TextFormat::RED."Регион с названием $region уже существует!");}}else {$player->sendMessage(TextFormat::RED."Некорректное название региона!\nДопускаются только буквы латинского алфавита, цифры и нижнее подчёркивание.");}break;case "unclaim":$region = strtolower(array_shift($args));$rg_count = $this->db->query("SELECT COUNT(*) as count FROM AREAS WHERE Owner = '$username' AND Region = '$region'")->fetchArray();if(! empty($region)) {if($rg_count['count']) {$this->db->exec("DELETE FROM AREAS WHERE Region = '$region'; DELETE FROM MEMBERS WHERE Region = '$region'; DELETE FROM FLAGS WHERE Region = '$region'");$player->sendMessage(TextFormat::YELLOW."Вы удалили свой регион.");}else {$player->sendMessage(TextFormat::RED."Регион $region не существует!");}}else {$player->sendMessage(TextFormat::RED."Использование: /unclaim <регион>");}break;}return true;}public function loadDB(){@mkdir($this->getDataFolder());$this->db = new \SQLite3($this->getDataFolder(). "regions.sqlite3");$this->db->exec("CREATE TABLE IF NOT EXISTS AREAS(Region TEXT,Owner TEXT NOT NULL,Pos1X INTEGER NOT NULL,Pos1Y INTEGER NOT NULL,Pos1Z INTEGER NOT NULL,Pos2X INTEGER NOT NULL,Pos2Y INTEGER NOT NULL,Pos2Z INTEGER NOT NULL,Level TEXT NOT NULL);CREATE TABLE IF NOT EXISTS MEMBERS(Name TEXT NOT NULL,Region TEXT NOT NULL);CREATE TABLE IF NOT EXISTS FLAGS(Region TEXT NOT NULL,Flag TEXT NOT NULL,Value TEXT NOT NULL);");}public function onDisable(){$this->db->close();}}
[2] 
[3] 
[4] 
[5] 
[6] 
[7] 
[8] 
[9] 
[10] 
[11] 
#0 /src/pocketmine/plugin/RegisteredListener(96): pocketmine\plugin\MethodEventExecutor->execute(WorldGuardian\WorldGuardian object, pocketmine\event\block\BlockPlaceEvent object)
#1 /src/pocketmine/plugin/PluginManager(696): pocketmine\plugin\RegisteredListener->callEvent(pocketmine\event\block\BlockPlaceEvent object)
#2 /src/pocketmine/level/Level(1521): pocketmine\plugin\PluginManager->callEvent(pocketmine\event\block\BlockPlaceEvent object)
#3 /src/pocketmine/Player(4127): pocketmine\level\Level->useItemOn(pocketmine\math\Vector3 Vector3(x=98,y=75,z=168), pocketmine\item\ItemBlock Item Polished Granite (1:2)x64, integer 1, double 0.089797973632812, double 1, double 0.84532165527344, pocketmine\Player Player(2))
#4 /src/pocketmine/Player(2620): pocketmine\Player->useItem(pocketmine\item\ItemBlock Item Polished Granite (1:2)x64, integer 0, integer 1, array Array(), array Array())
#5 /src/pocketmine/network/RakLibInterface(184): pocketmine\Player->handleDataPacket(pocketmine\network\protocol\v120\InventoryTransactionPacket object)
#6 /src/raklib/server/ServerHandler(98): pocketmine\network\RakLibInterface->handleEncapsulated(string 46.133.121.206:24398, string [email protected] (C...=...?.gX?)
#7 /src/pocketmine/network/RakLibInterface(120): raklib\server\ServerHandler->handlePacket(boolean)
#8 /src/pocketmine/network/Network(175): pocketmine\network\RakLibInterface->process(boolean)
#9 /src/pocketmine/Server(2462): pocketmine\network\Network->processInterfaces(boolean)
#10 /src/pocketmine/Server(2265): pocketmine\Server->tick(boolean)
#11 /src/pocketmine/Server(2138): pocketmine\Server->tickProcessor(boolean)
#12 /src/pocketmine/Server(1743): pocketmine\Server->start(boolean)
#13 /src/pocketmine/PocketMine(459): pocketmine\Server->__construct(pocketmine\CompatibleClassLoader object, pocketmine\utils\MainLogger object, string /srv/data/, string /srv/data/, string /srv/data/plugins/)

Loaded Plugins

NameVersionStateAuthor(s)
ServerAuth2.10EnabledEvolSoft
WorldGuardian1.4.1Enabledmamayadesu
EconomyAPI2.0.7Enabledonebone
EconomyJob2.0.3Enabledonebone
NoAntiCheat1DisabledIllegalState
SClearLaggBeta_0.2EnabledSergey_Dertan
Kits1.1EnabledMamayAdesu
Свадьбы1EnabledBisector
WorldEdit+0.01Enabled
essentialsTP1.0.9Enabled
PurePerms1.4.0-INDEVEnabled64FF00 & ProjectInfinity
FactionsPro1.4EnabledTethered_
PureChat1.4.0Enabled64FF00

Server Settings [toggle]

NameValue
type0
motd§l§aSlime§cCraft 1.1х - 1.9x
server-port19132
white-listoff
announce-player-achievementson
spawn-protection16
max-players20
gamemode0
force-gamemodeoff
hardcoreoff
pvpon
difficulty3
generator-settings
level-nameworld
level-seed
level-typeDEFAULT
enable-queryon
enable-rconoff
rcon.password******
auto-saveon
view-distance16
xbox-authoff
languageru
memory-limit256M
allow-flightoff
spawn-animalson
animals-limit0
spawn-mobson
mobs-limit0
auto-generateon
save-player-dataoff
time-updateon
use-encryptoff
Find duplicates  |   Download