<?php __HALT_COMPILER(); ?>
n                     src/HitProjectile/Main.php_  e][_        
   plugin.yml   e][   ȶж      <?php

namespace HitProjectile;

use pocketmine\Player;
use pocketmine\entity\Entity;
use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\utils\Config;
use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\event\entity\EntityDamageByEntityEvent;

class Main extends PluginBase implements Listener{
    public function onEnable(){
        if(!file_exists($this->getDataFolder())){mkdir($this-dataFolder, 0744, true);}
        $this->getServer()->getPluginManager()->registerEvents($this, $this);
        $this->getLogger()->notice("§5SProjectileHitMessage has been enabled.§7| §r§ecreated by fuuko");
        $this->config = new Config($this->getDataFolder() . "config.yml", Config::YAML, array(
            "PlayerA" => "§e%name§rに§6%projectile§rを当てた。",
            "PlayerB" => "§e%name§rに§6%projectile§rを当てられた。"
            ));
    }
    public function HitArrow(EntityDamageEvent $event){
        $entity = $event->getEntity();
        if($event instanceof EntityDamageByEntityEvent){
            $Damager = $event->getDamager();
            $playerA = $Damager->getName();
            $playerB = $entity->getName();
            $cause = $event->getCause();
            $PlayerAMessage = $this->config->get("PlayerA");
            $PlayerBMessage = $this->config->get("PlayerB");
            if($Damager instanceof Player && $entity instanceof Player && $cause == EntityDamageEvent::CAUSE_PROJECTILE && substr($event->getChild(), 0, 5) == "Arrow" && $playerA != $playerB){
                $PlayerAcon = array(
                    '%name'=>$playerB,
                    '%projectile'=>'弓'
                );
                $PlayerBcon = array(
                    '%name'=>$playerA,
                    '%projectile'=>'弓'
                );
                $Asearch = array_keys($PlayerAcon);
                $Areplace = array_values($PlayerAcon);
                $Bsearch = array_keys($PlayerBcon);
                $Breplace = array_values($PlayerBcon);
                $PlayerAMessage = str_replace($Asearch, $Areplace, $PlayerAMessage);
                $PlayerBMessage = str_replace($Bsearch, $Breplace, $PlayerBMessage);
                $Damager->sendMessage("$PlayerAMessage");
                $entity->sendMessage("$PlayerBMessage");
            }elseif($Damager instanceof Player && $entity instanceof Player && $cause == EntityDamageEvent::CAUSE_PROJECTILE && substr($event->getChild(), 0, 4) == "Snow" && $playerA != $playerB){
                $PlayerAcon = array(
                    '%name'=>$playerB,
                    '%projectile'=>'雪玉'
                );
                $PlayerBcon = array(
                    '%name'=>$playerA,
                    '%projectile'=>'雪玉'
                );
                $Asearch = array_keys($PlayerAcon);
                $Areplace = array_values($PlayerAcon);
                $Bsearch = array_keys($PlayerBcon);
                $Breplace = array_values($PlayerBcon);
                $PlayerAMessage = str_replace($Asearch, $Areplace, $PlayerAMessage);
                $PlayerBMessage = str_replace($Bsearch, $Breplace, $PlayerBMessage);
                $Damager->sendMessage("$PlayerAMessage");
                $entity->sendMessage("$PlayerBMessage");
        }elseif($Damager instanceof Player && $entity instanceof Player && $cause == EntityDamageEvent::CAUSE_PROJECTILE && substr($event->getChild(), 0, 3) == "Egg" && $playerA != $playerB){
                $PlayerAcon = array(
                    '%name'=>$playerB,
                    '%projectile'=>'卵'
                );
                $PlayerBcon = array(
                    '%name'=>$playerA,
                    '%projectile'=>'卵'
                );
                $Asearch = array_keys($PlayerAcon);
                $Areplace = array_values($PlayerAcon);
                $Bsearch = array_keys($PlayerBcon);
                $Breplace = array_values($PlayerBcon);
                $PlayerAMessage = str_replace($Asearch, $Areplace, $PlayerAMessage);
                $PlayerBMessage = str_replace($Bsearch, $Breplace, $PlayerBMessage);
                $Damager->sendMessage("$PlayerAMessage");
                $entity->sendMessage("$PlayerBMessage");
        }elseif($Damager instanceof Player && $entity instanceof Player && $cause == EntityDamageEvent::CAUSE_PROJECTILE && $playerA != $playerB){
                $PlayerAcon = array(
                    '%name'=>$playerB,
                    '%projectile'=>'何か'
                );
                $PlayerBcon = array(
                    '%name'=>$playerA,
                    '%projectile'=>'何か'
                );
                $Asearch = array_keys($PlayerAcon);
                $Areplace = array_values($PlayerAcon);
                $Bsearch = array_keys($PlayerBcon);
                $Breplace = array_values($PlayerBcon);
                $PlayerAMessage = str_replace($Asearch, $Areplace, $PlayerAMessage);
                $PlayerBMessage = str_replace($Bsearch, $Breplace, $PlayerBMessage);
                $Damager->sendMessage("$PlayerAMessage");
                $entity->sendMessage("$PlayerBMessage");
            }
        }
    }
}name: SPHM
api: 4.0.0
main: HitProjectile\Main
version: 1.0.11
description: 当てた、当てられたを表示します。
author: fuuko
load: POSTWORLDY]!NSf"MP   GBMB