
<?php
echo "PocketMine-MP plugin BlockProtection v1.0.0
This file has been generated using DevTools v1.14.2 at Sat, 08 May 2021 14:08:45 +0900
----------------
Name: BlockProtection
Version: 1.0.0
Main: roi611\\blockprotection\\Main
Api: 3.0.0
Depend: 
Description: ブロックを保護を保護します
Authors: 
Website: 
CreationDate: 1620450525
";
__HALT_COMPILER(); ?>
             '  a:9:{s:4:"name";s:15:"BlockProtection";s:7:"version";s:5:"1.0.0";s:4:"main";s:27:"roi611\blockprotection\Main";s:3:"api";s:5:"3.0.0";s:6:"depend";s:0:"";s:11:"description";s:39:"ブロックを保護を保護します";s:7:"authors";s:0:"";s:7:"website";s:0:"";s:12:"creationDate";i:1620450525;}
   plugin.yml  `        #   src/roi611/blockprotection/Main.php  `  e      name: BlockProtection
main: roi611\blockprotection\Main
version: 1.0.0
api: 3.0.0
load: POSTWORLD
author: roi611
description: ブロックを保護を保護します

commands:
  get: 
     description: 保護用アイテムを取得します
     usage: /get 
  <?php

namespace roi611\blockprotection;

use pocketmine\plugin\PluginBase;
use pocketmine\event\block\BlockBreakEvent;
use pocketmine\event\Listener;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\Player;
use pocketmine\Server;
use pocketmine\utils\Config;
use pocketmine\Item\item;
use pocketmine\inventory\Inventory;

class Main extends PluginBase implements Listener {

    public function onEnable() {

        $this->getServer()->getPluginManager()->registerEvents($this, $this);
        $this->config = new Config($this->getDataFolder()."Protection.yml", Config::YAML);

    }

    public function onCommand(CommandSender $sender, Command $command, string $label, array $args) : bool{

        if (!($sender instanceof Player)) {

            $sender->sendMessage("ゲーム内で実行してください");
            return true;

        } else if($sender->isOp()){

            $item = Item::get(280,0,1);
            $item->setCustomName("§3保護スティック");
            $sender->getInventory()->addItem($item);
            $sender->getInventory()->sendContents($sender);
            $sender->sendMessage("§e保護スティックを付与しました");
            return true;

        } else {

            $sender->sendMessage("権限がないため実行できません");
            return true;

        }

    }



    public function onBreak(BlockBreakEvent $event){

        $player = $event->getPlayer();

        if(!($player->isOp())){

            $block = $event->getBlock();
            $pos = $block->getFloorX().",".$block->getFloorY().",".$block->getFloorZ().",".$block->getLevel()->getName();

            if($this->config->exists($pos)){

                $player->sendMessage("そのブロックは破壊することができません");
                $event->setCancelled();

            }

        } else {

            $item = $event->getItem();
            $id = $item->getId();
            $name = $item->getName();        
            $block = $event->getBlock();
            $pos = $block->getFloorX().",".$block->getFloorY().",".$block->getFloorZ().",".$block->getLevel()->getName();

            if($id == 280 && $name == "§3保護スティック"){

                if($this->config->exists($pos)){

                    $this->config->remove($pos);
                    $this->config->save();
                    $player->sendMessage("ブロックの保護を解除しました");
                    $event->setCancelled();

                } else {

                    $this->config->set($pos,true);
                    $this->config->save();
                    $player->sendMessage("ブロックを保護しました");
                    $event->setCancelled();

                }

            } else {

                if($this->config->exists($pos)){

                    $this->config->remove($pos);
                    $this->config->save();
                    $player->sendMessage("ブロック保護を解除しました");

                }

            }

        }

    }



}
>rhWAs`ͼ1   GBMB