Skip to content

Instantly share code, notes, and snippets.

@BEcraft
Last active January 20, 2018 20:17
Show Gist options
  • Save BEcraft/246c5e7ea9b395b6165c8aea473b3545 to your computer and use it in GitHub Desktop.
Save BEcraft/246c5e7ea9b395b6165c8aea473b3545 to your computer and use it in GitHub Desktop.
PocketMine
<?php
/**
* @name JumpBoost
* @author BEcraft
* @main BEcraft\JumpBoost\Loader
* @api 3.0.0
* @version 1.0
*/
namespace BEcraft\JumpBoost;
use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\utils\TextFormat;
use pocketmine\network\mcpe\protocol\PlayerActionPacket;
use pocketmine\event\server\DataPacketReceiveEvent;
class Loader extends PluginBase implements Listener{
const JUMP_BOOST = 8;
public function onEnable(){
$this->getServer()->getPluginManager()->registerEvents($this, $this);
}
public function onJoin(PlayerJoinEvent $event){
$event->getPlayer()->setAutoJump(false);
}
public function onJump(DataPacketReceiveEvent $event){
$player = $event->getPlayer();
static $list = [];//testing
if(($packet = $event->getPacket()) instanceof PlayerActionPacket and $packet->action === Loader::JUMP_BOOST and $player->isSneaking()){
if(!isset($list[$player->getName()])){
$list[$player->getName()] = microtime(true);
$player->sendTip(TextFormat::GREEN."Salta de nuevo para saltar mas alto.");
return true;
}
if(round(microtime(true)-$list[$player->getName()], 3) > 1){
$player->sendTip(TextFormat::RED."Intenta saltar mas rapido...");
$list[$player->getName()] = microtime(true);
return false;
}else{
$player->setMotion($player->getMotion()->add(0, 1.5));
$player->sendTip(TextFormat::YELLOW.TextFormat::BOLD."JUMP BOOST".TextFormat::RESET);
unset($list[$player->getName()]);
return true;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment