001/* 002 * This file is part of Baritone. 003 * 004 * Baritone is free software: you can redistribute it and/or modify 005 * it under the terms of the GNU Lesser General Public License as published by 006 * the Free Software Foundation, either version 3 of the License, or 007 * (at your option) any later version. 008 * 009 * Baritone is distributed in the hope that it will be useful, 010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 012 * GNU Lesser General Public License for more details. 013 * 014 * You should have received a copy of the GNU Lesser General Public License 015 * along with Baritone. If not, see <https://www.gnu.org/licenses/>. 016 */ 017 018package baritone.api.cache; 019 020/** 021 * @author Brady 022 * @since 9/24/2018 023 */ 024public interface ICachedRegion extends IBlockTypeAccess { 025 026 /** 027 * Returns whether or not the block at the specified X and Z coordinates 028 * is cached in this world. Similar to {@link ICachedWorld#isCached(int, int)}, 029 * however, the block coordinates should in on a scale from 0 to 511 (inclusive) 030 * because region sizes are 512x512 blocks. 031 * 032 * @param blockX The block X coordinate 033 * @param blockZ The block Z coordinate 034 * @return Whether or not the specified XZ location is cached 035 * @see ICachedWorld#isCached(int, int) 036 */ 037 boolean isCached(int blockX, int blockZ); 038 039 /** 040 * @return The X coordinate of this region 041 */ 042 int getX(); 043 044 /** 045 * @return The Z coordinate of this region 046 */ 047 int getZ(); 048}