package projectzombie.world.chunk;

import java.nio.FloatBuffer;
import java.util.ArrayList;
import java.util.Random;

import bdf.types.BdfObject;
import gl_engine.vec.Vec2d;
import gl_engine.vec.Vec2i;
import projectzombie.display.Camera;
import projectzombie.entity.Entity;
import projectzombie.entity.tileentity.TileEntity;
import projectzombie.util.TileState;

public class ChunkEmpty extends Chunk
{
	public ChunkEmpty() {
		super(null, null, (Random)null);
	}
	
	@Override
	public void BdfClassLoad(BdfObject bdf) {
	}
	
	@Override
	public void BdfClassSave(BdfObject bdf) {
	}
	
	@Override
	public int getParticlePoolSize() {
		return 0;
	}
	
	@Override
	public int getParticlePoolSize(Object[] entities) {
		return 0;
	}
	
	@Override
	public int render(Camera camera, FloatBuffer particle_pool, int upto) {
		return upto;
	}
	
	@Override
	public void tickEntities() {}
	
	@Override
	public void spawnEntity(Entity e) {}
	
	@Override
	public TileState getBackTile(Vec2i pos) {
		return TileState.EMPTY;
	}
	
	@Override
	public TileState getFrontTile(Vec2i pos) {
		return TileState.EMPTY;
	}
	
	@Override
	public void setBackTile(TileState tile, Vec2i pos) {}
	
	@Override
	public void setFrontTile(TileState tile, Vec2i pos) {}
	
	@Override
	public void checkEntities() {}
	
	@Override
	public ArrayList<Entity> getNearbyEntities(Vec2d pos, double distance) {
		return new ArrayList<Entity>();
	}
	
	@Override
	public void killEntity(Entity e) {
	}
	
	@Override
	public void breakBackTile(Vec2i pos) {
	}
	
	@Override
	public void breakFrontTile(Vec2i pos) {
	}
	
	@Override
	public TileState getBackTile(int id) {
		return TileState.EMPTY;
	}
	
	@Override
	public TileState getFrontTile(int id) {
		return TileState.EMPTY;
	}
	
	@Override
	public double getLightLevel(int id) {
		return 0;
	}
	
	@Override
	public double getLightLevel(Vec2i pos) {
		return 0;
	}
	
	@Override
	public void setLightLevel(double light, int id) {
	}
	
	@Override
	public void setLightLevel(double light, Vec2i pos) {
	}
	
	@Override
	public void setBackTile(TileState tile, int id) {
	}
	
	@Override
	public void setFrontTile(TileState tile, int id) {
	}
	
	@Override
	public boolean isLightDirty() {
		return false;
	}
	
	@Override
	public void resetLightDirty() {
	}
	
	@Override
	public void tickRandomly() {
	}
	
	@Override
	public double getHumidity(int id) {
		return 0;
	}
	
	@Override
	public double getHumidity(Vec2i pos) {
		return 0;
	}
	
	@Override
	public double getTemperature(int id) {
		return 0;
	}
	
	@Override
	public void createTileEntity(Vec2i pos, TileEntity te) {
	}
	
	@Override
	public void destroyTileEntity(Vec2i pos) {
	}
	
	@Override
	public double getTemperature(Vec2i pos) {
		return 0;
	}
	
	@Override
	public void setHumidity(int id, double v) {
	}
	
	@Override
	public void setHumidity(Vec2i pos, double v) {
	}
	
	@Override
	public void setTemperature(int id, double v) {
	}
	
	@Override
	public TileEntity getTileEntity(Vec2i pos) {
		return null;
	}
	
	@Override
	public void setTemperature(Vec2i pos, double v) {
	}
	
	@Override
	public void clearDirty() {
	}
	
	@Override
	public boolean isDirty() {
		return false;
	}
	
	@Override
	public void free() {
	}
}
