
<?php
echo "PocketMine-MP plugin autowood v1.0.0
This file has been generated using DevTools v1.14.0 at Fri, 10 Apr 2020 18:32:02 +0800
----------------
";

if(extension_loaded("phar")){
	$phar = new \Phar(__FILE__);
	foreach($phar->getMetadata() as $key => $value){
		echo ucfirst($key) . ": " . (is_array($value) ? implode(", ", $value) : $value) . "\n";
	}
}

__HALT_COMPILER(); ?>
b                a:9:{s:4:"name";s:8:"autowood";s:7:"version";s:5:"1.0.0";s:4:"main";s:21:"momotan\autowood\Main";s:3:"api";s:5:"3.0.0";s:6:"depend";s:0:"";s:11:"description";s:0:"";s:7:"authors";s:0:"";s:7:"website";s:0:"";s:12:"creationDate";i:1586514722;}
   plugin.ymlX   "K^X            src/momotan/autowood/Main.php  "K^  `m      name: autowood
main: momotan\autowood\Main
version: 1.0.0
api: 3.0.0
author: momotan<?php

namespace momotan\autowood;



use pocketmine\plugin\PluginBase;

use pocketmine\event\Listener;

use pocketmine\Player;

use pocketmine\block\Block; 

use pocketmine\event\block\{BlockBreakEvent, BlockPlaceEvent};

use pocketmine\math\{Vector3, AxisAlignedBB};

use pocketmine\level\{Level, Position};

use pocketmine\scheduler\Task;

use pocketmine\utils\{Config, textFormat};



class Main extends PluginBase implements Listener {

  

  public function onEnable() {

    $this->getLogger()->info("=========================");

		$this->getLogger()->info("autowoodを読み込みました");

		$this->getLogger()->info("制作者: momotan");

    $this->getLogger()->info("=========================");

    $this->config = new Config($this->getDataFolder()."Setup.yml", Config::YAML,[

			"time" => 10,

			"world" => "world",

    ]);

    $this->getServer()->getPluginManager()->registerEvents($this, $this);

  }



  public function onBreak(BlockBreakEvent $event){

    $player = $event->getPlayer();

    $name = $player->getName();

    $block = $event->getBlock();

    $bid = $block->getID();

    $bdm = $block->getDamage();

    $x = $block->getX();

    $y = $block->getY();

    $z = $block->getZ();

    $map = $player->getLevel()->getFolderName();

    $vector = new Vector3($x, $y, $z); 

    if ($player->getGamemode() !== 1 && $map == $this->config->get("world")){

      switch ($bid){

        case "17":

          $this->getScheduler()->scheduleDelayedTask(new TimeTask($this, $player, $vector, $bid, $bdm), $this->config->get("time") * 20);
        
        break;
  
        case "162":
  
          $this->getScheduler()->scheduleDelayedTask(new TimeTask($this, $player, $vector, $bid, $bdm), $this->config->get("time") * 20);
        
        break;

        default:

        $player->sendMessage("§cこのエリアはブロックを破壊できません");

        $event->setCancelled();

        break;

      }

    }else{

      if ($player->isOp() == false){

        $player->sendMessage("§cクリエイティブで伐採することはできません");

        $event->setCancelled();

      }

    }

  }



  public function onSet(BlockPlaceEvent $event){

    $player = $event->getPlayer();

    $name = $player->getName();

    $block = $event->getBlock();

    $bid = $block->getID();

    $map = $player->getLevel()->getFolderName();

    if ($player->getGamemode() !== 1 && $map == $this->config->get("world")){

      $player->sendMessage("§cこのエリアはブロックを設置できません");
      
      $event->setCancelled();
      
    }else{

      if ($player->isOp() == false && $map == $this->config->get("world")){

        $player->sendMessage("§cこのエリアはブロックを設置できません");

        $event->setCancelled();

      }

    }

  }

}



class TimeTask extends Task{



  public function __construct(Main $plugin, $player, $vector, $bid, $bdm){

    $this->plugin = $plugin;

    $this->player = $player;

    $this->vector = $vector;

    $this->bid = $bid;

    $this->bdm = $bdm;

 }



 public function onRun(int $tick){

  $block = Block::get($this->bid, $this->bdm);

  $level = $this->plugin->getServer()->getLevelByName($this->plugin->config->get("world"));

  $level->setBlock($this->vector, $block);

 }

}/UiaX̮lӂH   GBMB