<?php __HALT_COMPILER(); ?>
8                 -   src/MixCoinSystem/Commands/SetCoinCommand.phpø  5IÇ[ø  …۞¶      -   src/MixCoinSystem/Commands/PayCoinCommand.phpQ  5IÇ[Q  &ô :¶      3   src/MixCoinSystem/Commands/ExchangeMoneyCommand.phpR  5IÇ[R  �Ûü*¶      2   src/MixCoinSystem/Commands/ExchangeCoinCommand.phpU  5IÇ[U  Ët÷%¶      .   src/MixCoinSystem/Commands/GiveCoinCommand.phpg  5IÇ[g  Ìæð¶      ,   src/MixCoinSystem/Commands/MyCoinCommand.phpµ  5IÇ[µ  6§I¯¶      #   src/MixCoinSystem/MixCoinSystem.php
  5IÇ[
  m"Rý¶      
   plugin.ymli   5IÇ[i   h|Óï¶      <?php
namespace MixCoinSystem\Commands;

use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\plugin\Plugin;

use MixCoinSystem\MixCoinSystem;

class SetCoinCommand extends Command {

	public function __construct(Plugin $owner) {
		parent::__construct("setcoin", "コインをセットする", "/setcoin <プレイヤー名> <Coinの枚数>");

}
	public function execute(CommandSender $sender, string $Label, array $args): bool {
		if(!($sender->isOp())){
		$sender->sendMessage("OPしか使用できません");
		}elseif(!isset($args[0])){
		$sender->sendMessage("プレイヤー名が入力されていません");
		}elseif(!$player = $sender->getServer()->getPlayer($args[0])){
        $sender->sendMessage("".$args[0]."という名前の方はオンラインではないか存在しません");
        }elseif(!isset($args[1])){
        $sender->sendMessage("Coinの枚数を入力して下さい");
    	}elseif(!is_numeric($args[1])){
          $sender->sendMessage("数字を入力してください");
        }elseif(0 > $args[1]){
    	$sender->sendMessage("0未満の場合セットすることはできません");
    	}else{
		MixCoinSystem::getInstance()->SetCoin($player,$args[1]);
		$player->sendMessage($sender->getName()."が貴方のCoin".$args[1]."枚にセットしました");
		$sender->sendMessage("貴方が".$player->getName()."のCoinを".$args[1]."枚にセットしました");
		}







		




return true;
}
 
}<?php
namespace MixCoinSystem\Commands;

use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\plugin\Plugin;

use MixCoinSystem\MixCoinSystem;
use onebone\economyapi\EconomyAPI;

class PayCoinCommand extends Command {

	public function __construct(Plugin $owner) {
		parent::__construct("paycoin", "Coinの譲渡", "/paycoin <プレイヤー名> <Coin枚数>");
}
	public function execute(CommandSender $sender, string $Label, array $args): bool {
		if(!isset($args[0])){
		$sender->sendMessage("プレイヤー名が入力されていません");
		}elseif(!$player = $sender->getServer()->getPlayer($args[0])){
        $sender->sendMessage("".$args[0]."という名前の方はオンラインではないか存在しません");
        }elseif(!isset($args[1])){
        $sender->sendMessage("Coinの枚数を入力して下さい");
    	}elseif(!is_numeric($args[1])){
          $sender->sendMessage("数字を入力してください");
        }elseif(0 > $args[1]){
    	$sender->sendMessage("0未満の場合セットすることはできません");
    	}elseif($args[1] > MixCoinSystem::getInstance()->GetCoin($sender)){
    	$sender->sendMessage("Coinの枚数が足りません");
    	}else{
    	MixCoinSystem::getInstance()->PlusCoin($player,$args[1]);
        MixCoinSystem::getInstance()->MinusCoin($sender,$args[1]);
		$player->sendMessage($sender->getName()."がCoin".$args[1]."枚を譲渡しました");
        $sender->sendMessage($player->getName()."にCoin".$args[1]."枚を譲渡しました");
    	}
	return true;
	} 
}<?php
namespace MixCoinSystem\Commands;

use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\plugin\Plugin;

use MixCoinSystem\MixCoinSystem;
use onebone\economyapi\EconomyAPI;

class ExchangeMoneyCommand extends Command {

	public function __construct(Plugin $owner) {
		parent::__construct("exchangemoney", "coinをお金に交換", "/exchangemoney <coin>");

}
	public function execute(CommandSender $sender, string $Label, array $args): bool {
		if($sender->getName() === "CONSOLE"){
		$sender->sendMessage("ゲーム内で使用して下さい");
		}elseif(!isset($args[0])){
		$sender->sendMessage("Coinの枚数を入力してください");
		}elseif(!is_numeric($args[0])){
          $sender->sendMessage("数字を入力してください");
        }elseif($args[0] > MixCoinSystem::getInstance()->GetCoin($sender)){
		$sender->sendMessage("Coinの枚数が足りません");
		}else{
			EconomyAPI::getInstance()->addMoney($sender->getName(),floor($args[0]*MixCoinSystem::Config()->get("EconomyAPIのお金との交換数")));
			MixCoinSystem::getInstance()->MinusCoin($sender,$args[0]);
			$sender->sendMessage("Coin".$args[0]."枚をお金".floor($args[0]*MixCoinSystem::Config()->get("EconomyAPIのお金との交換数"))."円に交換しました");

		}


return true;
}
 
}<?php
namespace MixCoinSystem\Commands;

use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\plugin\Plugin;

use MixCoinSystem\MixCoinSystem;
use onebone\economyapi\EconomyAPI;

class ExchangeCoinCommand extends Command {

	public function __construct(Plugin $owner) {
		parent::__construct("exchangecoin", "お金をCoinに交換", "/exchangecoin <お金>");
}
	public function execute(CommandSender $sender, string $Label, array $args): bool {
		if($sender->getName() === "CONSOLE"){
		$sender->sendMessage("ゲーム内で使用して下さい");
		}elseif(!isset($args[0])){
		$sender->sendMessage("EconomyAPIのお金を入力してください");
		}elseif(!is_numeric($args[0])){
          $sender->sendMessage("数字を入力してください");
        }elseif($args[0] > EconomyAPI::getInstance()->myMoney($sender->getName())){
		$sender->sendMessage("お金が足りません");
		}else{
			EconomyAPI::getInstance()->reduceMoney($sender->getName(),$args[0]);
			MixCoinSystem::getInstance()->PlusCoin($sender,floor($args[0]/MixCoinSystem::Config()->get("EconomyAPIのお金との交換数")));
		$sender->sendMessage("お金".$args[0]."円をCoin".floor($args[0]/MixCoinSystem::Config()->get("EconomyAPIのお金との交換数"))."枚に交換しました");
		}


return true;
}
 
}<?php
namespace MixCoinSystem\Commands;

use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\plugin\Plugin;

use MixCoinSystem\MixCoinSystem;

class GiveCoinCommand extends Command {

	public function __construct(Plugin $owner) {
		parent::__construct("givecoin", "コインを与える", "/givecoin <プレイヤー名> <Coinの枚数> ");

}
	public function execute(CommandSender $sender, string $Label, array $args): bool {
		if(!($sender->isOp())){
		$sender->sendMessage("OPしか使用できません");
		}elseif(!isset($args[0])){
		$sender->sendMessage("プレイヤー名が入力されていません");
		}elseif(!$player = $sender->getServer()->getPlayer($args[0])){
        $sender->sendMessage("".$args[0]."という名前の方はオンラインではないか存在しません");
        }elseif(!isset($args[1])){
        $sender->sendMessage("Coinの枚数を入力して下さい");
    	}elseif(!is_numeric($args[1])){
          $sender->sendMessage("数字を入力してください");
        }elseif(0 >= $args[1]){
    	$sender->sendMessage("0以下の場合与えることはできません");
    	}else{
		MixCoinSystem::getInstance()->PlusCoin($player,$args[1]);
		$player->sendMessage("貴方にCoin".$args[1]."与えました");
		}
		







		




return true;
}
 
}<?php
namespace MixCoinSystem\Commands;

use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\plugin\Plugin;

use MixCoinSystem\MixCoinSystem;

class MyCoinCommand extends Command {

	public function __construct(Plugin $owner) {
		parent::__construct("mycoin", "自分のcoin枚数の確認", "/mycoin");

}
	public function execute(CommandSender $sender, string $Label, array $args): bool {
		if($sender->getName() === "CONSOLE"){
		$sender->sendMessage("ゲーム内で使用して下さい");
		}else{
		$sender->sendMessage("貴方のcoin枚数は".MixCoinSystem::getInstance()->GetCoin($sender)."です。");
		}
	return true;
	}
  }<?php

namespace MixCoinSystem;

use pocketmine\utils\TextFormat;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\plugin\PluginBase;
use pocketmine\utils\Config;
use pocketmine\Player;
use pocketmine\Server;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\event\Listener;

use onebone\economyapi\EconomyAPI;


class MixCoinSystem extends PluginBase implements Listener{


	private static $instance = [];
	private static $option = [];

	

	public function onEnable(){
		
		$this->getServer()->getPluginManager()->registerEvents($this,$this);
		$this->getLogger()->info(Textformat::GREEN."MixCoinSystemを読み込んだ！　by mixpowder");
		
		if (!file_exists($this->getDataFolder())) {
			@mkdir($this->getDataFolder(), 0744, true);
		}
		
		$this->Coin = new Config($this->getDataFolder(). "Coin.yml", Config::YAML);
		self::$option = new Config($this->getDataFolder(). "Option.yml", Config::YAML,array(
			"初期Coin枚数" => "500",
			"説明" => "↓の奴はお金100円->Coin10枚に交換するときの比率です",
			"EconomyAPIのお金との交換数" => "10",
		));
		$this->NewRegisterCommands();
	}


	public function NewRegisterCommands(){
		$commands = [
		'mycoin' => 'MixCoinSystem\Commands\MyCoinCommand',
		'givecoin' => 'MixCoinSystem\Commands\GiveCoinCommand',
		'setcoin' => 'MixCoinSystem\Commands\SetCoinCommand',
		'exchangecoin' => 'MixCoinSystem\Commands\ExchangeCoinCommand',
		'exchangemoney' => 'MixCoinSystem\Commands\ExchangeMoneyCommand',
		'paycoin' => 'MixCoinSystem\Commands\PayCoinCommand',

	];
	foreach($commands as $command => $class){
	$this->getServer()->getCommandMap()->register("mixcoinsystem", new $class($this));
}
	}


	public static function getInstance(){
		return self::$instance;
	}


	public function onLoad(){
		self::$instance = $this;
	}


	public function GetCoin($player){
		if($player instanceof Player){
			$player = $player->getName();
		}
		return $this->Coin->get($player);
}


	public function SetCoin($player,$coin){
		if($player instanceof Player){
			$player = $player->getName();
		}
		$this->Coin->set($player,$coin);
		$this->Coin->save();
	}


	public function PlusCoin($player,$coin){
		if($player instanceof Player){
			$player = $player->getName();
		}
		$this->Coin->set($player,$coin + $this->Coin->get($player));
		$this->Coin->save();
	}


	public function MinusCoin($player,$coin){
		if($player instanceof Player){
			$player = $player->getName();
		}
		$this->Coin->set($player,-$coin + $this->Coin->get($player));
		$this->Coin->save();
	}

	public  static function Config(){
		return self::$option;
	}


    public function onJoin(PlayerJoinEvent $event){
    		$player = $event->getPlayer();
            $name = $player->getName();
            if(!($this->Coin->exists($name))){
            $this->Coin->set($name,self::$option->get("初期Coin枚数"));
            $this->Coin->save();
            }
            }
        }name: MixCoinSystem
main: MixCoinSystem\MixCoinSystem
api: [3.0.0,4.0.0]
version: 1.5.0
author: mixpowder·£ÔᗍBÒûßÆBu–P¥z³Ä   GBMB