43 lines
1.7 KiB
Java
43 lines
1.7 KiB
Java
package amidst.mojangapi.minecraftinterface;
|
|
|
|
import amidst.documentation.ThreadSafe;
|
|
import amidst.mojangapi.world.WorldType;
|
|
|
|
/**
|
|
* Acts as an additional layer of abstraction for interfacing with Minecraft.
|
|
* This allows for other sources of data other than direct reflection against a
|
|
* loaded jar of Minecraft.
|
|
*
|
|
* Implementing classes need to be thread-safe!
|
|
*
|
|
* One minecraft interface can only handle one world at a time.
|
|
*/
|
|
@ThreadSafe
|
|
public interface MinecraftInterface {
|
|
/**
|
|
* @param useQuarterResolution
|
|
* Minecraft calculates biomes at quarter-resolution, then
|
|
* noisily interpolates the biome-map up to 1:1 resolution when
|
|
* needed, set useQuarterResolutionMap to true to read from the
|
|
* quarter-resolution map, or false to read values that have been
|
|
* interpolated up to full resolution.
|
|
*
|
|
* When useQuarterResolution is true, the x, y, width, and height
|
|
* paramaters must all correspond to a quarter of the Minecraft
|
|
* block coordinates/sizes you wish to obtain the biome data for.
|
|
*
|
|
* Amidst displays the quarter-resolution biome map, however full
|
|
* resolution is required to determine the position and nature of
|
|
* structures, as the noisy interpolation can change which biome
|
|
* a structure is located in (if the structure is located on a
|
|
* biome boundary).
|
|
*/
|
|
public int[] getBiomeData(int x, int y, int width, int height,
|
|
boolean useQuarterResolution) throws MinecraftInterfaceException;
|
|
|
|
public void createWorld(long seed, WorldType worldType,
|
|
String generatorOptions) throws MinecraftInterfaceException;
|
|
|
|
public RecognisedVersion getRecognisedVersion();
|
|
}
|