Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace DanielYTK\Beacon;
- use pocketmine\Player;
- use pocketmine\scheduler\PluginTask;
- use pocketmine\level\Level;
- use pocketmine\math\Vector3;
- use pocketmine\level\Position;
- use pocketmine\entity\Entity;
- use pocketmine\entity\Effect;
- use DanielYTK\Beacon\Main;
- class BeaconTask extends PluginTask{
- public $plugin;
- public function __construct(Main $plugin){
- parent::__construct($plugin);
- $this->plugin = $plugin;
- }
- public function getServer(){
- return $this->plugin->getServer();
- }
- public function onRun($ticks){
- foreach($this->plugin->beacon->getAll() as $coords => $info){
- $pos = explode("-", $coords);
- $pos2 = new Position($pos[0], $pos[1], $pos[2], $this->getServer()->getLevelByName($pos[3]));
- if($info["Level"] === 1){
- foreach($this->plugin->getServer()->getOnlinePlayers() as $ps){
- if($pos2->distance($ps) < $this->plugin->config->get("distance_effect")){
- if($info["Efeito"] == "SPEED"){
- $ef = Effect::getEffect(1);
- $ef->setAmplifier(0);
- $ef->setDuration(40);
- $ps->addEffect($ef);
- }
- if($info["Efeito"] == "HASTE"){
- $ef = Effect::getEffect(3);
- $ef->setAmplifier(0);
- $ef->setDuration(40);
- $ps->addEffect($ef);
- }
- if($info["Efeito"] == "JUMP"){
- $ef = Effect::getEffect(8);
- $ef->setAmplifier(0);
- $ef->setDuration(40);
- $ps->addEffect($ef);
- }
- if($info["Efeito"] == "REGEN"){
- $ef = Effect::getEffect(10);
- $ef->setAmplifier(0);
- $ef->setDuration(40);
- $ps->addEffect($ef);
- }
- }
- }
- }
- if($info["Level"] === 2){
- foreach($this->plugin->getServer()->getOnlinePlayers() as $ps){
- if($pos2->distance($ps) < $this->plugin->config->get("distance_effect")){
- if($info["Efeito"] == "SPEED"){
- $ef = Effect::getEffect(1);
- $ef->setAmplifier(1);
- $ef->setDuration(40);
- $ps->addEffect($ef);
- }
- if($info["Efeito"] == "HASTE"){
- $ef = Effect::getEffect(3);
- $ef->setAmplifier(1);
- $ef->setDuration(40);
- $ps->addEffect($ef);
- }
- if($info["Efeito"] == "JUMP"){
- $ef = Effect::getEffect(8);
- $ef->setAmplifier(1);
- $ef->setDuration(40);
- $ps->addEffect($ef);
- }
- if($info["Efeito"] == "REGEN"){
- $ef = Effect::getEffect(10);
- $ef->setAmplifier(1);
- $ef->setDuration(40);
- $ps->addEffect($ef);
- }
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement