/** * @param CommandSender $sender * @param Block $block */ public function sendBlockInfo(CommandSender $sender, Block $block) { $sender->sendMessage("Name: " . $block->getName()); $sender->sendMessage("XYZ: " . $block->getFloorX() . ":" . $block->getFloorY() . ":" . $block->getFloorZ()); $sender->sendMessage("Level: " . $block->getLevel()->getName()); $sender->sendMessage("Block-id: " . $block->getId() . ":" . $block->getDamage()); $sender->sendMessage("Hardness: " . $block->getHardness()); $sender->sendMessage("Resistance: " . $block->getResistance()); $sender->sendMessage("Tool-type: " . $block->getToolType()); $sender->sendMessage("Friction: " . $block->getFrictionFactor()); $sender->sendMessage("Light-level: " . $block->getLightLevel()); //$sender->sendMessage("Is-placeable: ".($block->canBePlaced() ? TextFormat::GREEN."yes" : TextFormat::RED."no")); $sender->sendMessage("Is-replaceable: " . ($block->canBeReplaced() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-transparent: " . ($block->isTransparent() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-solid: " . ($block->isSolid() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); //$sender->sendMessage("Is-flowable: ".($block->canBeFlowedInto() ? TextFormat::GREEN."yes" : TextFormat::RED."no")); //$sender->sendMessage("Is-activateable: ".($block->canBeActivated() ? TextFormat::GREEN."yes" : TextFormat::RED."no")); $sender->sendMessage("Is-passable: " . ($block->canPassThrough() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $dropCount = 0; $dropNames = ""; foreach ($block->getDrops() as $drop) { $dropNames .= $drop->getName() . ", "; $dropCount++; } $sender->sendMessage("Drops (" . $dropCount . "): " . substr($dropNames, 0, -2)); }
public function __construct(Player $player, Block $block, Item $item, $instaBreak = \false) { $this->block = $block; $this->item = $item; $this->player = $player; $this->instaBreak = (bool) $instaBreak; $drops = $player->isSurvival() ? $block->getDrops($item) : []; foreach ($drops as $i) { $this->blockDrops[] = Item::get($i[0], $i[1], $i[2]); } }
public function __construct(Player $player, Block $block, Item $item, int $xpAmount = 0, bool $instaBreak = false, bool $speed = false) { $this->block = $block; $this->item = $item; $this->player = $player; $this->instaBreak = (bool) $instaBreak; $this->xpAmount = (int) $xpAmount; $this->blocked = (bool) $speed; $drops = $player->isSurvival() ? $block->getDrops($item) : []; foreach ($drops as $i) { $this->blockDrops[] = Item::get($i[0], $i[1], $i[2]); } }
public function treeDetect(Block $block, Player $player, $isdrop = true) { if ($block->getId() == Block::LOG or $block->getId() == Block::LEAVE) { $drops = $block->getDrops($player->getInventory()->getItemInHand()); if ($isdrop == true) { foreach ($drops as $drop) { if ($drop[2] > 0) { $player->getInventory()->addItem(Item::get(...$drop)); } } } $block->getLevel()->setBlock($block, new Air(), false, false); } $id = $block->getLevel()->getBlockIdAt($block->x, $block->y - 1, $block->z); if ($id == Block::LOG or $id == Block::LEAVE) { $this->treeDetect($block->getLevel()->getBlock($block->add(0, -1, 0)), $player); } $id = $block->getLevel()->getBlockIdAt($block->x, $block->y + 1, $block->z); if ($id == Block::LOG or $id == Block::LEAVE) { $this->treeDetect($block->getLevel()->getBlock($block->add(0, 1, 0)), $player); } $id = $block->getLevel()->getBlockIdAt($block->x, $block->y, $block->z - 1); if ($id == Block::LOG or $id == Block::LEAVE) { $this->treeDetect($block->getLevel()->getBlock($block->add(0, 0, -1)), $player); } $id = $block->getLevel()->getBlockIdAt($block->x, $block->y, $block->z + 1); if ($id == Block::LOG or $id == Block::LEAVE) { $this->treeDetect($block->getLevel()->getBlock($block->add(0, 0, 1)), $player); } $id = $block->getLevel()->getBlockIdAt($block->x - 1, $block->y, $block->z); if ($id == Block::LOG or $id == Block::LEAVE) { $this->treeDetect($block->getLevel()->getBlock($block->add(-1, 0, 0)), $player); } $id = $block->getLevel()->getBlockIdAt($block->x + 1, $block->y, $block->z); if ($id == Block::LOG or $id == Block::LEAVE) { $this->treeDetect($block->getLevel()->getBlock($block->add(1, 0, 0)), $player); } }