package gregtech.common; import java.io.File; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.profiler.Profiler; import net.minecraft.world.World; import net.minecraft.world.WorldProvider; import net.minecraft.world.WorldSettings; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.chunk.storage.IChunkLoader; import net.minecraft.world.storage.IPlayerFileData; import net.minecraft.world.storage.ISaveHandler; import net.minecraft.world.storage.WorldInfo; public class GT_DummyWorld extends World { public GT_IteratorRandom mRandom = new GT_IteratorRandom(); public ItemStack mLastSetBlock = null; public GT_DummyWorld(ISaveHandler saveHandler, String name, WorldProvider worldProvider, WorldSettings worldSettings, Profiler profiler) { super(saveHandler, name, worldSettings, worldProvider, profiler); this.rand = this.mRandom; } public GT_DummyWorld() { this(new ISaveHandler() { @Override public void saveWorldInfoWithPlayer(WorldInfo worldInfo, NBTTagCompound nbtTagCompound) {} @Override public void saveWorldInfo(WorldInfo worldInfo) {} @Override public WorldInfo loadWorldInfo() { return null; } @Override public IPlayerFileData getSaveHandler() { return null; } @Override public File getMapFileFromName(String mapName) { return null; } @Override public IChunkLoader getChunkLoader(WorldProvider worldProvider) { return null; } @Override public void flush() {} @Override public void checkSessionLock() {} @Override public String getWorldDirectoryName() { return null; } @Override public File getWorldDirectory() { return null; } }, "DUMMY_DIMENSION", null, new WorldSettings(new WorldInfo(new NBTTagCompound())), new Profiler()); } @Override protected IChunkProvider createChunkProvider() { return null; } @Override public Entity getEntityByID(int aEntityID) { return null; } @Override public boolean setBlock(int aX, int aY, int aZ, Block aBlock, int aMeta, int aFlags) { this.mLastSetBlock = new ItemStack(aBlock, 1, aMeta); return true; } @Override public float getSunBrightnessFactor(float p_72967_1_) { return 1.0F; } @Override public BiomeGenBase getBiomeGenForCoords(int aX, int aZ) { if ((aX >= 16) && (aZ >= 16) && (aX < 32) && (aZ < 32)) { return BiomeGenBase.plains; } return BiomeGenBase.ocean; } @Override public int getFullBlockLightValue(int aX, int aY, int aZ) { return 10; } @Override public Block getBlock(int aX, int aY, int aZ) { if ((aX >= 16) && (aZ >= 16) && (aX < 32) && (aZ < 32)) { return aY == 64 ? Blocks.grass : Blocks.air; } return Blocks.air; } @Override public int getBlockMetadata(int aX, int aY, int aZ) { return 0; } @Override public boolean canBlockSeeTheSky(int aX, int aY, int aZ) { if ((aX >= 16) && (aZ >= 16) && (aX < 32) && (aZ < 32)) { return aY > 64; } return true; } @Override protected int func_152379_p() { return 0; } }