<?php __HALT_COMPILER(); ?>
€                  ,   src/Saisana299/furnaceguard/FurnaceGuard.phpö  9¾L]ö  !ÖRù¶      
   plugin.ymlk  9¾L]k  v($¢¶      <?php
namespace Saisana299\furnaceguard;

use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\event\Event;
use pocketmine\Player;
use pocketmine\Server;
use pocketmine\block\Block;
use pocketmine\utils\Config;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\event\player\PlayerInteractEvent;
use pocketmine\event\block\BlockBreakEvent;

class FurnaceGuard extends PluginBase implements Listener{

	public function onEnable(){
		$this->getServer()->getPluginManager()->registerEvents($this, $this);
		$this->getLogger()->info("Â§aã‹ã¾ã©ä¿è­·ãƒ—ãƒ©ã‚°ã‚¤ãƒ³ã‚’èª­ã¿è¾¼ã¿ã¾ã—ãŸ");
		if(!file_exists($this->getDataFolder())) @mkdir($this->getDataFolder(), 0744, true);
		$this->config = new Config($this->getDataFolder() . "Furnaces.yml", Config::YAML);
	}

	public function onCommand(CommandSender $sender, Command $command, string $label, array $args) :bool {
		if(!$sender instanceof Player){
			$sender->sendMessage("[FurnaceGuard] Â§cã‚²ãƒ¼ãƒ å†…ã§å®Ÿè¡Œã—ã¦ãã ã•ã„");
			return true;
		}
		switch(strtolower($label)){

			case "kg":  
			$name = $sender->getName();
			if(!isset($this->frame[$name])){
				$this->frame[$name]["type"] = "add";
				$sender->sendMessage("[FurnaceGuard] ä¿è­·ãƒ¢ãƒ¼ãƒ‰ã‚’æœ‰åŠ¹ã«ã—ã¾ã—ãŸ\nã‹ã¾ã©ã‚’ã‚¿ãƒƒãƒ—ã—ã¦ãã ã•ã„\nå†åº¦ã‚³ãƒžãƒ³ãƒ‰ã‚’ä½¿ã†ã¨ä¿è­·ãƒ¢ãƒ¼ãƒ‰ã‚’ç„¡åŠ¹ã«ã§ãã¾ã™");
			}else{
				unset($this->frame[$name]);
				$sender->sendMessage("[FurnaceGuard] ä¿è­·ãƒ»ä¿è­·è§£é™¤ãƒ¢ãƒ¼ãƒ‰ã‚’ç„¡åŠ¹ã«ã—ã¾ã—ãŸ");
			}
			break;
						
			case "unkg": 
			$name = $sender->getName();
			if(!isset($this->frame[$name])){
			    $this->frame[$name]["type"] = "delete";
				$sender->sendMessage("[FurnaceGuard] ä¿è­·è§£é™¤ãƒ¢ãƒ¼ãƒ‰ã‚’æœ‰åŠ¹ã«ã—ã¾ã—ãŸ\nã‹ã¾ã©ã‚’ã‚¿ãƒƒãƒ—ã—ã¦ãã ã•ã„\nå†åº¦ã‚³ãƒžãƒ³ãƒ‰ã‚’ä½¿ã†ã¨ä¿è­·è§£é™¤ãƒ¢ãƒ¼ãƒ‰ã‚’ç„¡åŠ¹ã«ã§ãã¾ã™");
			}else{
				unset($this->frame[$name]);
				$sender->sendMessage("[FurnaceGuard] ä¿è­·ãƒ»ä¿è­·è§£é™¤ãƒ¢ãƒ¼ãƒ‰ã‚’ç„¡åŠ¹ã«ã—ã¾ã—ãŸ");
			}
			break;
		}
		return true;
	}
	
	public function onTouch(PlayerInteractEvent $event){
    	$player = $event->getPlayer();
    	$block = $event->getBlock();
    	$name = $player->getName();
    	if(isset($this->frame[$name])){
    		switch ($this->frame[$name]["type"]) {
    			case 'add':
					if(!($block->getId() == 61 || $block->getId() == 62)){
						$player->sendMessage("[FurnaceGuard] Â§cã‹ã¾ã©ã‚’ã‚¿ãƒƒãƒ—ã—ã¦ãã ã•ã„");
						return;
					}
					$event->setCancelled();
					$xyzl = $block->x.",".$block->y.",".$block->z.",".$block->level->getFolderName();
					if(!$this->config->exists($xyzl)){
						$this->config->set($xyzl, $name);
						$this->config->save();
						$player->sendMessage("[FurnaceGuard] Â§aã‹ã¾ã©ã‚’ä¿è­·ã—ã¾ã—ãŸ");
					}else{
						$player->sendMessage("[FurnaceGuard] Â§cæ—¢ã«ä¿è­·ã•ã‚Œã¦ã„ã¾ã™");
					}
    				break;
    			case 'delete':
					if(!($block->getId() == 61 || $block->getId() == 62)){
						$player->sendMessage("[FurnaceGuard] Â§cã‹ã¾ã©ã‚’ã‚¿ãƒƒãƒ—ã—ã¦ãã ã•ã„");
						return;
					}
		    		$place = $block->x.",".$block->y.",".$block->z.",".$block->level->getFolderName();
					if($this->config->exists($place)){
						$ownerf = $this->config->get($block->x.",".$block->y.",".$block->z.",".$block->level->getFolderName());
						if($ownerf === $name){
							$this->config->remove($place);
							$this->config->save();
							$player->sendMessage("[FurnaceGuard] Â§aä¿è­·ã‚’è§£é™¤ã—ã¾ã—ãŸ");
						}else{
							if (!$player->isOp()) {
								$player->sendMessage("[FurnaceGuard] Â§eã“ã®ã‹ã¾ã©ã¯ Â§oÂ§f".$ownerf."Â§rÂ§e ã«ã‚ˆã£ã¦ä¿è­·ã•ã‚Œã¦ã„ã¾ã™");
							}else{
								$this->config->remove($place);
								$this->config->save();
								$player->sendMessage("[FurnaceGuard] Â§aä¿è­·ã‚’è§£é™¤ã—ã¾ã—ãŸ");
							}
						}
						
					}else{
						$player->sendMessage("[FurnaceGuard] Â§cã“ã®ã‹ã¾ã©ã¯ä¿è­·ã•ã‚Œã¦ã„ã¾ã›ã‚“");
					}
					break;
				}
		}else{
    	   $xyzl = $block->x.",".$block->y.",".$block->z.",".$block->level->getFolderName();
    	   if($this->config->exists($xyzl)){
    	   	$ownerf = $this->config->get($block->x.",".$block->y.",".$block->z.",".$block->level->getFolderName());
    	   	if (!$player->isOp()) {
    	   		if ($ownerf !=  $name){
    	   			$player->sendMessage("[FurnaceGuard] Â§eã“ã®ã‹ã¾ã©ã¯ Â§oÂ§f".$ownerf."Â§rÂ§e ã«ã‚ˆã£ã¦ä¿è­·ã•ã‚Œã¦ã„ã¾ã™");
    	   			$event->setCancelled();
    	   		}else{

    	   		}
    	   	}else{

    	   	}
    	   }
    	}
    }

    public function onBreakEvent(BlockBreakEvent $event){
    	$player = $event->getPlayer();
    	$name = $player->getName();
    	$block = $event->getBlock();
    	$xyzl = $block->x.",".$block->y.",".$block->z.",".$block->level->getFolderName();
    	if($this->config->exists($xyzl)){
    		$ownerf = $this->config->get($block->x.",".$block->y.",".$block->z.",".$block->level->getFolderName());
    		if (!$player->isOp()) {
    			if ($ownerf !=  $name){
    				$player->sendMessage("[FurnaceGuard] Â§eã“ã®ã‹ã¾ã©ã¯ Â§oÂ§f".$ownerf."Â§rÂ§e ã«ã‚ˆã£ã¦ä¿è­·ã•ã‚Œã¦ã„ã¾ã™");
    				$event->setCancelled();
    			}else{
    				$this->config->remove($xyzl);
    				$this->config->save();
    				$player->sendMessage("[FurnaceGuard] Â§aã‹ã¾ã©ã®ä¿è­·ã‚’è§£é™¤ã—ã¾ã—ãŸ");
    			}
    		}else{
    			$this->config->remove($xyzl);
    			$this->config->save();
    			$player->sendMessage("[FurnaceGuard] Â§aã‹ã¾ã©ã®ä¿è­·ã‚’è§£é™¤ã—ã¾ã—ãŸ");
    		}
    	}
    }
}---
name: FurnaceGuard
main: Saisana299\furnaceguard\FurnaceGuard
api:
- 3.0.0
version: 1.0.0
author: Saisana299
commands:
  kg:
    description: ã‹ã¾ã©ã‚’ä¿è­·ã—ã¾ã™
    usage: 
    permission: kg.command
  unkg:
    description: ã‹ã¾ã©ã®ä¿è­·ã‚’è§£é™¤ã—ã¾ã™
    usage: 
    permission: kg.command
permissions:
  kg.command:
    default: true
...
Î?hbÄvFVúHe¦—q\   GBMB