package com.bergerkiller.bukkit.common.proxies;
import java.util.List;
import net.minecraft.server.Chunk;
import net.minecraft.server.ChunkPosition;
import net.minecraft.server.ChunkProviderServer;
import net.minecraft.server.EnumCreatureType;
import net.minecraft.server.IChunkLoader;
import net.minecraft.server.IChunkProvider;
import net.minecraft.server.IProgressUpdate;
import net.minecraft.server.World;
import net.minecraft.server.WorldServer;
/**
* A chunk provider server proxy class.
* To call methods in the base class, call the regular methods.
* To call methods from the current implementation, call the super_ methods.
*/
public class ChunkProviderServerProxy extends ChunkProviderServer implements Proxy<Object> {
private ChunkProviderServer base;
static {
ProxyBase.validate(ChunkProviderServerProxy.class);
}
public ChunkProviderServerProxy(Object worldServer, Object iChunkLoader, Object iChunkProvider, Object base) {
super((WorldServer) worldServer, (IChunkLoader) iChunkLoader, (IChunkProvider) iChunkProvider);
setProxyBase(base);
}
@Override
public Object getProxyBase() {
return base;
}
@Override
public void setProxyBase(Object chunkProviderServer) {
base = (ChunkProviderServer) chunkProviderServer;
}
@Override
public void b() {
base.b();
}
public void super_b() {
super.b();
}
@Override
public boolean canSave() {
return base.canSave();
}
public boolean super_canSave() {
return super.canSave();
}
@Override
public ChunkPosition findNearestMapFeature(World world, String s, int i, int j, int k) {
return base.findNearestMapFeature(world, s, i, j, k);
}
public ChunkPosition super_findNearestMapFeature(World world, String s, int i, int j, int k) {
return super.findNearestMapFeature(world, s, i, j, k);
}
@Override
public void getChunkAt(IChunkProvider arg0, int arg1, int arg2) {
base.getChunkAt(arg0, arg1, arg2);
}
public void super_getChunkAt(IChunkProvider arg0, int arg1, int arg2) {
super.getChunkAt(arg0, arg1, arg2);
}
@Override
public Chunk getChunkAt(int x, int z, Runnable task) {
return base.getChunkAt(x, z, task);
}
public Chunk super_getChunkAt(int x, int z, Runnable task) {
return super.getChunkAt(x, z, task);
}
@Override
public Chunk getChunkAt(int x, int z) {
return base.getChunkAt(x, z);
}
public Chunk super_getChunkAt(int x, int z) {
return super.getChunkAt(x, z);
}
@Override
public int getLoadedChunks() {
return base.getLoadedChunks();
}
public int super_getLoadedChunks() {
return super.getLoadedChunks();
}
@Override
@SuppressWarnings("rawtypes")
public List getMobsFor(EnumCreatureType enumcreaturetype, int i, int j, int k) {
return base.getMobsFor(enumcreaturetype, i, j, k);
}
@SuppressWarnings("rawtypes")
public List super_getMobsFor(EnumCreatureType enumcreaturetype, int i, int j, int k) {
return super.getMobsFor(enumcreaturetype, i, j, k);
}
@Override
public String getName() {
return base.getName();
}
public String super_getName() {
return super.getName();
}
@Override
public Chunk getOrCreateChunk(int x, int z) {
return base.getOrCreateChunk(x, z);
}
public Chunk super_getOrCreateChunk(int x, int z) {
return super.getOrCreateChunk(x, z);
}
@Override
public boolean isChunkLoaded(int x, int z) {
return base.isChunkLoaded(x, z);
}
public boolean super_isChunkLoaded(int x, int z) {
return super.isChunkLoaded(x, z);
}
@Override
public Chunk loadChunk(int x, int z) {
return base.loadChunk(x, z);
}
public Chunk super_loadChunk(int x, int z) {
return super.loadChunk(x, z);
}
@Override
public void queueUnload(int x, int z) {
base.queueUnload(x, z);
}
public void super_queueUnload(int x, int z) {
super.queueUnload(x, z);
}
@Override
public void recreateStructures(int x, int z) {
base.recreateStructures(x, z);
}
public void super_recreateStructures(int x, int z) {
super.recreateStructures(x, z);
}
@Override
public void saveChunk(Chunk chunk) {
base.saveChunk(chunk);
}
public void super_saveChunk(Chunk chunk) {
super.saveChunk(chunk);
}
@Override
public void saveChunkNOP(Chunk chunk) {
base.saveChunkNOP(chunk);
}
public void super_saveChunkNOP(Chunk chunk) {
super.saveChunkNOP(chunk);
}
@Override
public boolean saveChunks(boolean arg0, IProgressUpdate arg1) {
return base.saveChunks(arg0, arg1);
}
public boolean super_saveChunks(boolean arg0, IProgressUpdate arg1) {
return super.saveChunks(arg0, arg1);
}
@Override
public boolean unloadChunks() {
return base.unloadChunks();
}
public boolean super_unloadChunks() {
return super.unloadChunks();
}
}