public function onPlace(BlockPlaceEvent $event) { if ($event->getBlock()->getId() != Block::CHEST) { return; } $block = $event->getBlock(); if ($this->sideCheck($block->x + 1, $block->y, $block->z, $block->getLevel(), $event->getPlayer()->getName()) == Block::CHEST or $this->sideCheck($block->x - 1, $block->y, $block->z, $block->getLevel(), $event->getPlayer()->getName()) == Block::CHEST or $this->sideCheck($block->x, $block->y, $block->z + 1, $block->getLevel(), $event->getPlayer()->getName()) == Block::CHEST or $this->sideCheck($block->x, $block->y, $block->z - 1, $block->getLevel(), $event->getPlayer()->getName()) == Block::CHEST) { $event->getPlayer()->sendMessage(TextFormat::RED . "바로 옆에 다른사람의 상자가 있습니다, 설치 불가능 !"); return; } $this->configData["{$block->x}:{$block->y}:{$block->z}"] = $event->getPlayer()->getName(); }
/** * @param BlockPlaceEvent $event * @priority LOWEST */ public function l_onBlockPlace(BlockPlaceEvent $event) { $player = $event->getPlayer(); $this->sessions[$offset = Session::offset($player)]->l_onBlockPlace($event); $this->sessions[$offset]->activity(); }
public function onBlockPlace(BlockPlaceEvent $event) { $player = $event->getPlayer(); $level = $player->getLevel(); $spawn = $level->getSpawnLocation(); $distance = $spawn->distance($player); if ($distance <= $this->cfg->get($level->getName())) { if (!$player->hasPermission("customradius.edit")) { $event->setCancelled(true); } } }
/** * @param BlockPlaceEvent $event * @priority HIGHEST * @ignoreCancelled true */ public function onBlockPlace(BlockPlaceEvent $event) { if (!$this->plugin->getStorage()->getShield($event->getPlayer()->getLevel())->isAllowed(Shield::PLACING)) { $event->setCancelled(true); $event->getPlayer()->sendTip($this->plugin->getConfig()->get("placeNotAllowed")); } }
public function onBlockPlace(BlockPlaceEvent $event) { $block = $event->getBlock()->getName(); if ($block == "Chest") { $this->arenaManager->onChestPlaced($event); } }
public function onPlayerPlaceBlock(BlockPlaceEvent $event) { if (!$event->getPlayer()->isOp()) { $event->setCancelled(true); $this->debug->onDebug('BlockPlaceEvent'); } }
public function onBlockPlace(BlockPlaceEvent $event) { if ($this->plugin->isJailed($event->getPlayer())) { $event->getPlayer()->sendMessage("§eYou are not allowed to destroy the jail!\nAdded " . $this->getPlugin()->getConfig()->get("punish-additional-minutes") . " minutes as punishment."); $this->getPlugin()->punish($event->getPlayer(), $this->getPlugin()->getConfig()->get("punish-additional-minutes")); $event->setCancelled(true); } }
public function onBlockPlace(BlockPlaceEvent $event) { $player = $event->getPlayer(); if (!$player->hasPermission("xperms.build")) { $player->sendMessage(TextFormat::RED . $this->plugin->getConfiguration()->getMSGonIBuildPerm()); $event->setCancelled(true); } }
public function PlaceQueeue(BlockPlaceEvent $event) { $block = $event->getBlock(); if ($block->getID() === Item::BED_BLOCK) { $player = $event->getPlayer(); $this->placeQueeue[$player->getName()] = 1; } }
public function onPlace(BlockPlaceEvent $event) { if ($event->getPlayer()->hasPermission("worldprotector.block.place")) { $event->setCancelled(false); } else { $event->setCancelled(true); } }
public function onPlace(BlockPlaceEvent $event) { $username = $event->getPlayer()->getName(); if (isset($this->PlacePrevent[$username])) { $event->setCancelled(true); unset($this->PlacePrevent[$username]); } }
public function onBlockPlace(BlockPlaceEvent $event) { $player = $event->getPlayer(); $block = $event->getBlock(); if ($player->hasPermission('log.placed.block')) { $this->plugin->addPlacedBlock($block, $player); // ADD TIME } }
public function onPlace(BlockPlaceEvent $event) { foreach ($this->tntRun->arenas as $arena) { if ($arena->getPlayerManager()->isInArena($event->getPlayer())) { $event->setCancelled(); return; } } }
public function onPlace(BlockPlaceEvent $event) { if (!isset($this->wands[$event->getPlayer()->getName()])) { $eventname = "Place"; $this->regi($event, $eventname); } else { $this->chk($event); $event->setCancelled(true); } }
public function onBanblock(BlockPlaceEvent $event) { $blocklist = array("46", "327", "10", "11"); foreach ($blocklist as $Bancode) { if ($event->getBlock()->getId() == $Bancode) { $event->setCancelled(true); $player = $event->getPlayer(); $player->sendMessage(TextFormat::RED . $player->getName() . "님이 금지된 아이템을 사용하였습니다"); } } }
/** * @priority HIGHEST */ public function onBlockPlace(BlockPlaceEvent $event) { if (!$event->isCancelled()) { $block = $event->getBlock(); if (isset($this->levelTickBlocks[$levelName = $block->getLevel()->getFolderName()]) && isset($this->randomTickBlocks[$levelName])) { if (in_array($block->getID(), $this->randomTickBlocks[$levelName]) && $block->getID() !== Block::GLASS && !isset($this->levelTickBlocks[$levelName][$posKey = $block->x . ":" . $block->y . ":" . $block->z])) { $this->levelTickBlocks[$levelName][$posKey] = new Position($block->x, $block->y, $block->z, $block->level); } } } }
public function onPlace(BlockPlaceEvent $bpe) { $pl = $bpe->getPlayer(); $name = $pl->getName(); $bl = $bpe->getBlock(); $blname = $bl->getName(); $lvl = $pl->getLevel()->getName(); $x = $pl->getX(); $y = $pl->getY(); $z = $pl->getZ(); $this->getLogger()->info(C::YELLOW . "{$name}" . C::DARK_AQUA . " Placed/tried to Place (a)" . C::YELLOW . " {$blname}" . C::DARK_AQUA . " in World:" . C::YELLOW . " {$lvl}" . C::DARK_AQUA . " at Position:" . C::YELLOW . " {$x}, {$y}, {$z}"); }
public function place(BlockPlaceEvent $place) { $block = $place->getBlock(); $player = $place->getPlayer(); if ($block->getId() === 46) { $place->setCancelled(); $mot = (new Random())->nextSignedFloat() * M_PI * 2; $tnt = Entity::createEntity("PrimedTNT", $block->getLevel()->getChunk($block->x >> 4, $block->z >> 4), new Compound("", ["Pos" => new EnumTag("Pos", [new DoubleTag("", $block->x + 0.5), new DoubleTag("", $block->y), new DoubleTag("", $block->z + 0.5)]), "Motion" => new EnumTag("Motion", [new DoubleTag("", -sin($mot) * 0.02), new DoubleTag("", 0.2), new DoubleTag("", -cos($mot) * 0.02)]), "Rotation" => new EnumTag("Rotation", [new FloatTag("", 0), new FloatTag("", 0)]), "Fuse" => new ByteTag("Fuse", 100)])); $tnt->spawnToAll(); $player->getLevel()->addSound(new AnviluseSound($player), array($player)); return true; } }
public function playerBlockPlace(BlockPlaceEvent $event) { $id = $event->getBlock()->getID(); $player = $event->getPlayer(); if ($id == in_array($id, $this->config->get("banned-items"))) { if ($player->isOp()) { if (!$this->config->get("ops-can-use-items") == true) { $player->sendMessage($this->config->get("msg-item-use")); $event->setCancelled(); } } else { $player->sendMessage($this->config->get("msg-item-use")); $event->setCancelled(); } } }
/** * @param BlockPlaceEvent $event * * @priority HIGH * @ignoreCancelled true */ public function onBlockPlace(BlockPlaceEvent $event) { $player = $event->getPlayer(); if ($player->isOp()) { return; } foreach ($this->plugin->getAllZones() as $zone) { if ($zone->isIn($event->getBlock())) { if ($player->hasPermission($zone->getName() . MEMBER)) { break; } $event->setCancelled(true); $player->sendMessage("[iZone] This is a private area."); break; } } }
public function blockPlace(BlockPlaceEvent $event) { //2 $id = $event->getItem()->getId(); if ($id == $this->id) { $player = $event->getPlayer(); $username = $player->getName(); if (empty($this->data[$user][2])) { $x = $event->getBlock()->x; $y = $event->getBlock()->y; $z = $event->getBlock()->z; $this->data[$user][2] = array($x, $y, $z); $ms = ""; if (isset($this->data[$user][2])) { //片方がセットされていたら $ms = "[FiredNubesco] Second position has been set to: {$x}, {$y}, {$z}"; $size = $this->countBlocks($player); if ($num != false) { $ms .= " (Size: " . $size[0] . "X" . $size[1] . ")"; } } else { $ms = "[FiredNubesco] First position has been set to: {$x}, {$y}, {$z}"; } $player->sendMessage($ms); $event->setCancelled(true); } } return true; }
public function onPlace(BlockPlaceEvent $event) { if (!$event->getPlayer()->hasPermission("customareas.bypass")) { foreach ($this->plugin->areas as $area) { if ($area->isInside($event->getBlock()) and !$area->canBuild($event->getPlayer())) { $event->setCancelled(); $event->getPlayer()->sendMessage("This is " . $area->owner . "'s private area"); } } } }
public function onBlockPlace(BlockPlaceEvent $event) { if ($this->plugin->cfg->get("debugmode") == "true") { $this->plugin->getServer()->getLogger()->info(MT::GREEN . "CommandTest BPosition Place"); } $id = $event->getPlayer()->getID(); if (in_array($id, $this->schalter)) { $bl = $event->getBlock(); $n = strtolower($event->getPlayer()->getName()); $this->pos[$n] = new Vector3($bl->getX(), $bl->getY(), $bl->getZ()); $event->getPlayer()->sendMessage(MT::GOLD . "Position(" . $this->pos[$n]->getX() . "," . $this->pos[$n]->getY() . "," . $this->pos[$n]->getZ() . ")"); $event->setCancelled(true); } }
public function onBlockPlace(BlockPlaceEvent $event) { $b = $event->getBlock(); $p = $event->getPlayer(); $n = strtolower($p->getName()); if (isset($this->sel1[$n])) { unset($this->sel1[$n]); $this->pos1[$n] = new Vector3($b->getX(), $b->getY(), $b->getZ()); $p->sendMessage("Position 1 set to: (" . $this->pos1[$n]->getX() . ", " . $this->pos1[$n]->getY() . ", " . $this->pos1[$n]->getZ() . ")"); $event->setCancelled(); } else { if (isset($this->sel2[$n])) { unset($this->sel2[$n]); $this->pos2[$n] = new Vector3($b->getX(), $b->getY(), $b->getZ()); $p->sendMessage("Position 2 set to: (" . $this->pos2[$n]->getX() . ", " . $this->pos2[$n]->getY() . ", " . $this->pos2[$n]->getZ() . ")"); $event->setCancelled(); } else { if (!$this->canEdit($p, $b)) { $event->setCancelled(); } } } }
/** * Uses a item on a position and face, placing it or activating the block * * @param Vector3 $vector * @param Item $item * @param int $face * @param float $fx default 0.0 * @param float $fy default 0.0 * @param float $fz default 0.0 * @param Player $player default null * * @return boolean */ public function useItemOn(Vector3 $vector, Item &$item, $face, $fx = 0.0, $fy = 0.0, $fz = 0.0, Player $player = null) { $target = $this->getBlock($vector); $block = $target->getSide($face); if ($block->y > 127 or $block->y < 0) { return false; } if ($target->getId() === Item::AIR) { return false; } if ($player instanceof Player) { $ev = new PlayerInteractEvent($player, $item, $target, $face); if (!$player->isOp() and ($distance = $this->server->getConfigInt("spawn-protection", 16)) > -1) { $t = new Vector2($target->x, $target->z); $s = new Vector2($this->getSpawnLocation()->x, $this->getSpawnLocation()->z); if ($t->distance($s) <= $distance) { //set it to cancelled so plugins can bypass this $ev->setCancelled(); } } $this->server->getPluginManager()->callEvent($ev); if (!$ev->isCancelled()) { $target->onUpdate(self::BLOCK_UPDATE_TOUCH); if ($target->canBeActivated() === true and $target->onActivate($item, $player) === true) { return true; } if ($item->canBeActivated() and $item->onActivate($this, $player, $block, $target, $face, $fx, $fy, $fz)) { if ($item->getCount() <= 0) { $item = Item::get(Item::AIR, 0, 0); return true; } } } } elseif ($target->canBeActivated() === true and $target->onActivate($item, $player) === true) { return true; } if ($item->isPlaceable()) { $hand = $item->getBlock(); $hand->position($block); } elseif ($block->getId() === Item::FIRE) { $this->setBlock($block, new Air(), true); return false; } else { return false; } if (!($block->canBeReplaced() === true or $hand->getId() === Item::SLAB and $block->getId() === Item::SLAB)) { return false; } if ($target->canBeReplaced() === true) { $block = $target; $hand->position($block); //$face = -1; } if ($hand->isSolid() === true and $hand->getBoundingBox() !== null) { $entities = $this->getCollidingEntities($hand->getBoundingBox()); $realCount = 0; foreach ($entities as $e) { if ($e instanceof Arrow or $e instanceof DroppedItem) { continue; } ++$realCount; } if ($realCount > 0) { return false; //Entity in block } } if ($player instanceof Player) { $ev = new BlockPlaceEvent($player, $hand, $block, $target, $item); if (!$player->isOp() and ($distance = $this->server->getConfigInt("spawn-protection", 16)) > -1) { $t = new Vector2($target->x, $target->z); $s = new Vector2($this->getSpawnLocation()->x, $this->getSpawnLocation()->z); if ($t->distance($s) <= $distance) { //set it to cancelled so plugins can bypass this $ev->setCancelled(); } } $this->server->getPluginManager()->callEvent($ev); if ($ev->isCancelled()) { return false; } } if ($hand->place($item, $block, $target, $face, $fx, $fy, $fz, $player) === false) { return false; } if ($hand->getId() === Item::SIGN_POST or $hand->getId() === Item::WALL_SIGN) { $tile = Tile::createTile("Sign", $this->getChunk($block->x >> 4, $block->z >> 4), new Compound(false, ["id" => new String("id", Tile::SIGN), "x" => new Int("x", $block->x), "y" => new Int("y", $block->y), "z" => new Int("z", $block->z), "Text1" => new String("Text1", ""), "Text2" => new String("Text2", ""), "Text3" => new String("Text3", ""), "Text4" => new String("Text4", "")])); if ($player instanceof Player) { $tile->namedtag->Creator = new String("Creator", $player->getName()); } } $item->setCount($item->getCount() - 1); if ($item->getCount() <= 0) { $item = Item::get(Item::AIR, 0, 0); } return true; }
public function onBlockPlace(BlockPlaceEvent $ev) { if ($ev->isCancelled()) { return; } $pl = $ev->getPlayer(); if ($this->checkBlockPlaceBreak($pl)) { return; } $this->owner->msg($pl, mc::_("You are not allowed to do that here")); $ev->setCancelled(); }
public function onBlockPlace(BlockPlaceEvent $event) { $username = $event->getPlayer()->getName(); if (isset($this->placeQueue[$username])) { $event->setCancelled(true); // No message to send cuz it is already sent by InteractEvent unset($this->placeQueue[$username]); } }
/** * Uses a item on a position and face, placing it or activating the block * * @param Vector3 $vector * @param Item $item * @param int $face * @param float $fx default 0.0 * @param float $fy default 0.0 * @param float $fz default 0.0 * @param Player $player default null * * @return boolean */ public function useItemOn(Vector3 $vector, Item &$item, $face, $fx = 0.0, $fy = 0.0, $fz = 0.0, Player $player = null) { $target = $this->getBlock($vector); $block = $target->getSide($face); if ($block->y > 127 or $block->y < 0) { return false; } if ($target->getId() === Item::AIR) { return false; } if ($player !== null) { $ev = new PlayerInteractEvent($player, $item, $target, $face, $target->getId() === 0 ? PlayerInteractEvent::RIGHT_CLICK_AIR : PlayerInteractEvent::RIGHT_CLICK_BLOCK); if (!$player->isOp() and ($distance = $this->server->getSpawnRadius()) > -1) { $t = new Vector2($target->x, $target->z); $s = new Vector2($this->getSpawnLocation()->x, $this->getSpawnLocation()->z); if (count($this->server->getOps()->getAll()) > 0 and $t->distance($s) <= $distance) { //set it to cancelled so plugins can bypass this $ev->setCancelled(); } } $this->server->getPluginManager()->callEvent($ev); if (!$ev->isCancelled()) { $target->onUpdate(self::BLOCK_UPDATE_TOUCH); if (!$player->isSneaking() and $target->canBeActivated() === true and $target->onActivate($item, $player) === true) { return true; } if (!$player->isSneaking() and $item->canBeActivated() and $item->onActivate($this, $player, $block, $target, $face, $fx, $fy, $fz)) { if ($item->getCount() <= 0) { $item = Item::get(Item::AIR, 0, 0); return true; } } } else { return false; } } elseif ($target->canBeActivated() === true and $target->onActivate($item, $player) === true) { return true; } if ($item->canBePlaced()) { $hand = $item->getBlock(); $hand->position($block); } elseif ($block->getId() === Item::FIRE) { $this->setBlock($block, new Air(), true); return false; } else { return false; } if (!($block->canBeReplaced() === true or $hand->getId() === Item::SLAB and $block->getId() === Item::SLAB)) { return false; } if ($target->canBeReplaced() === true) { $block = $target; $hand->position($block); //$face = -1; } if ($hand->isSolid() === true and $hand->getBoundingBox() !== null) { $entities = $this->getCollidingEntities($hand->getBoundingBox()); $realCount = 0; foreach ($entities as $e) { if ($e instanceof Arrow or $e instanceof DroppedItem) { continue; } ++$realCount; } if ($player !== null) { if ($diff = $player->getNextPosition()->subtract($player->getPosition()) and $diff->lengthSquared() > 1.0E-5) { $bb = $player->getBoundingBox()->getOffsetBoundingBox($diff->x, $diff->y, $diff->z); if ($hand->getBoundingBox()->intersectsWith($bb)) { ++$realCount; } } } if ($realCount > 0) { return false; //Entity in block } } $tag = $item->getNamedTagEntry("CanPlaceOn"); if ($tag instanceof Enum) { $canPlace = false; foreach ($tag as $v) { if ($v instanceof String) { $entry = Item::fromString($v->getValue()); if ($entry->getId() > 0 and $entry->getBlock() !== null and $entry->getBlock()->getId() === $target->getId()) { $canPlace = true; break; } } } if (!$canPlace) { return false; } } if ($player !== null) { $ev = new BlockPlaceEvent($player, $hand, $block, $target, $item); if (!$player->isOp() and ($distance = $this->server->getSpawnRadius()) > -1) { $t = new Vector2($target->x, $target->z); $s = new Vector2($this->getSpawnLocation()->x, $this->getSpawnLocation()->z); if (count($this->server->getOps()->getAll()) > 0 and $t->distance($s) <= $distance) { //set it to cancelled so plugins can bypass this $ev->setCancelled(); } } $this->server->getPluginManager()->callEvent($ev); if ($ev->isCancelled()) { return false; } } if ($hand->place($item, $block, $target, $face, $fx, $fy, $fz, $player) === false) { return false; } if ($hand->getId() === Item::SIGN_POST or $hand->getId() === Item::WALL_SIGN) { $nbt = new Compound("", ["id" => new String("id", Tile::SIGN), "x" => new Int("x", $block->x), "y" => new Int("y", $block->y), "z" => new Int("z", $block->z), "Text1" => new String("Text1", ""), "Text2" => new String("Text2", ""), "Text3" => new String("Text3", ""), "Text4" => new String("Text4", "")]); if ($player !== null) { $nbt->Creator = new String("Creator", $player->getRawUniqueId()); } if ($item->hasCustomBlockData()) { foreach ($item->getCustomBlockData() as $key => $v) { $nbt->{$key} = $v; } } Tile::createTile("Sign", $this->getChunk($block->x >> 4, $block->z >> 4), $nbt); } $item->setCount($item->getCount() - 1); if ($item->getCount() <= 0) { $item = Item::get(Item::AIR, 0, 0); } return true; }
public function onBlockPlaceEvent(BlockPlaceEvent $ev) { $bl = $ev->getBlock(); if ($bl->getId() == 39) { $event->setCancelled(true); } if ($bl->getId() == 32) { $event->setCancelled(true); } if ($ev->isCancelled()) { return; } if ($bl->getId() != Block::CHEST || $bl->getSide(Vector3::SIDE_DOWN)->getId() != Block::GLASS) { return; } $ev->getPlayer()->sendMessage("Placed Armour Crate..."); }
public function onPlayerPlaceBlock(BlockPlaceEvent $event) { $blockID = $event->getBlock()->getID(); $bl = $event->getBlock(); $pos = $event->getBlock(new Vector3($bl->x, $bl->y, $bl->z)); if ($blockID == 54) { $block1 = $event->getBlock()->getLevel()->getBlock(new Vector3($bl->x + 1, $bl->y, $bl->z)); $block2 = $event->getBlock()->getLevel()->getBlock(new Vector3($bl->x - 1, $bl->y, $bl->z)); $block3 = $event->getBlock()->getLevel()->getBlock(new Vector3($bl->x, $bl->y, $bl->z + 1)); $block4 = $event->getBlock()->getLevel()->getBlock(new Vector3($bl->x, $bl->y, $bl->z - 1)); if ($block1->getID() == 54 || $block2->getID() == 54 || $block3->getID() == 54 || $block4->getID() == 54) { $event->getPlayer()->sendPopup(MT::RED . "Keine Doppelkisten! - no double chests!"); $this->debug->onDebug('Doublechest placement'); $event->setCancelled(true); } } }