@Override public MCBlockFace getBlockFace() { return MCBlockFace.valueOf(pie.getBlockFace().name()); }
private void checkBoatsAnywhere(final Player player, final PlayerInteractEvent event, final BlockPlaceConfig cc, final IPlayerData pData) { // Check boats-anywhere. final Block block = event.getClickedBlock(); final Material mat = block.getType(); // TODO: allow lava ? if (BlockProperties.isWater(mat)) { return; } // TODO: Shouldn't this be the opposite face? final BlockFace blockFace = event.getBlockFace(); final Block relBlock = block.getRelative(blockFace); final Material relMat = relBlock.getType(); // TODO: Placing inside of water, but not "against" ? if (BlockProperties.isWater(relMat)) { return; } // TODO: Add a check type for exemption? if (!pData.hasPermission(Permissions.BLOCKPLACE_BOATSANYWHERE, player)) { final Result previousUseBlock = event.useInteractedBlock(); event.setCancelled(true); event.setUseItemInHand(Result.DENY); event.setUseInteractedBlock(previousUseBlock == Result.DEFAULT ? Result.ALLOW : previousUseBlock); counters.addPrimaryThread(idBoatsAnywhere, 1); } }
String id = BlockStorage.checkID(e.getClickedBlock()); if (BlockMenuPreset.isInventory(id)) { if (canPlaceBlock(p, e.getClickedBlock().getRelative(e.getParentEvent().getBlockFace())) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_INPUT, true)); else if (canPlaceBlock(p, e.getClickedBlock().getRelative(e.getParentEvent().getBlockFace())) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_OUTPUT, true)); else if (canPlaceBlock(p, e.getClickedBlock().getRelative(e.getParentEvent().getBlockFace())) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_OUTPUT_ADVANCED, true)); else if (canPlaceBlock(p, e.getClickedBlock().getRelative(e.getParentEvent().getBlockFace())) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CT_IMPORT_BUS, true)); else if (canPlaceBlock(p, e.getClickedBlock().getRelative(e.getParentEvent().getBlockFace())) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CT_EXPORT_BUS, true)); else { e.setCancelled(true);
placed = clicked.getRelative(event.getBlockFace()); handleBlockRightClick(event, create(event.getPlayer()), item, clicked, event.getBlockFace(), placed); placed = clicked.getRelative(event.getBlockFace());
if(action == Action.LEFT_CLICK_BLOCK && clickedBlock != null) if(clickedBlock.getY() < clickedBlock.getWorld().getMaxHeight() - 1 || event.getBlockFace() != BlockFace.UP) Block adjacentBlock = clickedBlock.getRelative(event.getBlockFace()); byte lightLevel = adjacentBlock.getLightFromBlocks(); if(lightLevel == 15 && adjacentBlock.getType() == Material.FIRE)
|| event.getAction().equals(Action.LEFT_CLICK_BLOCK))) || event.getAction().equals(actionEnum)) && (event.getClickedBlock() != null && ((type == Material.FIRE && event.getClickedBlock().getRelative(event.getBlockFace()).getType() == type) || event.getClickedBlock().getType().equals(type))) && (data < 0 || event.getClickedBlock().getData() == data)) {
data.setLastBlock(block, action); final BlockFace face = event.getBlockFace(); final ItemStack stack; switch(action) {
Block b = e.getClickedBlock().getRelative(e.getBlockFace()); b.setType(Material.PLAYER_HEAD); try {