/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.pepsoft.minecraft; import java.awt.Point; import java.util.List; /** * * @author pepijn */ public interface Chunk extends NBTItem { int getBlockLightLevel(int x, int y, int z); void setBlockLightLevel(int x, int y, int z, int blockLightLevel); int getBlockType(int x, int y, int z); void setBlockType(int x, int y, int z, int blockType); int getDataValue(int x, int y, int z); void setDataValue(int x, int y, int z, int dataValue); int getHeight(int x, int z); void setHeight(int x, int z, int height); int getSkyLightLevel(int x, int y, int z); void setSkyLightLevel(int x, int y, int z, int skyLightLevel); int getxPos(); int getzPos(); Point getCoords(); boolean isTerrainPopulated(); void setTerrainPopulated(boolean terrainPopulated); Material getMaterial(int x, int y, int z); void setMaterial(int x, int y, int z, Material material); List<Entity> getEntities(); List<TileEntity> getTileEntities(); int getMaxHeight(); boolean isBiomesAvailable(); int getBiome(int x, int z); void setBiome(int x, int z, int biome); boolean isReadOnly(); boolean isLightPopulated(); void setLightPopulated(boolean lightPopulated); long getInhabitedTime(); void setInhabitedTime(long inhabitedTime); /** * Get the Y coordinate of the highest non-air (block ID zero, any data * value) block in a specific column. * * @param x The X coordinate of the column relative to the chunk. * @param z The Z coordinate of the column relative to the chunk. * @return The Y coordinate of the highest non-air (block ID zero, any data * value) block in the specified column or <code>-1</code> if the column * is empty. */ int getHighestNonAirBlock(int x, int z); /** * Get the Y coordinate of the highest non-air (block ID zero, any data * value) block in the chunk. * * @return The Y coordinate of the highest non-air (block ID zero, any data * value) block in the chunk or <code>-1</code> if the chunk is empty. */ int getHighestNonAirBlock(); }