@Override public MCItemStack getItemInHand() { return new BukkitMCItemStack(event.getItemInHand()); }
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onBlockPlace(final BlockPlaceEvent event) { final Player player = event.getPlayer(); if (MovementHandler.isStopped(player) || Bloodbending.isBloodbent(player) || Suffocate.isBreathbent(player)) { event.setCancelled(true); return; } if (TempBlock.isTempBlock(event.getBlock())) { final TempBlock tb = TempBlock.get(event.getBlock()); tb.revertBlock(); event.getBlock().setType(event.getItemInHand().getType()); if (event.getPlayer().getGameMode() != GameMode.CREATIVE) { if (event.getItemInHand().getAmount() <= 0) { event.getItemInHand().setType(Material.AIR); event.getItemInHand().setAmount(1); } else { event.getItemInHand().setAmount(event.getItemInHand().getAmount() - 1); } } return; } }
@EventHandler public void onBlockPlace(BlockPlaceEvent event) { if (event.getPlayer().getGameMode() == GameMode.CREATIVE) { return; } // this prevents players from placing "quest item" blocks if (Utils.isQuestItem(event.getItemInHand())) { event.setCancelled(true); } }
@EventHandler public void onBlockPlace(BlockPlaceEvent e) { ItemStack item; if (e.getHand() == EquipmentSlot.OFF_HAND) { item = e.getPlayer().getInventory().getItemInOffHand(); } else { item = e.getItemInHand(); } if (item == null) return; RPGItem rItem = ItemManager.toRPGItem(item).orElse(null); if (rItem == null) return; e.setCancelled(true); }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlace(BlockPlaceEvent e) { if (!cm.isAntiPlaceDoorDupe) { return; } // 判断手里的物品是否为门 if (e.getItemInHand().getType() == Material.WOOD_DOOR || e.getItemInHand().getType() == Material.IRON_DOOR) { // 清理所在区块的甘蔗掉落物 for (Entity entity : e.getPlayer().getLocation().getChunk().getEntities()) { if (entity instanceof Item) { Material itemType = ((Item) entity).getItemStack().getType(); if (itemType == Material.SUGAR_CANE || itemType == Material.CACTUS) { entity.remove(); } } } } } }
@EventHandler(ignoreCancelled = true) public void onTelepathicCircuitPlace(BlockPlaceEvent event) { ItemStack is = event.getItemInHand(); if (!is.getType().equals(Material.DAYLIGHT_DETECTOR) || !is.hasItemMeta()) { return; } ItemMeta im = is.getItemMeta(); if (im.hasDisplayName() && im.getDisplayName().equals("TARDIS Telepathic Circuit")) { UUID uuid = event.getPlayer().getUniqueId(); String l = event.getBlock().getLocation().toString(); plugin.getTrackerKeeper().getTelepathicPlacements().put(uuid, l); } } }
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST) public void onBlockPlace(BlockPlaceEvent event) { Block block = event.getBlock(); DGameWorld gameWorld = DGameWorld.getByWorld(block.getWorld()); if (gameWorld == null) { return; } if (gameWorld.onPlace(event.getPlayer(), block, event.getBlockAgainst(), event.getItemInHand())) { event.setCancelled(true); } }
@EventHandler(ignoreCancelled = true) public void onTelepathicCircuitPlace(BlockPlaceEvent event) { ItemStack is = event.getItemInHand(); if (!is.getType().equals(Material.FLOWER_POT) || !is.hasItemMeta()) { return;
ItemStack itemStack = event.getItemInHand(); com.elmakers.mine.bukkit.block.UndoList.commit(modifiedBlock); if (DefaultMaterials.isMobSpawner(block.getType()) && event.getItemInHand() != null && DefaultMaterials.isMobSpawner(event.getItemInHand().getType()) && player.hasPermission("Magic.spawners")) { CompatibilityUtils.applyItemData(event.getItemInHand(), block);
@EventHandler(priority=EventPriority.MONITOR, ignoreCancelled = true) public void onBlockRegister(BlockPlaceEvent e) { if (BlockStorage.hasBlockInfo(e.getBlock())) { e.setCancelled(true); return; } ItemStack item = e.getItemInHand(); if (item != null && item.getType() == Material.INK_SAC) return; SlimefunItem sfItem = SlimefunItem.getByItem(item); if (sfItem != null && !(sfItem instanceof NotPlaceable)){ BlockStorage.addBlockInfo(e.getBlock(), "id", sfItem.getID(), true); if (SlimefunItem.blockhandler.containsKey(sfItem.getID())) { SlimefunItem.blockhandler.get(sfItem.getID()).onPlace(e.getPlayer(), e.getBlock(), sfItem); } } else { for (ItemHandler handler: SlimefunItem.getHandlers("BlockPlaceHandler")) { if (((BlockPlaceHandler) handler).onBlockPlace(e, item)) break; } } }
return; if (!event.getItemInHand().hasItemMeta()) { return; if (!event.getItemInHand().getItemMeta().hasDisplayName()) { return; if (!event.getItemInHand().getItemMeta().getDisplayName().equals("TARDIS Artron Furnace")) { return;
@EventHandler public void onPlace(BlockPlaceEvent e) { if (ProtectionSystem.build(e.getPlayer(), e.getBlock().getLocation(), true)) { if (config.buggedBlocks && !config.buggedBlocksExclude.contains(e.getBlock().getType())) { ItemStack returnItem = e.getItemInHand().clone(); returnItem.setAmount(1); Bukkit.getScheduler().runTaskLater(FunnyGuilds.getInstance(), () -> { e.getBlockReplacedState().update(true); if (config.buggedBlockReturn) { e.getPlayer().getInventory().addItem(returnItem); } }, config.buggedBlocksTimer); return; } e.setCancelled(true); } }
@EventHandler(ignoreCancelled = true) public void onHandlesPlace(BlockPlaceEvent event) { ItemStack is = event.getItemInHand(); if (!is.getType().equals(Material.BIRCH_BUTTON) || !is.hasItemMeta()) { return;
return; ItemStack is = event.getItemInHand(); if (!is.getType().equals(Material.BEACON) || !is.hasItemMeta()) { return;
@EventHandler public void onBlockPlace(BlockPlaceEvent e) { ItemStack item = e.getItemInHand();
final ItemStack stack = event.getItemInHand(); placedMat = BlockProperties.isAir(stack) ? Material.AIR : stack.getType();
ItemStack stack = event.getItemInHand(); if (stack == null || stack.getType() != Material.TNT) { plugin.getLogger().warning("Player " + event.getPlayer().getDisplayName() + " just placed TNT without holding a TNT block");
if (e.getItemInHand().getType() == SavageFactions.plugin.BANNER) { ItemStack bannerInHand = e.getItemInHand(); FPlayer fme = FPlayers.getInstance().getByPlayer(e.getPlayer()); ItemStack warBanner = fme.getFaction().getBanner();
@EventHandler public void onVaultPlace(BlockPlaceEvent e) { if (e.getItemInHand().getType() == Material.CHEST) { ItemStack vault = SavageFactions.plugin.createItem(Material.CHEST, 1, (short) 0, SavageFactions.plugin.color(SavageFactions.plugin.getConfig().getString("fvault.Item.Name")), SavageFactions.plugin.colorList(SavageFactions.plugin.getConfig().getStringList("fvault.Item.Lore"))); if (e.getItemInHand().isSimilar(vault)) { FPlayer fme = FPlayers.getInstance().getByPlayer(e.getPlayer()); if (fme.getFaction().getVault() != null) {
@EventHandler public void onHopperPlace(BlockPlaceEvent e) { if (e.getItemInHand().getType() != Material.HOPPER && !SavageFactions.plugin.getConfig().getBoolean("fvault.No-Hoppers-near-vault")) { return; } Faction factionAt = Board.getInstance().getFactionAt(new FLocation(e.getBlockPlaced().getLocation())); if (factionAt.isWilderness() || factionAt.getVault() == null) { return; } FPlayer fme = FPlayers.getInstance().getByPlayer(e.getPlayer()); Block start = e.getBlockPlaced(); int radius = 1; for (double x = start.getLocation().getX() - radius; x <= start.getLocation().getX() + radius; x++) { for (double y = start.getLocation().getY() - radius; y <= start.getLocation().getY() + radius; y++) { for (double z = start.getLocation().getZ() - radius; z <= start.getLocation().getZ() + radius; z++) { Location blockLoc = new Location(e.getPlayer().getWorld(), x, y, z); if (blockLoc.getX() == start.getLocation().getX() && blockLoc.getY() == start.getLocation().getY() && blockLoc.getZ() == start.getLocation().getZ()) { continue; } if (blockLoc.getBlock().getType() == Material.CHEST) { if (factionAt.getVault().equals(blockLoc)) { e.setCancelled(true); fme.msg(TL.COMMAND_VAULT_NO_HOPPER); return; } } } } } }