
<?php
echo "PocketMine-MP plugin SnowballFight v1.0.0
This file has been generated using DevTools v1.13.0 at Sun, 22 Dec 2019 15:45:05 +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(); ?>
             %  a:9:{s:4:"name";s:13:"SnowballFight";s:7:"version";s:5:"1.0.0";s:4:"main";s:29:"Saisana299\snow\SnowballFight";s:3:"api";a:1:{i:0;s:5:"3.0.0";}s:6:"depend";s:0:"";s:11:"description";s:27:"雪合戦をより楽しく";s:7:"authors";s:0:"";s:7:"website";s:0:"";s:12:"creationDate";i:1576997105;}
   plugin.yml   ]   ʶ      %   src/Saisana299/snow/EventListener.phpf  ]f  5      %   src/Saisana299/snow/SnowballFight.php  ]  ~      ---
name: SnowballFight
main: Saisana299\snow\SnowballFight
api:
- 3.0.0
version: 1.0.0
load: POSTWORLD
author: Saisana299
description: 雪合戦をより楽しく
...
<?php

namespace Saisana299\snow;

use pocketmine\event\Listener;
use pocketmine\event\entity\ProjectileHitEntityEvent;
use pocketmine\Player;
use pocketmine\math\Vector3;
use pocketmine\level\particle\ExplodeParticle;
use pocketmine\entity\projectile\Snowball;
use pocketmine\entity\EffectInstance;
use pocketmine\entity\Effect;

class EventListener implements Listener 
{

    private $SnowballFight;

    public function __construct(SnowballFight $SnowballFight)
    {
        $this->SnowballFight = $SnowballFight;
    }

    public function onHit(ProjectileHitEntityEvent $event)
    {
        if($event->getEntity() instanceof Snowball)
        {
        	$config = $this->SnowballFight->config->get("worlds");
        	if(empty($config)) return;
        	$player = $event->getEntityHit();
        	$level = $player->level;
        	if(in_array($level->getFolderName(), $config)){
        		$v3 = new Vector3($player->x,$player->y+1.5,$player->z);
        		$particle = new ExplodeParticle($v3);
        		for($i = 0; $i <= 2; $i = $i + 0.05) {
        			$x = sin(M_PI * $i) + $v3->x;
        			$z = cos(M_PI * $i) + $v3->z;
        			$particle->setComponents($x, $v3->y, $z);
        			$level->addParticle($particle);
        		}
        		$effects = $this->SnowballFight->config->get("effects");
        		if(!empty($effects)){
        			foreach ($effects as $data) {
                		$explode = explode("-", $data);
                		$player->addEffect(new EffectInstance(Effect::getEffect(intval($explode[0])), intval($explode[1]), intval($explode[2]) - 1, false));
            		}
        		}
        	}
        }
    }
}<?php

namespace Saisana299\snow;

use pocketmine\plugin\PluginBase;
use pocketmine\utils\Config;

class SnowballFight extends PluginBase{

	public function onEnable(){
		if (!file_exists($this->getDataFolder())) mkdir($this->getDataFolder(), 0744, true);
		$this->getServer()->getPluginManager()->registerEvents(new EventListener($this), $this);
		$this->config = new Config($this->getDataFolder()."config.yml", Config::YAML, 
			[
				"worlds"  => [],
				"effects" => []
			]
		);
    }
}
(U인c~*Q   GBMB