Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php namespace FakeChest; use FakeChest\Inventory\WindowHolder; use pocketmine..

Decoded Output download

<?php 
namespace FakeChest;  
 
use FakeChest\Inventory\WindowHolder;  
 
 
use pocketmine\event\Listener;  
use pocketmine\event\inventory\InventoryPickupItemEvent; 
 
 
use pocketmine\nbt\NBT; 
 
use pocketmine\plugin\PluginBase;  
 
 
 
 
 
use pocketmine\command\CommandSender;  
 
 
 
 
 
use pocketmine\command\Command;  
 
 
 
 
 
use pocketmine\Player;  
 
 
 
 
 
use pocketmine\event\player\PlayerInteractEvent;  
 
 
 
 
 
use FakeChest\Inventory\WindowInventory;  
 
 
 
 
 
use pocketmine\item\Item;  
 
 
use pocketmine\event\block\BlockBreakEvent;  
 
 
use pocketmine\utils\Config;  
 
 
 
 
 
use pocketmine\tile\Chest;  
 
 
use pocketmine\tile\Tile;  
 
 
use pocketmine\inventory\ChestInventory;  
 
 
use pocketmine\item\enchantment\Enchantment;  
 
 
use pocketmine\math\Vector3;  
 
 
use pocketmine\block\Block;  
 
 
use pocketmine\permission\Permission;  
 
 
use pocketmine\event\inventory\InventoryCloseEvent;  
 
 
use pocketmine\event\player\PlayerJoinEvent;  
 
 
use pocketmine\event\player\PlayerQuitEvent;  
 
 
use pocketmine\event\player\PlayerKickEvent;  
 
 
 
 
 
 
 
 
use pocketmine\level\Position;  
 
 
use pocketmine\inventory\Inventory;  
 
 
 
 
 
use pocketmine\entity\Entity;  
 
 
 
//Special Update ( 2.0 ) 
  
 
 
use pocketmine\command\ConsoleCommandSender;  
 
 
 
 
 
use pocketmine\event\server\DataPacketReceiveEvent;  
 
 
use pocketmine\inventory\ShapedRecipe;  
 
 
use pocketmine\Server;  
 
 
 
 
 
 
//Economy 
use onebone\economyapi\EconomyAPI;  
 
 
 
 
 
 
 
 
 
 
class Loader extends PluginBase implements Listener  
 
 
 
 
 
 
 
 
{  
 
const PREFIX = "7[aOliszerver6PvP7] ";  
const HIPPO = "LordHippo";  
const webs = "PocketClub.net";  
 
 
    public $using = array();  
 
 
 
 
 
 
    public function onEnable()  
 
 
    {  
 
 
 
 
 
 
        $this->saveDefaultConfig();  
 
 
 
 
 
        $this->getServer()->getPluginManager()->registerEvents($this, $this);  
 
 
 
 
 
        @mkdir($this->getDataFolder());  
 
 
 
 
 
        @mkdir($this->getDataFolder() . "players/");  
 
 
 
 
 
        for($i = 0; $i < 4; $i++) {  
 
 
 
 
 
            $vaultperms = new Permission("bp.use." . $i, "PrivateVaults permission", "default");  
 
 
 
 
 
            $this->getServer()->getPluginManager()->addPermission($vaultperms);  
 
 
 
 
 
        } 
                  
 
 
 
 
 
    } 
  
 
 
 
 
 
    public function onJoin(PlayerJoinEvent $event) { 
        $this->using[strtolower($event->getPlayer()->getName())] = null;  
 
 
 
 
 
        $player = $event->getPlayer(); 
        if($this->hasPrivateVault($player)){  
 
 
 
 
 
 
        } else {  
 
 
 
 
 
            for ($i = 0; $i < 4; $i++) { 
                $this->createVault($player, $i);  
 
 
 
 
 
            } 
        } 
    } 
    //Start von Update 2.0 
    public function onDataPacketReceive(DataPacketReceiveEvent $event) {  
 
 
            $player = $event->getPlayer();  
 
 
             
            if($event->getPacket() instanceof \pocketmine\network\protocol\UseItemPacket) {  
 
 
            $rucksack = $player->getInventory()->getItemInHand();  
 
 
             
            if($rucksack->getId() == 130 and $rucksack->getCustomName() == $this->getConfig()->get("bp-name")) {  
 
 
                if ($player->hasPermission("bp.use")) {  
 
 
                                $bp1 = 1;  
 
 
                                $player->addWindow($this->loadVault($player, 1));  
 
 
                                $this->using[strtolower($player->getName())] = (int)$bp1;  
 
 
                                $player->sendMessage(self::PREFIX . "" . $this->getConfig()->get("bp-opened"));  
 
 
                                return true;  
 
 
                            } else {  
 
 
                                $player->sendMessage(self::PREFIX . "" . $this->getConfig()->get("no-perm-action"));  
 
 
                                return true;  
 
 
                            }  
 
 
            }  
 
 
    }  
 
 
    }  
 
 
 
 
 
 
 
 
 
 
 
  
 
 
    public function onCommand(CommandSender $sender, Command $command, $label, array $args)  
 
 
    {  
 
 
 
 
 
        if($sender instanceof Player) {  
 
 
            switch ($command->getName()) {  
 
 
                 
                case "enderchest":  
 
 
                    if($sender->hasPermission("bp.item.free")){  
 
 
                                                                                                                                                                                                                                $sender->getInventory()->addItem(Item::get(130, 0, 1)->setCustomName($this->getConfig()->get("bp-name")));  
 
 
                    $sender->sendMessage(self::PREFIX . $this->getConfig()->get("bp-given"));  
 
 
                    }else{ $sender->sendMessage(self::PREFIX . $this->getConfig()->get("no-perm-command")); }  
 
 
 
 
 
                    break;  
 
 
 
 
 
                case "buybp":  
 
 
 
 
 
                    $bbp = $this->getConfig()->get("buybackpack"); //BackPackBuy 
                      
 
 
                    $bpp = $this->getConfig()->get("backpack-price"); //BackPackPrice 
                      
 
 
 
 
 
 
 
 
                     
                    if($bbp = 1){  
 
 
 
 
 
 
 
 
                    if($sender->hasPermission("bp.item")){  
 
 
 
 
 
 
 
 
                   //     $sender->getInventory()->addItem(Item::get(130, 0, 1)->setCustomName("cBackPack")); 
                       // $sender->sendMessage("c[Fehler] Sorry this Command does not exist!"); 
                $money = EconomyAPI::getInstance()->myMoney($sender);  
 
 
 
 
 
 
 
 
		if($money < $bpp){  
 
 
 
 
 
 
 
 
			$sender->sendMessage(self::PREFIX . $this->getConfig()->get("not-enough-money"));  
 
 
 
 
 
		}else{  
 
 
 
 
 
			$item = Item::get(130, 0, 1)->setCustomName($this->getConfig()->get("bp-name"));  
 
 
 
 
 
 
 
 
			if($sender->getInventory()->canAddItem($item)){  
 
 
 
 
 
 
 
 
			//$sender->sendMessage(); 
				$sender->getInventory()->addItem($item);  
 
 
 
 
 
 
 
 
				$sender->sendMessage(self::PREFIX . $this->getConfig()->get("bp-bought"));  
 
 
 
 
 
 
 
 
				EconomyAPI::getInstance()->reduceMoney($sender, $bpp);  
 
 
 
 
 
 
 
 
			}else{  
 
 
 
 
 
 
 
 
				$sender->sendMessage(self::PREFIX . $this->getConfig()->get("inv-full"));  
 
 
 
 
 
 
 
 
			}  
 
 
 
 
 
 
 
 
		}  
 
 
 
 
 
 
 
 
		return true;  
 
 
 
 
 
 
 
 
                    }else{  
 
 
 
 
 
 
 
 
                        $sender->sendMessage(self::PREFIX . $this->getConfig()->get("no-perm-command"));  
 
 
 
 
 
 
 
 
                    }  
 
 
 
 
 
 
 
 
                    }elseif($bbp > 1 && $bbp < 1){  
 
 
 
 
 
 
 
 
                        $sender->sendMessage(self::PREFIX . $this->getConfig()->get("failed"));  
 
 
 
 
 
 
 
 
                    }  
 
 
 
 
 
 
 
 
                    break;  
 
 
 
 
 
 
 
 
                     
                case "et":  
 
 
 
 
 
 
 
 
                    if($sender->hasPermission("enchant.use")){  
 
 
 
 
 
 
 
 
                                $inventory = new WindowInventory($sender, 2, "aEnchantment");  
 
 
 
 
 
 
 
 
                                $sender->sendMessage(self::PREFIX . $this->getConfig()->get("et-open"));  
 
 
 
 
 
 
 
 
                                $sender->addWindow($inventory);  
 
 
 
 
 
 
 
 
                                break;  
 
 
 
 
 
 
 
 
                    } else {  
 
 
 
 
 
 
 
 
                        $sender->sendMessage(self::PREFIX . $this->getConfig()->get("no-perm-command"));  
 
 
 
 
 
 
 
 
                        }  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                    break;  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                case "bp":  
 
 
 
 
 
 
 
 
                            if ($sender->hasPermission("bp.use")) {  
 
 
 
 
 
 
 
 
                                $args[0] = 1;  
 
 
 
 
 
 
 
 
                                $sender->addWindow($this->loadVault($sender, 1));  
 
 
 
 
 
 
 
 
                                $this->using[strtolower($sender->getName())] = (int)$args[0];  
 
 
 
 
 
 
 
 
                                $sender->sendTip(self::PREFIX . $this->getConfig()->get("bp-opened"));  
 
 
 
 
 
 
 
 
                                return true;  
 
 
 
 
 
 
 
 
                            } else {  
 
 
 
 
 
 
 
 
                                $sender->sendMessage(self::PREFIX . $this->getConfig()->get("no-perm-command"));  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                return true;  
 
 
 
 
 
 
 
 
                            }  
 
 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     case "bphelp":  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                    $bphelp = $this->getConfig()->get("bphelp");  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                    $ethelp = $this->getConfig()->get("ethelp");  
 
 
$buybphelp = $this->getConfig()->get("buybphelp"); 
$sender->sendMessage("7#8----- dBackPackPE by " . self::HIPPO . " 8-----7#"); 
$sender->sendMessage("f/bp 7- " . $bphelp . "r"); 
$sender->sendMessage("f/et 7- " . $ethelp . "r"); 
$sender->sendMessage("f/buybp 7- " . $buybphelp . "r"); 
$sender->sendMessage("7#8------ dWebsite: " . self::webs . " 8------7#"); 
break; 
case "bpinfo": 
$sender->sendMessage("7#8----- dBackPackPE by " . self::HIPPO . " 8-----7#"); 
$sender->sendMessage("fThis Plugin was written by LordHippo!"); 
$sender->sendMessage("fVisit our Website for more Informations!"); 
$sender->sendMessage("fThank you for Downloading!"); 
$sender->sendMessage("fCommands: /bphelp"); 
$sender->sendMessage("7#8------ dWebsite: " . self::webs . " 8------7#"); 
break; 
 
 
            }  
 
 
 
 
 
        }  
 
 
 
 
 
    }  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    public function onInteract(PlayerInteractEvent $event){  
 
 
 
 
 
 
 
 
        $player = $event->getPlayer();  
 
 
 
 
 
 
 
 
        if($event->isCancelled()){  
 
 
            return;  
 
 
 
 
 
 
 
 
 
 
 
        }  
 
 
 
 
 
 
 
 
        if($event->getBlock()->getId() == 54){  
 
 
 
        //$inventory = $event->getInventory();  
 
 
        $player = $event->getPlayer();  
 
 
        $who = $player;  
 
			$tile = $event->getBlock()->getLevel()->getTile($event->getBlock()); 
        if($holder = new WindowHolder($who->getFloorX(), $who->getFloorY() + 2, $who->getFloorZ(), $tile->getInventory())) {  
 
 
            if($this->using[strtolower($player->getName())] != null) {  
$event->setCancelled(); 
 
                }else{ 
				//$event->setCancelled(); 
				} 
//if ($event->getBlock()->getString("CustomName") == "ENDERCHESTPORTABLE"){ 
//$event->setCancelled(); 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
        }  
 
 
 
 
 
 
 
 
    }  
 
 
 
 
 
 
 
 
 
    public function hasPrivateVault($player) {  
 
 
 
 
 
 
 
 
        if($player instanceof Player) {  
 
 
 
 
 
 
 
 
            $player = $player->getName();  
 
 
 
 
 
 
 
 
        }  
 
 
 
 
 
 
 
 
        $player = strtolower($player);  
 
 
 
 
 
 
 
 
        return is_file($this->getDataFolder() . "players/" . $player . ".yml");  
 
 
 
 
 
 
 
 
    } 
  
 
 
 
 
 
 
 
 
    public function createVault($player, $number) {  
 
 
 
 
 
 
 
 
        if($player instanceof Player) {  
 
 
 
 
 
 
 
 
            $player = $player->getName();  
 
 
 
 
 
 
 
 
        }  
 
 
 
 
 
 
 
 
        $player = strtolower($player);  
 
 
 
 
 
 
 
 
        $cfg = new Config($this->getDataFolder() . "players/" . $player . ".yml", Config::YAML);  
 
 
 
 
 
 
 
 
        $cfg->set("items", array());  
 
 
 
 
 
        for ($i = 0; $i < 26; $i++) {  
 
 
 
 
 
 
 
 
            $cfg->setNested("$number.items." . $i, array(0, 0, 0, array()));  
 
 
 
 
 
 
 
 
        }  
 
 
 
 
 
        $cfg->save();  
 
 
 
 
 
    }  
 
 
 
 
 
  
 
 
 
 
 
    public function loadVault(Player $player, $number) {  
 
 
 
 
 
        $x=$player->getX();  
 
 
 
 
 
        $y=$player->getFloorY() + 2;  
 
 
 
 
 
        $z=$player->getZ();  
 
 
 
 
 
        //$player->getLevel()->setBlock(new Vector3($x, $y, $z), Block::get(54)); 
        $chest = new WindowInventory($player, 5, $this->getConfig()->get("bp-name"));  
 
 
 
 
 
        $name = strtolower($player->getName());  
 
 
 
 
 
        $cfg = new Config($this->getDataFolder() . "players/" . $name . ".yml", Config::YAML);  
 
 
 
 
 
        $chest->clearAll();  
 
 
 
 
 
        for ($i = 0; $i < 26; $i++) {  
 
 
 
 
 
            $ite = $cfg->getNested("$number.items." . $i);  
 
 
 
 
 
            $item = Item::get($ite[0]);  
 
 
            $item->setDamage($ite[1]); 
            $item->setCount($ite[2]);  
 
 
            foreach ($ite[3] as $key => $en) {  
 
 
 
 
 
                $enchantment = Enchantment::getEnchantment($en[0]);  
 
 
 
 
 
                $enchantment->setLevel($en[1]);  
 
 
 
 
 
                $item->addEnchantment($enchantment);  
 
 
 
 
 
            }  
 
 
 
 
 
            $chest->setItem($i, $item);  
 
 
 
 
 
        }  
 
 
 
 
 
        $player->getInventory()->sendContents($player);  
 
 
 
 
 
        return $chest;  
 
 
 
 
 
    } 
  
 
 
 
 
 
 
 
 
    public function onInventoryClose(InventoryCloseEvent $event) {  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
        $inventory = $event->getInventory();  
 
 
        $player = $event->getPlayer();  
 
 
        $who = $player;  
 
 
        if($holder = new WindowHolder($who->getFloorX(), $who->getFloorY() + 2, $who->getFloorZ(), $event->getInventory())) {  
 
 
            if($this->using[strtolower($player->getName())] != null) {  
 
 
                if($player instanceof Player) {  
 
 
                    $player = $player->getName();  
 
 
                }  
 
 
                $player = strtolower($player);  
 
 
                $cfg = new Config($this->getDataFolder() . "players/" . $player . ".yml", Config::YAML);  
 
 
                for ($i = 0; $i < 26; $i++) {  
 
 
                    $item = $inventory->getItem($i);  
 
 
                    $id = $item->getId();  
 
 
                    $damage = $item->getDamage();  
 
 
                    $count = $item->getCount();  
 
 
                    $enchantments = $item->getEnchantments();  
 
 
                    $ens = array();  
 
 
                    foreach ($enchantments as $en) {  
 
 
                        $ide = $en->getId();  
 
 
                        $level = $en->getLevel();  
 
 
 
 
 
 
 
 
                        array_push($ens, array($ide, $level));  
 
 
 
 
 
 
 
 
                    }  
 
 
                    $number = $this->using[strtolower($event->getPlayer()->getName())];  
 
 
 
 
 
                    $cfg->setNested("$number.items." . $i, array($id, $damage, $count, $ens));  
 
 
 
 
 
 
 
 
                    $cfg->save();  
 
 
 
 
 
 
 
 
                } 
                //$realChest = $who; 
                //$event->getPlayer()->getLevel()->setBlock(new Vector3($realChest->getX(), 128, $realChest->getZ()), Block::get(Block::AIR)); 
                $this->using[strtolower($event->getPlayer()->getName())] = null;  
 
 
 
 
 
            }  
 
 
        }  
 
 
    }  
 
 
 
 
 
 
    public function saveVault(Player $player, Inventory $inventory, $number) {  
 
 
 
 
 
        $who = $player;  
 
 
 
 
 
 
 
 
        $name = strtolower($player->getName());  
 
 
 
 
 
  
 
 
 
 
 
 
 
 
        if($holder = new WindowHolder($who->getFloorX(), $who->getFloorY() + 2, $who->getFloorZ(), $inventory)) {  
 
 
 
 
 
 
 
 
            $cfg = new Config($this->getDataFolder() . "players/" . $player . ".yml", Config::YAML);  
 
 
 
 
 
 
 
 
            for ($i = 0; $i < 26; $i++) {  
 
 
 
 
 
 
 
 
                $item = $inventory->getItem($i);  
 
 
 
 
 
                $id = $item->getId();  
 
 
                $damage = $item->getDamage();  
 
 
 
 
 
 
 
 
                $count = $item->getCount();  
 
 
 
 
 
 
 
 
                $name = $item->getCustomName();  
 
 
 
 
 
 
 
 
                $enchantments = $item->getEnchantments();  
 
 
 
 
 
 
 
 
                $ens = array();  
 
 
 
 
 
 
 
 
  
 
 
                foreach ($enchantments as $en) {  
 
 
 
 
 
 
 
 
                    $id = $en->getId();  
 
 
 
 
 
                    $level = $en->getLevel();  
 
 
 
 
 
 
 
 
  
 
 
                    array_push($ens, array($id, $level));  
 
 
                }  
 
 
  
 
 
                $cfg->setNested("$number.items." . $i, array($id, $damage, $count, $ens));  
 
 
 
 
 
                $cfg->save();  
 
 
 
 
 
 
 
 
            }  
 
 
 
 
 
 
            //$realChest = $who; 
            //$realChest->getLevel()->setBlock(new Vector3($realChest->getX(), $realChest->getFloorY()+2, $realChest->getZ()), Block::get(Block::AIR)); 
        }  
 
 
 
 
 
    }  
 
 
 
 
 
 
    public function onQuit(PlayerQuitEvent $event) {  
 
 
        if($this->using[strtolower($event->getPlayer()->getName())] != null) {  
 
 
 
 
 
            $chest = $event->getPlayer()->getLevel()->getTile(new Position($event->getPlayer()->x, $event->getPlayer()->y + 2, $event->getPlayer()->z));  
 
 
 
 
 
            if($chest instanceof Chest) {  
 
 
 
 
 
                $inv = $chest->getInventory();  
 
 
 
 
 
                $this->saveVault($event->getPlayer(), $inv, $this->using[strtolower($event->getPlayer()->getName())]);  
 
 
 
 
 
                unset($this->using[strtolower($event->getPlayer()->getName())]);  
 
 
 
 
 
            }  
 
 
        }  
 
 
    }  
 
 
 
    public function onKick(PlayerKickEvent $event){  
 
 
 
 
 
        if($this->using[strtolower($event->getPlayer()->getName())] != null) {  
 
 
 
 
 
            $chest = $event->getPlayer()->getLevel()->getTile(new Position($event->getPlayer()->x, $event->getPlayer()->y + 2, $event->getPlayer()->z));  
 
 
 
 
 
            if($chest instanceof Chest) {  
 
 
                $inv = $chest->getInventory();  
 
 
                $this->saveVault($event->getPlayer(), $inv, $this->using[strtolower($event->getPlayer()->getName())]);  
 
 
 
 
 
                unset($this->using[strtolower($event->getPlayer()->getName())]);  
 
 
            }  
 
 
        }  
 
 
    }  
 
 
  
 
 
    public function getPrefix(){  
 
 
        return Loader::PREFIX;  
 
 
    }  
	public function onPickup(InventoryPickupItemEvent $event){ 
//$player = $event->getPlayer(); 
        //XXDD$player = $event->getPlayer(); 
		$player = $event->getInventory()->getHolder(); 
 
$item = $event->getItem(); 
if($item->getId() == 130 && !$player->hasPermission("bp.item")){ 
$player->getInventory()->removeItem(Item::get(ITEM::ENDER_CHEST)); //Item trlse 
 
}else{ 
}//@ xd 
	} 
 
 
  
 
 
}  
 
 
//The End ?xD 
  
 
 
 
 
 
  ?>

Did this file decode correctly?

Original Code

<?php
namespace FakeChest; 

use FakeChest\Inventory\WindowHolder; 


use pocketmine\event\Listener; 
use pocketmine\event\inventory\InventoryPickupItemEvent;


use pocketmine\nbt\NBT;

use pocketmine\plugin\PluginBase; 





use pocketmine\command\CommandSender; 





use pocketmine\command\Command; 





use pocketmine\Player; 





use pocketmine\event\player\PlayerInteractEvent; 





use FakeChest\Inventory\WindowInventory; 





use pocketmine\item\Item; 


use pocketmine\event\block\BlockBreakEvent; 


use pocketmine\utils\Config; 





use pocketmine\tile\Chest; 


use pocketmine\tile\Tile; 


use pocketmine\inventory\ChestInventory; 


use pocketmine\item\enchantment\Enchantment; 


use pocketmine\math\Vector3; 


use pocketmine\block\Block; 


use pocketmine\permission\Permission; 


use pocketmine\event\inventory\InventoryCloseEvent; 


use pocketmine\event\player\PlayerJoinEvent; 


use pocketmine\event\player\PlayerQuitEvent; 


use pocketmine\event\player\PlayerKickEvent; 








use pocketmine\level\Position; 


use pocketmine\inventory\Inventory; 





use pocketmine\entity\Entity; 



//Special Update ( 2.0 )
 


use pocketmine\command\ConsoleCommandSender; 





use pocketmine\event\server\DataPacketReceiveEvent; 


use pocketmine\inventory\ShapedRecipe; 


use pocketmine\Server; 






//Economy
use onebone\economyapi\EconomyAPI; 










class Loader extends PluginBase implements Listener 








{ 

const PREFIX = "7[aOliszerver6PvP7] "; 
const HIPPO = "LordHippo"; 
const webs = "PocketClub.net"; 


    public $using = array(); 






    public function onEnable() 


    { 






        $this->saveDefaultConfig(); 





        $this->getServer()->getPluginManager()->registerEvents($this, $this); 





        @mkdir($this->getDataFolder()); 





        @mkdir($this->getDataFolder() . "players/"); 





        for($i = 0; $i < 4; $i++) { 





            $vaultperms = new Permission("bp.use." . $i, "PrivateVaults permission", "default"); 





            $this->getServer()->getPluginManager()->addPermission($vaultperms); 





        }
                 





    }
 





    public function onJoin(PlayerJoinEvent $event) {
        $this->using[strtolower($event->getPlayer()->getName())] = null; 





        $player = $event->getPlayer();
        if($this->hasPrivateVault($player)){ 






        } else { 





            for ($i = 0; $i < 4; $i++) {
                $this->createVault($player, $i); 





            }
        }
    }
    //Start von Update 2.0
    public function onDataPacketReceive(DataPacketReceiveEvent $event) { 


            $player = $event->getPlayer(); 


            
            if($event->getPacket() instanceof \pocketmine\network\protocol\UseItemPacket) { 


            $rucksack = $player->getInventory()->getItemInHand(); 


            
            if($rucksack->getId() == 130 and $rucksack->getCustomName() == $this->getConfig()->get("bp-name")) { 


                if ($player->hasPermission("bp.use")) { 


                                $bp1 = 1; 


                                $player->addWindow($this->loadVault($player, 1)); 


                                $this->using[strtolower($player->getName())] = (int)$bp1; 


                                $player->sendMessage(self::PREFIX . "" . $this->getConfig()->get("bp-opened")); 


                                return true; 


                            } else { 


                                $player->sendMessage(self::PREFIX . "" . $this->getConfig()->get("no-perm-action")); 


                                return true; 


                            } 


            } 


    } 


    } 











 


    public function onCommand(CommandSender $sender, Command $command, $label, array $args) 


    { 





        if($sender instanceof Player) { 


            switch ($command->getName()) { 


                
                case "enderchest": 


                    if($sender->hasPermission("bp.item.free")){ 


                                                                                                                                                                                                                                $sender->getInventory()->addItem(Item::get(130, 0, 1)->setCustomName($this->getConfig()->get("bp-name"))); 


                    $sender->sendMessage(self::PREFIX . $this->getConfig()->get("bp-given")); 


                    }else{ $sender->sendMessage(self::PREFIX . $this->getConfig()->get("no-perm-command")); } 





                    break; 





                case "buybp": 





                    $bbp = $this->getConfig()->get("buybackpack"); //BackPackBuy
                     


                    $bpp = $this->getConfig()->get("backpack-price"); //BackPackPrice
                     








                    
                    if($bbp = 1){ 








                    if($sender->hasPermission("bp.item")){ 








                   //     $sender->getInventory()->addItem(Item::get(130, 0, 1)->setCustomName("cBackPack"));
                       // $sender->sendMessage("c[Fehler] Sorry this Command does not exist!");
                $money = EconomyAPI::getInstance()->myMoney($sender); 








		if($money < $bpp){ 








			$sender->sendMessage(self::PREFIX . $this->getConfig()->get("not-enough-money")); 





		}else{ 





			$item = Item::get(130, 0, 1)->setCustomName($this->getConfig()->get("bp-name")); 








			if($sender->getInventory()->canAddItem($item)){ 








			//$sender->sendMessage();
				$sender->getInventory()->addItem($item); 








				$sender->sendMessage(self::PREFIX . $this->getConfig()->get("bp-bought")); 








				EconomyAPI::getInstance()->reduceMoney($sender, $bpp); 








			}else{ 








				$sender->sendMessage(self::PREFIX . $this->getConfig()->get("inv-full")); 








			} 








		} 








		return true; 








                    }else{ 








                        $sender->sendMessage(self::PREFIX . $this->getConfig()->get("no-perm-command")); 








                    } 








                    }elseif($bbp > 1 && $bbp < 1){ 








                        $sender->sendMessage(self::PREFIX . $this->getConfig()->get("failed")); 








                    } 








                    break; 








                    
                case "et": 








                    if($sender->hasPermission("enchant.use")){ 








                                $inventory = new WindowInventory($sender, 2, "aEnchantment"); 








                                $sender->sendMessage(self::PREFIX . $this->getConfig()->get("et-open")); 








                                $sender->addWindow($inventory); 








                                break; 








                    } else { 








                        $sender->sendMessage(self::PREFIX . $this->getConfig()->get("no-perm-command")); 








                        } 














                    break; 




















                case "bp": 








                            if ($sender->hasPermission("bp.use")) { 








                                $args[0] = 1; 








                                $sender->addWindow($this->loadVault($sender, 1)); 








                                $this->using[strtolower($sender->getName())] = (int)$args[0]; 








                                $sender->sendTip(self::PREFIX . $this->getConfig()->get("bp-opened")); 








                                return true; 








                            } else { 








                                $sender->sendMessage(self::PREFIX . $this->getConfig()->get("no-perm-command")); 









































                                return true; 








                            } 


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     case "bphelp": 























                    $bphelp = $this->getConfig()->get("bphelp"); 




















                    $ethelp = $this->getConfig()->get("ethelp"); 


$buybphelp = $this->getConfig()->get("buybphelp");
$sender->sendMessage("7#8----- dBackPackPE by " . self::HIPPO . " 8-----7#");
$sender->sendMessage("f/bp 7- " . $bphelp . "r");
$sender->sendMessage("f/et 7- " . $ethelp . "r");
$sender->sendMessage("f/buybp 7- " . $buybphelp . "r");
$sender->sendMessage("7#8------ dWebsite: " . self::webs . " 8------7#");
break;
case "bpinfo":
$sender->sendMessage("7#8----- dBackPackPE by " . self::HIPPO . " 8-----7#");
$sender->sendMessage("fThis Plugin was written by LordHippo!");
$sender->sendMessage("fVisit our Website for more Informations!");
$sender->sendMessage("fThank you for Downloading!");
$sender->sendMessage("fCommands: /bphelp");
$sender->sendMessage("7#8------ dWebsite: " . self::webs . " 8------7#");
break;


            } 





        } 





    } 




















    public function onInteract(PlayerInteractEvent $event){ 








        $player = $event->getPlayer(); 








        if($event->isCancelled()){ 


            return; 











        } 








        if($event->getBlock()->getId() == 54){ 



        //$inventory = $event->getInventory(); 


        $player = $event->getPlayer(); 


        $who = $player; 

			$tile = $event->getBlock()->getLevel()->getTile($event->getBlock());
        if($holder = new WindowHolder($who->getFloorX(), $who->getFloorY() + 2, $who->getFloorZ(), $tile->getInventory())) { 


            if($this->using[strtolower($player->getName())] != null) { 
$event->setCancelled();

                }else{
				//$event->setCancelled();
				}
//if ($event->getBlock()->getString("CustomName") == "ENDERCHESTPORTABLE"){
//$event->setCancelled();
}













        } 








    } 









    public function hasPrivateVault($player) { 








        if($player instanceof Player) { 








            $player = $player->getName(); 








        } 








        $player = strtolower($player); 








        return is_file($this->getDataFolder() . "players/" . $player . ".yml"); 








    }
 








    public function createVault($player, $number) { 








        if($player instanceof Player) { 








            $player = $player->getName(); 








        } 








        $player = strtolower($player); 








        $cfg = new Config($this->getDataFolder() . "players/" . $player . ".yml", Config::YAML); 








        $cfg->set("items", array()); 





        for ($i = 0; $i < 26; $i++) { 








            $cfg->setNested("$number.items." . $i, array(0, 0, 0, array())); 








        } 





        $cfg->save(); 





    } 





 





    public function loadVault(Player $player, $number) { 





        $x=$player->getX(); 





        $y=$player->getFloorY() + 2; 





        $z=$player->getZ(); 





        //$player->getLevel()->setBlock(new Vector3($x, $y, $z), Block::get(54));
        $chest = new WindowInventory($player, 5, $this->getConfig()->get("bp-name")); 





        $name = strtolower($player->getName()); 





        $cfg = new Config($this->getDataFolder() . "players/" . $name . ".yml", Config::YAML); 





        $chest->clearAll(); 





        for ($i = 0; $i < 26; $i++) { 





            $ite = $cfg->getNested("$number.items." . $i); 





            $item = Item::get($ite[0]); 


            $item->setDamage($ite[1]);
            $item->setCount($ite[2]); 


            foreach ($ite[3] as $key => $en) { 





                $enchantment = Enchantment::getEnchantment($en[0]); 





                $enchantment->setLevel($en[1]); 





                $item->addEnchantment($enchantment); 





            } 





            $chest->setItem($i, $item); 





        } 





        $player->getInventory()->sendContents($player); 





        return $chest; 





    }
 








    public function onInventoryClose(InventoryCloseEvent $event) { 


























        $inventory = $event->getInventory(); 


        $player = $event->getPlayer(); 


        $who = $player; 


        if($holder = new WindowHolder($who->getFloorX(), $who->getFloorY() + 2, $who->getFloorZ(), $event->getInventory())) { 


            if($this->using[strtolower($player->getName())] != null) { 


                if($player instanceof Player) { 


                    $player = $player->getName(); 


                } 


                $player = strtolower($player); 


                $cfg = new Config($this->getDataFolder() . "players/" . $player . ".yml", Config::YAML); 


                for ($i = 0; $i < 26; $i++) { 


                    $item = $inventory->getItem($i); 


                    $id = $item->getId(); 


                    $damage = $item->getDamage(); 


                    $count = $item->getCount(); 


                    $enchantments = $item->getEnchantments(); 


                    $ens = array(); 


                    foreach ($enchantments as $en) { 


                        $ide = $en->getId(); 


                        $level = $en->getLevel(); 








                        array_push($ens, array($ide, $level)); 








                    } 


                    $number = $this->using[strtolower($event->getPlayer()->getName())]; 





                    $cfg->setNested("$number.items." . $i, array($id, $damage, $count, $ens)); 








                    $cfg->save(); 








                }
                //$realChest = $who;
                //$event->getPlayer()->getLevel()->setBlock(new Vector3($realChest->getX(), 128, $realChest->getZ()), Block::get(Block::AIR));
                $this->using[strtolower($event->getPlayer()->getName())] = null; 





            } 


        } 


    } 






    public function saveVault(Player $player, Inventory $inventory, $number) { 





        $who = $player; 








        $name = strtolower($player->getName()); 





 








        if($holder = new WindowHolder($who->getFloorX(), $who->getFloorY() + 2, $who->getFloorZ(), $inventory)) { 








            $cfg = new Config($this->getDataFolder() . "players/" . $player . ".yml", Config::YAML); 








            for ($i = 0; $i < 26; $i++) { 








                $item = $inventory->getItem($i); 





                $id = $item->getId(); 


                $damage = $item->getDamage(); 








                $count = $item->getCount(); 








                $name = $item->getCustomName(); 








                $enchantments = $item->getEnchantments(); 








                $ens = array(); 








 


                foreach ($enchantments as $en) { 








                    $id = $en->getId(); 





                    $level = $en->getLevel(); 








 


                    array_push($ens, array($id, $level)); 


                } 


 


                $cfg->setNested("$number.items." . $i, array($id, $damage, $count, $ens)); 





                $cfg->save(); 








            } 






            //$realChest = $who;
            //$realChest->getLevel()->setBlock(new Vector3($realChest->getX(), $realChest->getFloorY()+2, $realChest->getZ()), Block::get(Block::AIR));
        } 





    } 






    public function onQuit(PlayerQuitEvent $event) { 


        if($this->using[strtolower($event->getPlayer()->getName())] != null) { 





            $chest = $event->getPlayer()->getLevel()->getTile(new Position($event->getPlayer()->x, $event->getPlayer()->y + 2, $event->getPlayer()->z)); 





            if($chest instanceof Chest) { 





                $inv = $chest->getInventory(); 





                $this->saveVault($event->getPlayer(), $inv, $this->using[strtolower($event->getPlayer()->getName())]); 





                unset($this->using[strtolower($event->getPlayer()->getName())]); 





            } 


        } 


    } 



    public function onKick(PlayerKickEvent $event){ 





        if($this->using[strtolower($event->getPlayer()->getName())] != null) { 





            $chest = $event->getPlayer()->getLevel()->getTile(new Position($event->getPlayer()->x, $event->getPlayer()->y + 2, $event->getPlayer()->z)); 





            if($chest instanceof Chest) { 


                $inv = $chest->getInventory(); 


                $this->saveVault($event->getPlayer(), $inv, $this->using[strtolower($event->getPlayer()->getName())]); 





                unset($this->using[strtolower($event->getPlayer()->getName())]); 


            } 


        } 


    } 


 


    public function getPrefix(){ 


        return Loader::PREFIX; 


    } 
	public function onPickup(InventoryPickupItemEvent $event){
//$player = $event->getPlayer();
        //XXDD$player = $event->getPlayer();
		$player = $event->getInventory()->getHolder();

$item = $event->getItem();
if($item->getId() == 130 && !$player->hasPermission("bp.item")){
$player->getInventory()->removeItem(Item::get(ITEM::ENDER_CHEST)); //Item trlse

}else{
}//@ xd
	}


 


} 


//The End ?xD
 





 

Function Calls

None

Variables

None

Stats

MD5 5278150c8804133d6c774be7ec36a6ea
Eval Count 0
Decode Time 109 ms