package org.dynmap.hdmap; import java.util.List; import org.dynmap.DynmapChunk; import org.dynmap.DynmapWorld; import org.dynmap.MapTile; import org.dynmap.utils.MapChunkCache; import org.dynmap.utils.TileFlags; import org.dynmap.utils.Vector3D; import org.json.simple.JSONObject; public interface HDPerspective { /* Get name of perspective */ String getName(); /* Get tiles invalidated by change at given location */ List getTileCoords(DynmapWorld w, int x, int y, int z, int tilescale); /* Get tiles invalidated by change at given volume, defined by 2 opposite corner locations */ List getTileCoords(DynmapWorld w, int minx, int miny, int minz, int maxx, int maxy, int maxz, int tilescale); /* Get tiles adjacent to given tile */ MapTile[] getAdjecentTiles(MapTile tile); /* Get chunks needed for given tile */ List getRequiredChunks(MapTile tile); /* Render given tile */ boolean render(MapChunkCache cache, HDMapTile tile, String mapname); public boolean isBiomeDataNeeded(); public boolean isHightestBlockYDataNeeded(); public boolean isRawBiomeDataNeeded(); public boolean isBlockTypeDataNeeded(); double getScale(); int getModelScale(); public void addClientConfiguration(JSONObject mapObject); public void transformWorldToMapCoord(Vector3D input, Vector3D rslt); public int hashCode(); }