
<?php
echo "PocketMine-MP plugin ItemXpRepair v1.0.0
This file has been generated using DevTools v1.14.0 at Thu, 16 Jul 2020 16:18:35 +0900
----------------
";

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(); ?>
+             0  a:9:{s:4:"name";s:12:"ItemXpRepair";s:7:"version";s:5:"1.0.0";s:4:"main";s:22:"roi611\itemrepair\Main";s:3:"api";s:6:"3.14.0";s:6:"depend";s:0:"";s:11:"description";s:55:"itemとレベルで武器の耐久値を回復します";s:7:"authors";s:0:"";s:7:"website";s:0:"";s:12:"creationDate";i:1594883915;}
   plugin.ymlx  K_x  @w      (   src/roi611/itemrepair/form/ModalForm.php  K_  ݶ      )   src/roi611/itemrepair/form/ModalForm1.php  K_  uh1         src/roi611/itemrepair/Main.php	  K_	  ɶ      name: ItemXpRepair
main: roi611\itemrepair\Main
version: 1.0.0
api: 3.14.0
load: POSTWORLD
author: roi611
description: itemとレベルで武器の耐久値を回復します

commands: 
  itemrepair:
     description: itemでアイテムを修理します
     usage: /itemrepair
  xprepair:
     description: レベルでアイテムを修理します
     usage: /xprepair
<?php

namespace roi611\itemrepair\form;

use pocketmine\form\Form;
use pocketmine\Player;
use pocketmine\utils\Config;
use pocketmine\Server;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\inventory\Inventory;
use pocketmine\item\Armor;
use roi611\itemrepair\Main;

class ModalForm implements Form
{
    public function handleResponse(Player $player, $data): void
    {
        
        if($data === true) {
            $item1 = Item::get(Main::$config->get("Itemid"), Main::$config->get("Itemdamage"), Main::$config->get("Quantity"));
            $inventory = $player->getinventory();
            $item = $player->getInventory()->getItemInHand();
            if($item->getDamage() > 0){
            $player->getInventory()->removeItem($item1);
            $inventory->sendContents($player);
            $player->getInventory()->setItemInHand($player->getInventory()->getItemInHand()->setDamage(0)); 
            $player->sendMessage("修復しました");
            } else {
                $player->sendMessage("修復の必要がありません");
            }

        } else {
            $player->sendMessage("修復をキャンセルしました");
        }

    }

    public function jsonSerialize()
    {
        // 表示するフォームを配列で書き、返り値として返します。
        $item = Item::get(Main::$config->get("Itemid"), Main::$config->get("Itemdamage"), Main::$config->get("Quantity"));
        return [
            'type' => 'modal',
            'title' => 'itemrepair',
            'content' => $item->getName().'を'.Main::$config->get("Quantity").'個で修理しますか？',
            'button1' => 'はい',
            'button2' => 'いいえ'
        ];
    }
}<?php

namespace roi611\itemrepair\form;

use pocketmine\form\Form;
use pocketmine\Player;
use pocketmine\utils\Config;
use pocketmine\Server;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\inventory\Inventory;
use pocketmine\item\Armor;
use roi611\itemrepair\Main;
use pocketmine\entity\Human;

class ModalForm1 implements Form
{
    public function handleResponse(Player $player, $data): void
    {
        
        if($data === true) {

            $item = $player->getInventory()->getItemInHand();
            if($item->getDamage() > 0){
            $level = $player->getXplevel();
            $level = $level-Main::$config->get("Level");
            $player->setXplevel($level);
            $player->getInventory()->setItemInHand($player->getInventory()->getItemInHand()->setDamage(0)); 
            $player->sendMessage("修復しました");
            } else {
                $player->sendMessage("修復の必要がありません");
            }

        } else {
            $player->sendMessage("修復をキャンセルしました");
        }

    }

    public function jsonSerialize()
    {
        // 表示するフォームを配列で書き、返り値として返します。
        return [
            'type' => 'modal',
            'title' => 'xprepair',
            'content' => 'レベル'.Main::$config->get("Level").'で修理しますか？',
            'button1' => 'はい',
            'button2' => 'いいえ'
        ];
    }
}<?php

namespace roi611\itemrepair;

use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\item\Item;
use pocketmine\Server;
use pocketmine\Player;
use pocketmine\utils\Config;
use pocketmine\inventory\Inventory;
use roi611\itemrepair\form\ModalForm;
use roi611\itemrepair\form\ModalForm1;
use pocketmine\entity\Human;

class Main extends PluginBase implements Listener {

    public static $config;

    public function onEnable() {

        $this->getServer()->getPluginManager()->registerEvents($this, $this);
        self::$config = new Config($this->getDataFolder()."config.yml", Config::YAML, array(
            "Level" => 1,
            #xprepairで使うレベル
            "Itemid" => 388,
            #itemrepairで使うアイテムID
            "Itemdamage" => 0,
            #itemrepairで使うアイテムのダメージ値
            "Quantity" => 1,
            #itemrepairで使うアイテムの量(0も可
        ));
    }

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

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

        $player = $sender->getPlayer();
        if($label == "itemrepair") {
        $item = Item::get(self::$config->get("Itemid"), self::$config->get("Itemdamage"), self::$config->get("Quantity"));
        if($player->getInventory()->contains($item)) {
        $sender->sendForm(new ModalForm());
        return true;
        } else {
            $itemname = $item->getName();
            $aiueo = self::$config->get("Quantity");
            $sender->sendMessage("修理には".$itemname."が".$aiueo."個必要です");
            return true;
        }
        return true;
        }
        if ($label == "xprepair") {
            if($player->getXpLevel() >= self::$config->get("Level")) {
            $sender->sendForm(new ModalForm1());
            return true;
            } else {

                $sender->sendMessage("修理するにはレベル".self::$config->get("Level")."が必要です");
                return true;

            }
            return true;
        }
        return true;
    }
}	5*Wml   GBMB