
<?php
echo "PocketMine-MP plugin SnowballFight v1.1.0
This file has been generated using DevTools v1.13.0 at Mon, 23 Dec 2019 19:14:38 +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.1.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:1577096078;}
   plugin.yml¨   Ž“ ^¨   >]•¶      %   src/Saisana299/snow/EventListener.phpƒ  Ž“ ^ƒ  ‰„t­¶      %   src/Saisana299/snow/SnowballFight.phpÿ  Ž“ ^ÿ  êÇ¶      ---
name: SnowballFight
main: Saisana299\snow\SnowballFight
api:
- 3.0.0
version: 1.1.0
load: POSTWORLD
author: Saisana299
description: é›ªåˆæˆ¦ã‚’ã‚ˆã‚Šæ¥½ã—ã
...
<?php

namespace Saisana299\snow;

use pocketmine\event\Listener;
use pocketmine\event\entity\ProjectileHitEntityEvent;
use pocketmine\event\entity\EntityDamageByEntityEvent;
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)
    {
    	$entity = $event->getEntity();
        if($entity 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));
            		}
        		}
        		$damage = $this->SnowballFight->config->get("damage");
        		if(!empty($damage)){
        			$player->attack(new EntityDamageByEntityEvent($entity ,$player, 2, $damage, [], 0.4));
        		}
        	}
        }
    }
}<?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" => [],
				"damage" => 0
			]
		);
    }
}
Ê €©l‰‘ýüN8çÕ˜ÎÈ¼   GBMB