Search in sources :

Example 1 with Block

use of net.minecraft.server.v1_13_R2.Block in project Denizen-For-Bukkit by DenizenScript.

the class BlockHelperImpl method ringBell.

@Override
public void ringBell(Bell block) {
    org.bukkit.block.data.type.Bell bellData = (org.bukkit.block.data.type.Bell) block.getBlockData();
    Direction face = Direction.byName(bellData.getFacing().name());
    Direction dir = Direction.NORTH;
    switch(bellData.getAttachment()) {
        case DOUBLE_WALL:
        case SINGLE_WALL:
            switch(face) {
                case NORTH:
                case SOUTH:
                    dir = Direction.EAST;
                    break;
            }
            break;
        case FLOOR:
            dir = face;
            break;
    }
    CraftBlock craftBlock = (CraftBlock) block.getBlock();
    ((BellBlock) Blocks.BELL).attemptToRing(craftBlock.getCraftWorld().getHandle(), craftBlock.getPosition(), dir);
}
Also used : BellBlock(net.minecraft.world.level.block.BellBlock) org.bukkit.block(org.bukkit.block) org.bukkit.craftbukkit.v1_17_R1.block(org.bukkit.craftbukkit.v1_17_R1.block) Direction(net.minecraft.core.Direction)

Example 2 with Block

use of net.minecraft.server.v1_13_R2.Block in project java-docs-samples by GoogleCloudPlatform.

the class Detect method detectDocumentText.

// [START vision_detect_document]
/**
 * Performs document text detection on a local image file.
 *
 * @param filePath The path to the local file to detect document text on.
 * @param out A {@link PrintStream} to write the results to.
 * @throws Exception on errors while closing the client.
 * @throws IOException on Input/Output errors.
 */
public static void detectDocumentText(String filePath, PrintStream out) throws Exception, IOException {
    List<AnnotateImageRequest> requests = new ArrayList<>();
    ByteString imgBytes = ByteString.readFrom(new FileInputStream(filePath));
    Image img = Image.newBuilder().setContent(imgBytes).build();
    Feature feat = Feature.newBuilder().setType(Type.DOCUMENT_TEXT_DETECTION).build();
    AnnotateImageRequest request = AnnotateImageRequest.newBuilder().addFeatures(feat).setImage(img).build();
    requests.add(request);
    try (ImageAnnotatorClient client = ImageAnnotatorClient.create()) {
        BatchAnnotateImagesResponse response = client.batchAnnotateImages(requests);
        List<AnnotateImageResponse> responses = response.getResponsesList();
        client.close();
        for (AnnotateImageResponse res : responses) {
            if (res.hasError()) {
                out.printf("Error: %s\n", res.getError().getMessage());
                return;
            }
            // For full list of available annotations, see http://g.co/cloud/vision/docs
            TextAnnotation annotation = res.getFullTextAnnotation();
            for (Page page : annotation.getPagesList()) {
                String pageText = "";
                for (Block block : page.getBlocksList()) {
                    String blockText = "";
                    for (Paragraph para : block.getParagraphsList()) {
                        String paraText = "";
                        for (Word word : para.getWordsList()) {
                            String wordText = "";
                            for (Symbol symbol : word.getSymbolsList()) {
                                wordText = wordText + symbol.getText();
                                out.format("Symbol text: %s (confidence: %f)\n", symbol.getText(), symbol.getConfidence());
                            }
                            out.format("Word text: %s (confidence: %f)\n\n", wordText, word.getConfidence());
                            paraText = String.format("%s %s", paraText, wordText);
                        }
                        // Output Example using Paragraph:
                        out.println("\nParagraph: \n" + paraText);
                        out.format("Paragraph Confidence: %f\n", para.getConfidence());
                        blockText = blockText + paraText;
                    }
                    pageText = pageText + blockText;
                }
            }
            out.println("\nComplete annotation:");
            out.println(annotation.getText());
        }
    }
}
Also used : Word(com.google.cloud.vision.v1.Word) ByteString(com.google.protobuf.ByteString) Symbol(com.google.cloud.vision.v1.Symbol) ImageAnnotatorClient(com.google.cloud.vision.v1.ImageAnnotatorClient) ArrayList(java.util.ArrayList) WebPage(com.google.cloud.vision.v1.WebDetection.WebPage) Page(com.google.cloud.vision.v1.Page) ByteString(com.google.protobuf.ByteString) WebImage(com.google.cloud.vision.v1.WebDetection.WebImage) Image(com.google.cloud.vision.v1.Image) Feature(com.google.cloud.vision.v1.Feature) FileInputStream(java.io.FileInputStream) Paragraph(com.google.cloud.vision.v1.Paragraph) AnnotateImageRequest(com.google.cloud.vision.v1.AnnotateImageRequest) AnnotateImageResponse(com.google.cloud.vision.v1.AnnotateImageResponse) Block(com.google.cloud.vision.v1.Block) TextAnnotation(com.google.cloud.vision.v1.TextAnnotation) BatchAnnotateImagesResponse(com.google.cloud.vision.v1.BatchAnnotateImagesResponse)

Example 3 with Block

use of net.minecraft.server.v1_13_R2.Block in project java-docs-samples by GoogleCloudPlatform.

the class Detect method detectDocumentTextGcs.

// [END vision_detect_document]
// [START vision_detect_document_uri]
/**
 * Performs document text detection on a remote image on Google Cloud Storage.
 *
 * @param gcsPath The path to the remote file on Google Cloud Storage to detect document text on.
 * @param out A {@link PrintStream} to write the results to.
 * @throws Exception on errors while closing the client.
 * @throws IOException on Input/Output errors.
 */
public static void detectDocumentTextGcs(String gcsPath, PrintStream out) throws Exception, IOException {
    List<AnnotateImageRequest> requests = new ArrayList<>();
    ImageSource imgSource = ImageSource.newBuilder().setGcsImageUri(gcsPath).build();
    Image img = Image.newBuilder().setSource(imgSource).build();
    Feature feat = Feature.newBuilder().setType(Type.DOCUMENT_TEXT_DETECTION).build();
    AnnotateImageRequest request = AnnotateImageRequest.newBuilder().addFeatures(feat).setImage(img).build();
    requests.add(request);
    try (ImageAnnotatorClient client = ImageAnnotatorClient.create()) {
        BatchAnnotateImagesResponse response = client.batchAnnotateImages(requests);
        List<AnnotateImageResponse> responses = response.getResponsesList();
        client.close();
        for (AnnotateImageResponse res : responses) {
            if (res.hasError()) {
                out.printf("Error: %s\n", res.getError().getMessage());
                return;
            }
            // For full list of available annotations, see http://g.co/cloud/vision/docs
            TextAnnotation annotation = res.getFullTextAnnotation();
            for (Page page : annotation.getPagesList()) {
                String pageText = "";
                for (Block block : page.getBlocksList()) {
                    String blockText = "";
                    for (Paragraph para : block.getParagraphsList()) {
                        String paraText = "";
                        for (Word word : para.getWordsList()) {
                            String wordText = "";
                            for (Symbol symbol : word.getSymbolsList()) {
                                wordText = wordText + symbol.getText();
                                out.format("Symbol text: %s (confidence: %f)\n", symbol.getText(), symbol.getConfidence());
                            }
                            out.format("Word text: %s (confidence: %f)\n\n", wordText, word.getConfidence());
                            paraText = String.format("%s %s", paraText, wordText);
                        }
                        // Output Example using Paragraph:
                        out.println("\nParagraph: \n" + paraText);
                        out.format("Paragraph Confidence: %f\n", para.getConfidence());
                        blockText = blockText + paraText;
                    }
                    pageText = pageText + blockText;
                }
            }
            out.println("\nComplete annotation:");
            out.println(annotation.getText());
        }
    }
}
Also used : Word(com.google.cloud.vision.v1.Word) Symbol(com.google.cloud.vision.v1.Symbol) ImageAnnotatorClient(com.google.cloud.vision.v1.ImageAnnotatorClient) ArrayList(java.util.ArrayList) WebPage(com.google.cloud.vision.v1.WebDetection.WebPage) Page(com.google.cloud.vision.v1.Page) ByteString(com.google.protobuf.ByteString) WebImage(com.google.cloud.vision.v1.WebDetection.WebImage) Image(com.google.cloud.vision.v1.Image) Feature(com.google.cloud.vision.v1.Feature) Paragraph(com.google.cloud.vision.v1.Paragraph) AnnotateImageRequest(com.google.cloud.vision.v1.AnnotateImageRequest) AnnotateImageResponse(com.google.cloud.vision.v1.AnnotateImageResponse) Block(com.google.cloud.vision.v1.Block) ImageSource(com.google.cloud.vision.v1.ImageSource) TextAnnotation(com.google.cloud.vision.v1.TextAnnotation) BatchAnnotateImagesResponse(com.google.cloud.vision.v1.BatchAnnotateImagesResponse)

Example 4 with Block

use of net.minecraft.server.v1_13_R2.Block in project DragonsOnline by UniverseCraft.

the class AntiCheatCommand method onCommand.

public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    if (label.equalsIgnoreCase("acping")) {
        if (!requirePermission(sender, PermissionLevel.MODERATOR))
            return true;
        if (args.length == 0) {
            sender.sendMessage(ChatColor.RED + "/acping <player>");
            return true;
        }
        Player target = lookupPlayer(sender, args[0]);
        if (target == null)
            return true;
        sender.sendMessage(ChatColor.GREEN + "Ping of " + target.getName() + " is " + plugin.getCombatRewinder().getInstantaneousPing(target) + "ms (Bukkit: " + plugin.getDragonsInstance().getBridge().getPing(target) + "ms)");
        return true;
    } else if (label.equalsIgnoreCase("acpps")) {
        if (!requirePermission(sender, PermissionLevel.MODERATOR))
            return true;
        if (args.length == 0) {
            sender.sendMessage(ChatColor.RED + "/acpps <player>");
            return true;
        }
        Player target = lookupPlayer(sender, args[0]);
        FastPackets check = plugin.getCheckRegistry().getCheckByClass(FastPackets.class);
        sender.sendMessage(ChatColor.GREEN + "Current PPS of " + target.getName() + " is " + MathUtil.round(check.getPPS(target)) + " (" + plugin.getCombatRewinder().getInstantaneousPing(target) + "ms i, " + plugin.getDragonsInstance().getBridge().getPing(target) + "ms b)");
        return true;
    }
    if (!requirePermission(sender, PermissionLevel.DEVELOPER))
        return true;
    Player player = player(sender);
    if (label.equalsIgnoreCase("acdebug")) {
        plugin.setDebug(!plugin.isDebug());
        if (plugin.isDebug()) {
            sender.sendMessage(ChatColor.GREEN + "Now debugging anticheat");
        } else {
            sender.sendMessage(ChatColor.GREEN + "No longer debugging anticheat");
        }
        return true;
    } else if (label.equalsIgnoreCase("acdump")) {
        if (args.length == 0) {
            sender.sendMessage(ChatColor.RED + "/acdump <Player>");
            return true;
        }
        User target = lookupUser(sender, args[0]);
        sender.sendMessage("CHECK - CATEGORY - VL");
        for (Check check : plugin.getCheckRegistry().getChecks()) {
            ViolationData violationData = ViolationData.of(check, target);
            sender.sendMessage(check.getName() + " - " + check.getType() + " - " + MathUtil.round(violationData.vl));
        }
    } else if (label.equalsIgnoreCase("acresetplayer")) {
        if (args.length == 0) {
            sender.sendMessage(ChatColor.RED + "/acresetplayer <Player>");
            return true;
        }
        User target = lookupUser(sender, args[0]);
        for (Check check : plugin.getCheckRegistry().getChecks()) {
            ViolationData violationData = ViolationData.of(check, target);
            violationData.vl = 0;
        }
        MoveData moveData = MoveData.of(target);
        moveData.lastRubberband = 0L;
        moveData.lastValidLocation = target.getPlayer().getLocation();
        moveData.validMoves = MoveData.MIN_VALID_MOVES_TO_SET_VALID_LOCATION;
        sender.sendMessage("Reset check data for " + target.getName());
    } else if (label.equalsIgnoreCase("acflushlog")) {
        plugin.getTestingMoveListener().dumpLog();
        plugin.getTestingMoveListener().disableLog();
        sender.sendMessage(ChatColor.GREEN + "Dumped log to console and cleared");
        return true;
    } else if (label.equalsIgnoreCase("acstartlog")) {
        plugin.getTestingMoveListener().clearLog();
        plugin.getTestingMoveListener().enableLog();
        return true;
    } else if (label.equalsIgnoreCase("acblockdata")) {
        IBlockData blockData = ((CraftWorld) player.getWorld()).getHandle().getType(new BlockPosition(player.getLocation().getBlockX(), player.getLocation().getBlockY() - 1, player.getLocation().getBlockZ()));
        Block nmsBlock = blockData.getBlock();
        sender.sendMessage("nmsBlock=" + nmsBlock);
        float ff = nmsBlock.getFrictionFactor();
        sender.sendMessage("frictionFactor=" + ff);
        // ?
        ff *= 0.91;
        sender.sendMessage("*multiplier=" + 0.1 * (0.1627714 / (ff * ff * ff)));
        sender.sendMessage("*a=" + ff);
        sender.sendMessage("calculated onGround=" + ACUtil.isOnGround(player));
        return true;
    } else if (label.equalsIgnoreCase("acban")) {
        if (!requirePermission(sender, SystemProfileFlag.MODERATION))
            return true;
        if (args.length == 0) {
            sender.sendMessage(ChatColor.RED + "/acban <player> [internal info]");
            return true;
        }
        User target = lookupUser(sender, args[0]);
        String info = StringUtil.concatArgs(args, 1);
        if (target == null)
            return true;
        Report report = reportLoader.fileInternalReport(target, new Document("type", "ac_ban").append("info", info));
        report.addNote("Action automatically taken on this report");
        report.setStatus(ReportStatus.ACTION_TAKEN);
        WrappedUser.of(target).punish(PunishmentType.BAN, PunishmentCode.AC_BAN, PunishmentCode.AC_BAN.getStandingLevel(), "ID " + report.getId(), user(sender));
        sender.sendMessage(ChatColor.GREEN + "Anticheat ban executed successfully. Correlated Report ID: " + report.getId());
    } else if (label.equalsIgnoreCase("ackick")) {
        if (!requirePermission(sender, SystemProfileFlag.MODERATION))
            return true;
        if (args.length == 0) {
            sender.sendMessage(ChatColor.RED + "/ackick <player>");
            return true;
        }
        User target = lookupUser(sender, args[0]);
        if (target == null)
            return true;
        WrappedUser.of(target).punish(PunishmentType.KICK, PunishmentCode.CHEATING_WARNING, 0, null, null);
        sender.sendMessage(ChatColor.GREEN + "Kicked " + target.getName() + " for illegal client modifications");
    } else if (label.equalsIgnoreCase("acspoofping")) {
        if (args.length == 0) {
            sender.sendMessage(ChatColor.RED + "/acspoofping <value|off>");
            return true;
        }
        if (args[0].equalsIgnoreCase("off")) {
            plugin.getCombatRewinder().debug_pingSpoof.remove(player);
            sender.sendMessage(ChatColor.GREEN + "Stopped spoofing your ping.");
        } else {
            plugin.getCombatRewinder().debug_pingSpoof.put(player, (long) parseInt(player, args[0]));
            sender.sendMessage(ChatColor.GREEN + "Began spoofing your anticheat ping to " + args[0] + "ms");
        }
    } else if (label.equalsIgnoreCase("acraytol")) {
        if (args.length == 0) {
            sender.sendMessage(ChatColor.RED + "/acraytol <tolerance>");
            return true;
        }
        Double tol = parseDouble(sender, args[0]);
        if (tol == null)
            return true;
        plugin.getCombatRewinder().rayTraceTolerance = tol;
        sender.sendMessage(ChatColor.GREEN + "Set combat rewind ray tracing tolerance to +/- " + args[0] + " blocks");
    } else if (label.equalsIgnoreCase("acstatus")) {
        for (Check check : plugin.getCheckRegistry().getChecks()) {
            sender.sendMessage((check.isEnabled() ? ChatColor.DARK_GREEN : ChatColor.RED) + check.getName() + (check.isEnabled() ? "(Enabled)" : "(Disabled)"));
        }
    } else if (label.equalsIgnoreCase("actoggle")) {
        // If all checks are inactive, make them all active
        if (args.length == 0) {
            if (plugin.getCheckRegistry().getChecks().stream().filter(c -> c.isEnabled()).count() > 0) {
                plugin.getCheckRegistry().getChecks().forEach(c -> c.setEnabled(false));
                sender.sendMessage(ChatColor.GREEN + "Disabled all checks.");
            } else {
                plugin.getCheckRegistry().getChecks().forEach(c -> c.setEnabled(true));
                sender.sendMessage(ChatColor.GREEN + "Enabled all checks.");
            }
        } else {
            Check check = plugin.getCheckRegistry().getCheckByName(args[0]);
            if (check == null) {
                sender.sendMessage(ChatColor.RED + "No check by that name exists! /acstatus");
                return true;
            }
            check.setEnabled(!check.isEnabled());
            sender.sendMessage(ChatColor.GREEN + (check.isEnabled() ? "Enabled" : "Disabled") + " check " + check.getName());
        }
    } else if (label.equalsIgnoreCase("achitstats")) {
        Map<Player, Boolean> toggle = plugin.getCombatRewinder().debug_hitStats;
        toggle.put(player, !toggle.getOrDefault(player, false));
        sender.sendMessage(ChatColor.GREEN + "Toggled hit rejection stats in action bar");
    } else if (label.equalsIgnoreCase("acresethitstats")) {
        plugin.getCombatRewinder().debug_hitCount.remove(player);
        plugin.getCombatRewinder().debug_rejectedCount.remove(player);
        sender.sendMessage(ChatColor.GREEN + "Reset your hit rejection stats");
    } else {
        sender.sendMessage(ChatColor.GREEN + "Dragons Online custom anti-cheat (ALPHA)");
    }
    return true;
}
Also used : Document(org.bson.Document) ReportLoader(mc.dragons.tools.moderation.report.ReportLoader) Block(net.minecraft.server.v1_16_R3.Block) IBlockData(net.minecraft.server.v1_16_R3.IBlockData) FastPackets(mc.dragons.anticheat.check.move.FastPackets) User(mc.dragons.core.gameobject.user.User) Player(org.bukkit.entity.Player) DragonsAntiCheat(mc.dragons.anticheat.DragonsAntiCheat) Report(mc.dragons.tools.moderation.report.ReportLoader.Report) DragonsCommandExecutor(mc.dragons.core.commands.DragonsCommandExecutor) PermissionLevel(mc.dragons.core.gameobject.user.permission.PermissionLevel) ReportStatus(mc.dragons.tools.moderation.report.ReportLoader.ReportStatus) MoveData(mc.dragons.anticheat.check.move.MoveData) Map(java.util.Map) WrappedUser(mc.dragons.tools.moderation.WrappedUser) PunishmentType(mc.dragons.tools.moderation.punishment.PunishmentType) StringUtil(mc.dragons.core.util.StringUtil) CommandSender(org.bukkit.command.CommandSender) ViolationData(mc.dragons.anticheat.check.ViolationData) CraftWorld(org.bukkit.craftbukkit.v1_16_R3.CraftWorld) SystemProfileFlag(mc.dragons.core.gameobject.user.permission.SystemProfile.SystemProfileFlags.SystemProfileFlag) BlockPosition(net.minecraft.server.v1_16_R3.BlockPosition) Check(mc.dragons.anticheat.check.Check) ChatColor(org.bukkit.ChatColor) Command(org.bukkit.command.Command) ACUtil(mc.dragons.anticheat.util.ACUtil) MathUtil(mc.dragons.core.util.MathUtil) PunishmentCode(mc.dragons.tools.moderation.punishment.PunishmentCode) Player(org.bukkit.entity.Player) MoveData(mc.dragons.anticheat.check.move.MoveData) User(mc.dragons.core.gameobject.user.User) WrappedUser(mc.dragons.tools.moderation.WrappedUser) Report(mc.dragons.tools.moderation.report.ReportLoader.Report) BlockPosition(net.minecraft.server.v1_16_R3.BlockPosition) Check(mc.dragons.anticheat.check.Check) ViolationData(mc.dragons.anticheat.check.ViolationData) Document(org.bson.Document) FastPackets(mc.dragons.anticheat.check.move.FastPackets) IBlockData(net.minecraft.server.v1_16_R3.IBlockData) Block(net.minecraft.server.v1_16_R3.Block) CraftWorld(org.bukkit.craftbukkit.v1_16_R3.CraftWorld)

Example 5 with Block

use of net.minecraft.server.v1_13_R2.Block in project dynmap by webbukkit.

the class BukkitVersionHelperSpigot115 method initializeBlockStates.

/**
 * Initialize block states (org.dynmap.blockstate.DynmapBlockState)
 */
@Override
public void initializeBlockStates() {
    dataToState = new IdentityHashMap<IBlockData, DynmapBlockState>();
    HashMap<String, DynmapBlockState> lastBlockState = new HashMap<String, DynmapBlockState>();
    int cnt = Block.REGISTRY_ID.a();
    DynmapBlockState.Builder bld = new DynmapBlockState.Builder();
    // Loop through block data states
    for (int i = 0; i < cnt; i++) {
        IBlockData bd = Block.getByCombinedId(i);
        Block b = bd.getBlock();
        String bname = IRegistry.BLOCK.getKey(bd.getBlock()).toString();
        // See if we have seen this one
        DynmapBlockState lastbs = lastBlockState.get(bname);
        int idx = 0;
        if (lastbs != null) {
            // Yes
            // Get number of states so far, since this is next
            idx = lastbs.getStateCount();
        }
        // Build state name
        String sb = "";
        String fname = bd.toString();
        int off1 = fname.indexOf('[');
        if (off1 >= 0) {
            int off2 = fname.indexOf(']');
            sb = fname.substring(off1 + 1, off2);
        }
        Material mat = bd.getMaterial();
        // getLightBlock
        int lightAtten = b.l(bd, BlockAccessAir.INSTANCE, BlockPosition.ZERO);
        // Log.info("statename=" + bname + "[" + sb + "], lightAtten=" + lightAtten);
        // Fill in base attributes
        bld.setBaseState(lastbs).setStateIndex(idx).setBlockName(bname).setStateName(sb).setMaterial(mat.toString()).setAttenuatesLight(lightAtten);
        if (mat.isSolid()) {
            bld.setSolid();
        }
        if (mat == Material.AIR) {
            bld.setAir();
        }
        if ((bd.getBlock() instanceof BlockRotatable) && (bd.getMaterial() == Material.WOOD)) {
            bld.setLog();
        }
        if (mat == Material.LEAVES) {
            bld.setLeaves();
        }
        if ((!bd.getFluid().isEmpty()) && ((bd.getBlock() instanceof BlockFluids) == false)) {
            // Test if fluid type for block is not empty
            bld.setWaterlogged();
        }
        // Build state
        DynmapBlockState dbs = bld.build();
        dataToState.put(bd, dbs);
        lastBlockState.put(bname, (lastbs == null) ? dbs : lastbs);
        Log.verboseinfo("blk=" + bname + ", idx=" + idx + ", state=" + sb + ", waterlogged=" + dbs.isWaterlogged());
    }
}
Also used : BlockRotatable(net.minecraft.server.v1_15_R1.BlockRotatable) HashMap(java.util.HashMap) IdentityHashMap(java.util.IdentityHashMap) DynmapBlockState(org.dynmap.renderer.DynmapBlockState) Material(net.minecraft.server.v1_15_R1.Material) IBlockData(net.minecraft.server.v1_15_R1.IBlockData) Block(net.minecraft.server.v1_15_R1.Block) BlockFluids(net.minecraft.server.v1_15_R1.BlockFluids)

Aggregations

ArrayList (java.util.ArrayList)10 Block (net.minecraft.server.v1_12_R1.Block)9 ByteString (com.google.protobuf.ByteString)8 Block (net.minecraft.server.v1_10_R1.Block)8 Block (net.minecraft.server.v1_11_R1.Block)8 BlockPosition (net.minecraft.server.v1_12_R1.BlockPosition)8 Block (net.minecraft.server.v1_8_R3.Block)8 FallingBlock (org.bukkit.entity.FallingBlock)8 HashMap (java.util.HashMap)7 BlockPosition (net.minecraft.server.v1_10_R1.BlockPosition)7 BlockPosition (net.minecraft.server.v1_11_R1.BlockPosition)7 AnnotateImageResponse (com.google.cloud.vision.v1.AnnotateImageResponse)6 Block (com.google.cloud.vision.v1.Block)6 Feature (com.google.cloud.vision.v1.Feature)6 ImageAnnotatorClient (com.google.cloud.vision.v1.ImageAnnotatorClient)6 Page (com.google.cloud.vision.v1.Page)6 Paragraph (com.google.cloud.vision.v1.Paragraph)6 Symbol (com.google.cloud.vision.v1.Symbol)6 Word (com.google.cloud.vision.v1.Word)6 IdentityHashMap (java.util.IdentityHashMap)5