Java 类net.minecraft.util.IProgressUpdate 实例源码
项目:DecompiledMinecraft
文件:MinecraftServer.java
/**
* par1 indicates if a log message should be output.
*/
protected void saveAllWorlds(boolean dontLog)
{
if (!this.worldIsBeingDeleted)
{
for (WorldServer worldserver : this.worldServers)
{
if (worldserver != null)
{
if (!dontLog)
{
logger.info("Saving chunks for level \'" + worldserver.getWorldInfo().getWorldName() + "\'/" + worldserver.provider.getDimensionName());
}
try
{
worldserver.saveAllChunks(true, (IProgressUpdate)null);
}
catch (MinecraftException minecraftexception)
{
logger.warn(minecraftexception.getMessage());
}
}
}
}
}
项目:DecompiledMinecraft
文件:MinecraftServer.java
/**
* par1 indicates if a log message should be output.
*/
protected void saveAllWorlds(boolean dontLog)
{
if (!this.worldIsBeingDeleted)
{
for (WorldServer worldserver : this.worldServers)
{
if (worldserver != null)
{
if (!dontLog)
{
logger.info("Saving chunks for level \'" + worldserver.getWorldInfo().getWorldName() + "\'/" + worldserver.provider.getDimensionName());
}
try
{
worldserver.saveAllChunks(true, (IProgressUpdate)null);
}
catch (MinecraftException minecraftexception)
{
logger.warn(minecraftexception.getMessage());
}
}
}
}
}
项目:BaseClient
文件:MinecraftServer.java
/**
* par1 indicates if a log message should be output.
*/
protected void saveAllWorlds(boolean dontLog)
{
if (!this.worldIsBeingDeleted)
{
for (WorldServer worldserver : this.worldServers)
{
if (worldserver != null)
{
if (!dontLog)
{
logger.info("Saving chunks for level \'" + worldserver.getWorldInfo().getWorldName() + "\'/" + worldserver.provider.getDimensionName());
}
try
{
worldserver.saveAllChunks(true, (IProgressUpdate)null);
}
catch (MinecraftException minecraftexception)
{
logger.warn(minecraftexception.getMessage());
}
}
}
}
}
项目:BaseClient
文件:MinecraftServer.java
/**
* par1 indicates if a log message should be output.
*/
protected void saveAllWorlds(boolean dontLog)
{
if (!this.worldIsBeingDeleted)
{
for (WorldServer worldserver : this.worldServers)
{
if (worldserver != null)
{
if (!dontLog)
{
logger.info("Saving chunks for level \'" + worldserver.getWorldInfo().getWorldName() + "\'/" + worldserver.provider.getDimensionName());
}
try
{
worldserver.saveAllChunks(true, (IProgressUpdate)null);
}
catch (MinecraftException minecraftexception)
{
logger.warn(minecraftexception.getMessage());
}
}
}
}
}
项目:Backmemed
文件:MinecraftServer.java
/**
* par1 indicates if a log message should be output.
*/
public void saveAllWorlds(boolean isSilent)
{
for (WorldServer worldserver : this.worldServers)
{
if (worldserver != null)
{
if (!isSilent)
{
LOG.info("Saving chunks for level \'{}\'/{}", new Object[] {worldserver.getWorldInfo().getWorldName(), worldserver.provider.getDimensionType().getName()});
}
try
{
worldserver.saveAllChunks(true, (IProgressUpdate)null);
}
catch (MinecraftException minecraftexception)
{
LOG.warn(minecraftexception.getMessage());
}
}
}
}
项目:CustomWorldGen
文件:MinecraftServer.java
/**
* par1 indicates if a log message should be output.
*/
public void saveAllWorlds(boolean isSilent)
{
for (WorldServer worldserver : this.worldServers)
{
if (worldserver != null)
{
if (!isSilent)
{
LOG.info("Saving chunks for level \'{}\'/{}", new Object[] {worldserver.getWorldInfo().getWorldName(), worldserver.provider.getDimensionType().getName()});
}
try
{
worldserver.saveAllChunks(true, (IProgressUpdate)null);
}
catch (MinecraftException minecraftexception)
{
LOG.warn(minecraftexception.getMessage());
}
}
}
}
项目:Jiffy
文件:WorldServer.java
/**
* Saves all chunks to disk while updating progress bar.
*/
public void saveAllChunks(final boolean saveAll, final IProgressUpdate progress) throws MinecraftException {
if (this.chunkProvider.canSave()) {
if (progress != null) {
progress.displayProgressMessage("Saving level");
}
this.saveLevel();
if (progress != null) {
progress.resetProgresAndWorkingMessage("Saving chunks");
}
this.chunkProvider.saveChunks(saveAll, progress);
MinecraftForge.EVENT_BUS.post(new WorldEvent.Save(this));
for (final Chunk chunk : this.theChunkProviderServer.func_152380_a()) {
if (chunk != null && !this.thePlayerManager.func_152621_a(chunk.xPosition, chunk.zPosition)) {
this.theChunkProviderServer.unloadChunksIfNotNearSpawn(chunk.xPosition, chunk.zPosition);
}
}
}
}
项目:Jiffy
文件:ChunkProviderServer.java
/**
* Two modes of operation: if passed true, save all Chunks in one go. If
* passed false, save up to two chunks. Return true if all chunks have been
* saved.
*/
public boolean saveChunks(final boolean saveAll, final IProgressUpdate notUsed) {
int saveLimit = saveAll ? 0 : 25;
for (int i = 0; i < this.newLoadedChunk; i++) {
final Chunk chunk = this.theLoadedChunks[i];
if (saveAll)
this.safeSaveExtraChunkData(chunk);
if (chunk.needsSaving(saveAll)) {
this.safeSaveChunk(chunk);
chunk.isModified = false;
if (--saveLimit == 0)
return false;
}
}
return true;
}
项目:Resilience-Client-Source
文件:WorldServer.java
/**
* Saves all chunks to disk while updating progress bar.
*/
public void saveAllChunks(boolean par1, IProgressUpdate par2IProgressUpdate) throws MinecraftException
{
if (this.chunkProvider.canSave())
{
if (par2IProgressUpdate != null)
{
par2IProgressUpdate.displayProgressMessage("Saving level");
}
this.saveLevel();
if (par2IProgressUpdate != null)
{
par2IProgressUpdate.resetProgresAndWorkingMessage("Saving chunks");
}
this.chunkProvider.saveChunks(par1, par2IProgressUpdate);
}
}
项目:NeptuneMod
文件:MixinWorldServer_Performance.java
/**
* @author jamierocks - 25th October 2016
* @reason Disable vanilla ChunkGC
*/
@Overwrite
public void saveAllChunks(boolean p_73044_1_, IProgressUpdate progressCallback) throws MinecraftException {
if (this.chunkProvider.canSave()) {
if (progressCallback != null) {
progressCallback.displaySavingString("Saving level");
}
this.saveLevel();
if (progressCallback != null) {
progressCallback.displayLoadingString("Saving chunks");
}
this.chunkProvider.saveChunks(p_73044_1_, progressCallback);
// Neptune - Disable vanilla ChunkGC
// for (net.minecraft.world.chunk.Chunk chunk : Lists.newArrayList(this.theChunkProviderServer.func_152380_a())) {
// if (chunk != null && !this.thePlayerManager.hasPlayerInstance(chunk.xPosition, chunk.zPosition)) {
// this.theChunkProviderServer.dropChunk(chunk.xPosition, chunk.zPosition);
// }
// }
// Neptune - end
}
}
项目:RuneCraftery
文件:ChunkProviderServer.java
public boolean func_73151_a(boolean p_73151_1_, IProgressUpdate p_73151_2_) {
int var3 = 0;
for(int var4 = 0; var4 < this.field_73245_g.size(); ++var4) {
Chunk var5 = (Chunk)this.field_73245_g.get(var4);
if(p_73151_1_) {
this.func_73243_a(var5);
}
if(var5.func_76601_a(p_73151_1_)) {
this.func_73242_b(var5);
var5.field_76643_l = false;
++var3;
if(var3 == 24 && !p_73151_1_) {
return false;
}
}
}
return true;
}
项目:RuneCraftery
文件:MinecraftServer.java
protected void func_71267_a(boolean p_71267_1_) {
if(!this.field_71290_O) {
WorldServer[] var2 = this.field_71305_c;
int var3 = var2.length;
for(int var4 = 0; var4 < var3; ++var4) {
WorldServer var5 = var2[var4];
if(var5 != null) {
if(!p_71267_1_) {
this.func_98033_al().func_98233_a("Saving chunks for level \'" + var5.func_72912_H().func_76065_j() + "\'/" + var5.field_73011_w.func_80007_l());
}
try {
var5.func_73044_a(true, (IProgressUpdate)null);
} catch (MinecraftException var7) {
this.func_98033_al().func_98236_b(var7.getMessage());
}
}
}
}
}
项目:RuneCraftery
文件:WorldServer.java
/**
* Saves all chunks to disk while updating progress bar.
*/
public void saveAllChunks(boolean par1, IProgressUpdate par2IProgressUpdate) throws MinecraftException
{
if (this.chunkProvider.canSave())
{
if (par2IProgressUpdate != null)
{
par2IProgressUpdate.displayProgressMessage("Saving level");
}
this.saveLevel();
if (par2IProgressUpdate != null)
{
par2IProgressUpdate.resetProgresAndWorkingMessage("Saving chunks");
}
this.chunkProvider.saveChunks(par1, par2IProgressUpdate);
MinecraftForge.EVENT_BUS.post(new WorldEvent.Save(this));
}
}
项目:BetterNutritionMod
文件:WorldServer.java
/**
* Saves all chunks to disk while updating progress bar.
*/
public void saveAllChunks(boolean par1, IProgressUpdate par2IProgressUpdate) throws MinecraftException
{
if (this.chunkProvider.canSave())
{
if (par2IProgressUpdate != null)
{
par2IProgressUpdate.displayProgressMessage("Saving level");
}
this.saveLevel();
if (par2IProgressUpdate != null)
{
par2IProgressUpdate.resetProgresAndWorkingMessage("Saving chunks");
}
this.chunkProvider.saveChunks(par1, par2IProgressUpdate);
MinecraftForge.EVENT_BUS.post(new WorldEvent.Save(this));
}
}
项目:DecompiledMinecraft
文件:WorldServer.java
/**
* Saves all chunks to disk while updating progress bar.
*/
public void saveAllChunks(boolean p_73044_1_, IProgressUpdate progressCallback) throws MinecraftException
{
if (this.chunkProvider.canSave())
{
if (progressCallback != null)
{
progressCallback.displaySavingString("Saving level");
}
this.saveLevel();
if (progressCallback != null)
{
progressCallback.displayLoadingString("Saving chunks");
}
this.chunkProvider.saveChunks(p_73044_1_, progressCallback);
for (Chunk chunk : Lists.newArrayList(this.theChunkProviderServer.func_152380_a()))
{
if (chunk != null && !this.thePlayerManager.hasPlayerInstance(chunk.xPosition, chunk.zPosition))
{
this.theChunkProviderServer.dropChunk(chunk.xPosition, chunk.zPosition);
}
}
}
}
项目:DecompiledMinecraft
文件:AnvilSaveConverter.java
private void convertFile(File p_75813_1_, Iterable<File> p_75813_2_, WorldChunkManager p_75813_3_, int p_75813_4_, int p_75813_5_, IProgressUpdate p_75813_6_)
{
for (File file1 : p_75813_2_)
{
this.convertChunks(p_75813_1_, file1, p_75813_3_, p_75813_4_, p_75813_5_, p_75813_6_);
++p_75813_4_;
int i = (int)Math.round(100.0D * (double)p_75813_4_ / (double)p_75813_5_);
p_75813_6_.setLoadingProgress(i);
}
}
项目:DecompiledMinecraft
文件:ChunkProviderServer.java
/**
* Two modes of operation: if passed true, save all Chunks in one go. If passed false, save up to two chunks.
* Return true if all chunks have been saved.
*/
public boolean saveChunks(boolean p_73151_1_, IProgressUpdate progressCallback)
{
int i = 0;
List<Chunk> list = Lists.newArrayList(this.loadedChunks);
for (int j = 0; j < ((List)list).size(); ++j)
{
Chunk chunk = (Chunk)list.get(j);
if (p_73151_1_)
{
this.saveChunkExtraData(chunk);
}
if (chunk.needsSaving(p_73151_1_))
{
this.saveChunkData(chunk);
chunk.setModified(false);
++i;
if (i == 24 && !p_73151_1_)
{
return false;
}
}
}
return true;
}
项目:DecompiledMinecraft
文件:WorldServer.java
/**
* Saves all chunks to disk while updating progress bar.
*/
public void saveAllChunks(boolean p_73044_1_, IProgressUpdate progressCallback) throws MinecraftException
{
if (this.chunkProvider.canSave())
{
if (progressCallback != null)
{
progressCallback.displaySavingString("Saving level");
}
this.saveLevel();
if (progressCallback != null)
{
progressCallback.displayLoadingString("Saving chunks");
}
this.chunkProvider.saveChunks(p_73044_1_, progressCallback);
for (Chunk chunk : Lists.newArrayList(this.theChunkProviderServer.func_152380_a()))
{
if (chunk != null && !this.thePlayerManager.hasPlayerInstance(chunk.xPosition, chunk.zPosition))
{
this.theChunkProviderServer.dropChunk(chunk.xPosition, chunk.zPosition);
}
}
}
}
项目:DecompiledMinecraft
文件:AnvilSaveConverter.java
private void convertFile(File p_75813_1_, Iterable<File> p_75813_2_, WorldChunkManager p_75813_3_, int p_75813_4_, int p_75813_5_, IProgressUpdate p_75813_6_)
{
for (File file1 : p_75813_2_)
{
this.convertChunks(p_75813_1_, file1, p_75813_3_, p_75813_4_, p_75813_5_, p_75813_6_);
++p_75813_4_;
int i = (int)Math.round(100.0D * (double)p_75813_4_ / (double)p_75813_5_);
p_75813_6_.setLoadingProgress(i);
}
}
项目:DecompiledMinecraft
文件:ChunkProviderServer.java
/**
* Two modes of operation: if passed true, save all Chunks in one go. If passed false, save up to two chunks.
* Return true if all chunks have been saved.
*/
public boolean saveChunks(boolean p_73151_1_, IProgressUpdate progressCallback)
{
int i = 0;
List<Chunk> list = Lists.newArrayList(this.loadedChunks);
for (int j = 0; j < ((List)list).size(); ++j)
{
Chunk chunk = (Chunk)list.get(j);
if (p_73151_1_)
{
this.saveChunkExtraData(chunk);
}
if (chunk.needsSaving(p_73151_1_))
{
this.saveChunkData(chunk);
chunk.setModified(false);
++i;
if (i == 24 && !p_73151_1_)
{
return false;
}
}
}
return true;
}
项目:BaseClient
文件:WorldServer.java
/**
* Saves all chunks to disk while updating progress bar.
*/
public void saveAllChunks(boolean p_73044_1_, IProgressUpdate progressCallback) throws MinecraftException
{
if (this.chunkProvider.canSave())
{
if (progressCallback != null)
{
progressCallback.displaySavingString("Saving level");
}
this.saveLevel();
if (progressCallback != null)
{
progressCallback.displayLoadingString("Saving chunks");
}
this.chunkProvider.saveChunks(p_73044_1_, progressCallback);
for (Chunk chunk : Lists.newArrayList(this.theChunkProviderServer.func_152380_a()))
{
if (chunk != null && !this.thePlayerManager.hasPlayerInstance(chunk.xPosition, chunk.zPosition))
{
this.theChunkProviderServer.dropChunk(chunk.xPosition, chunk.zPosition);
}
}
}
}
项目:BaseClient
文件:AnvilSaveConverter.java
private void convertFile(File p_75813_1_, Iterable<File> p_75813_2_, WorldChunkManager p_75813_3_, int p_75813_4_, int p_75813_5_, IProgressUpdate p_75813_6_)
{
for (File file1 : p_75813_2_)
{
this.convertChunks(p_75813_1_, file1, p_75813_3_, p_75813_4_, p_75813_5_, p_75813_6_);
++p_75813_4_;
int i = (int)Math.round(100.0D * (double)p_75813_4_ / (double)p_75813_5_);
p_75813_6_.setLoadingProgress(i);
}
}
项目:BaseClient
文件:ChunkProviderServer.java
/**
* Two modes of operation: if passed true, save all Chunks in one go. If passed false, save up to two chunks.
* Return true if all chunks have been saved.
*/
public boolean saveChunks(boolean p_73151_1_, IProgressUpdate progressCallback)
{
int i = 0;
List<Chunk> list = Lists.newArrayList(this.loadedChunks);
for (int j = 0; j < ((List)list).size(); ++j)
{
Chunk chunk = (Chunk)list.get(j);
if (p_73151_1_)
{
this.saveChunkExtraData(chunk);
}
if (chunk.needsSaving(p_73151_1_))
{
this.saveChunkData(chunk);
chunk.setModified(false);
++i;
if (i == 24 && !p_73151_1_)
{
return false;
}
}
}
return true;
}
项目:BaseClient
文件:WorldServer.java
/**
* Saves all chunks to disk while updating progress bar.
*/
public void saveAllChunks(boolean p_73044_1_, IProgressUpdate progressCallback) throws MinecraftException
{
if (this.chunkProvider.canSave())
{
if (progressCallback != null)
{
progressCallback.displaySavingString("Saving level");
}
this.saveLevel();
if (progressCallback != null)
{
progressCallback.displayLoadingString("Saving chunks");
}
this.chunkProvider.saveChunks(p_73044_1_, progressCallback);
for (Chunk chunk : Lists.newArrayList(this.theChunkProviderServer.func_152380_a()))
{
if (chunk != null && !this.thePlayerManager.hasPlayerInstance(chunk.xPosition, chunk.zPosition))
{
this.theChunkProviderServer.dropChunk(chunk.xPosition, chunk.zPosition);
}
}
}
}
项目:BaseClient
文件:AnvilSaveConverter.java
private void convertFile(File p_75813_1_, Iterable<File> p_75813_2_, WorldChunkManager p_75813_3_, int p_75813_4_, int p_75813_5_, IProgressUpdate p_75813_6_)
{
for (File file1 : p_75813_2_)
{
this.convertChunks(p_75813_1_, file1, p_75813_3_, p_75813_4_, p_75813_5_, p_75813_6_);
++p_75813_4_;
int i = (int)Math.round(100.0D * (double)p_75813_4_ / (double)p_75813_5_);
p_75813_6_.setLoadingProgress(i);
}
}
项目:BaseClient
文件:ChunkProviderServer.java
/**
* Two modes of operation: if passed true, save all Chunks in one go. If passed false, save up to two chunks.
* Return true if all chunks have been saved.
*/
public boolean saveChunks(boolean p_73151_1_, IProgressUpdate progressCallback)
{
int i = 0;
List<Chunk> list = Lists.newArrayList(this.loadedChunks);
for (int j = 0; j < ((List)list).size(); ++j)
{
Chunk chunk = (Chunk)list.get(j);
if (p_73151_1_)
{
this.saveChunkExtraData(chunk);
}
if (chunk.needsSaving(p_73151_1_))
{
this.saveChunkData(chunk);
chunk.setModified(false);
++i;
if (i == 24 && !p_73151_1_)
{
return false;
}
}
}
return true;
}
项目:UniversalRemote
文件:WorldServerProxy.java
@Override
public void saveAllChunks(boolean all, IProgressUpdate progressCallback) throws MinecraftException {
if (m_proxyWorld != null && Util.isPrefixInCallStack(m_modPrefix)) {
m_proxyWorld.saveAllChunks(all, progressCallback);
} else if (m_realWorld != null) {
m_realWorld.saveAllChunks(all, progressCallback);
} else {
super.saveAllChunks(all, progressCallback);
}
}
项目:Backmemed
文件:WorldServer.java
/**
* Saves all chunks to disk while updating progress bar.
*/
public void saveAllChunks(boolean p_73044_1_, @Nullable IProgressUpdate progressCallback) throws MinecraftException
{
ChunkProviderServer chunkproviderserver = this.getChunkProvider();
if (chunkproviderserver.canSave())
{
if (progressCallback != null)
{
progressCallback.displaySavingString("Saving level");
}
this.saveLevel();
if (progressCallback != null)
{
progressCallback.displayLoadingString("Saving chunks");
}
chunkproviderserver.saveChunks(p_73044_1_);
for (Chunk chunk : Lists.newArrayList(chunkproviderserver.getLoadedChunks()))
{
if (chunk != null && !this.thePlayerManager.contains(chunk.xPosition, chunk.zPosition))
{
chunkproviderserver.unload(chunk);
}
}
}
}
项目:Backmemed
文件:AnvilSaveConverter.java
private void convertFile(File baseFolder, Iterable<File> regionFiles, BiomeProvider p_75813_3_, int p_75813_4_, int p_75813_5_, IProgressUpdate progress)
{
for (File file1 : regionFiles)
{
this.convertChunks(baseFolder, file1, p_75813_3_, p_75813_4_, p_75813_5_, progress);
++p_75813_4_;
int i = (int)Math.round(100.0D * (double)p_75813_4_ / (double)p_75813_5_);
progress.setLoadingProgress(i);
}
}
项目:CustomWorldGen
文件:WorldServer.java
/**
* Saves all chunks to disk while updating progress bar.
*/
public void saveAllChunks(boolean p_73044_1_, @Nullable IProgressUpdate progressCallback) throws MinecraftException
{
ChunkProviderServer chunkproviderserver = this.getChunkProvider();
if (chunkproviderserver.canSave())
{
if (progressCallback != null)
{
progressCallback.displaySavingString("Saving level");
}
this.saveLevel();
if (progressCallback != null)
{
progressCallback.displayLoadingString("Saving chunks");
}
chunkproviderserver.saveChunks(p_73044_1_);
net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.WorldEvent.Save(this));
for (Chunk chunk : Lists.newArrayList(chunkproviderserver.getLoadedChunks()))
{
if (chunk != null && !this.thePlayerManager.contains(chunk.xPosition, chunk.zPosition))
{
chunkproviderserver.unload(chunk);
}
}
}
}
项目:CustomWorldGen
文件:AnvilSaveConverter.java
private void convertFile(File baseFolder, Iterable<File> regionFiles, BiomeProvider p_75813_3_, int p_75813_4_, int p_75813_5_, IProgressUpdate progress)
{
for (File file1 : regionFiles)
{
this.convertChunks(baseFolder, file1, p_75813_3_, p_75813_4_, p_75813_5_, progress);
++p_75813_4_;
int i = (int)Math.round(100.0D * (double)p_75813_4_ / (double)p_75813_5_);
progress.setLoadingProgress(i);
}
}
项目:Resilience-Client-Source
文件:AnvilSaveConverter.java
private void convertFile(File par1File, Iterable par2Iterable, WorldChunkManager par3WorldChunkManager, int par4, int par5, IProgressUpdate par6IProgressUpdate)
{
Iterator var7 = par2Iterable.iterator();
while (var7.hasNext())
{
File var8 = (File)var7.next();
this.convertChunks(par1File, var8, par3WorldChunkManager, par4, par5, par6IProgressUpdate);
++par4;
int var9 = (int)Math.round(100.0D * (double)par4 / (double)par5);
par6IProgressUpdate.setLoadingProgress(var9);
}
}
项目:Resilience-Client-Source
文件:ChunkProviderServer.java
/**
* Two modes of operation: if passed true, save all Chunks in one go. If passed false, save up to two chunks.
* Return true if all chunks have been saved.
*/
public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate)
{
int var3 = 0;
for (int var4 = 0; var4 < this.loadedChunks.size(); ++var4)
{
Chunk var5 = (Chunk)this.loadedChunks.get(var4);
if (par1)
{
this.safeSaveExtraChunkData(var5);
}
if (var5.needsSaving(par1))
{
this.safeSaveChunk(var5);
var5.isModified = false;
++var3;
if (var3 == 24 && !par1)
{
return false;
}
}
}
return true;
}
项目:Resilience-Client-Source
文件:MinecraftServer.java
/**
* par1 indicates if a log message should be output.
*/
protected void saveAllWorlds(boolean par1)
{
if (!this.worldIsBeingDeleted)
{
WorldServer[] var2 = this.worldServers;
int var3 = var2.length;
for (int var4 = 0; var4 < var3; ++var4)
{
WorldServer var5 = var2[var4];
if (var5 != null)
{
if (!par1)
{
logger.info("Saving chunks for level \'" + var5.getWorldInfo().getWorldName() + "\'/" + var5.provider.getDimensionName());
}
try
{
var5.saveAllChunks(true, (IProgressUpdate)null);
}
catch (MinecraftException var7)
{
logger.warn(var7.getMessage());
}
}
}
}
}
项目:Cauldron
文件:WorldServer.java
public void saveAllChunks(boolean p_73044_1_, IProgressUpdate p_73044_2_) throws MinecraftException
{
if (this.chunkProvider.canSave())
{
if (p_73044_2_ != null)
{
p_73044_2_.displayProgressMessage("Saving level");
}
this.saveLevel();
if (p_73044_2_ != null)
{
p_73044_2_.resetProgresAndWorkingMessage("Saving chunks");
}
this.chunkProvider.saveChunks(p_73044_1_, p_73044_2_);
MinecraftForge.EVENT_BUS.post(new WorldEvent.Save(this));
ArrayList arraylist = Lists.newArrayList(this.theChunkProviderServer.func_152380_a());
Iterator iterator = arraylist.iterator();
while (iterator.hasNext())
{
Chunk chunk = (Chunk)iterator.next();
if (chunk != null && !this.thePlayerManager.func_152621_a(chunk.xPosition, chunk.zPosition))
{
this.theChunkProviderServer.unloadChunksIfNotNearSpawn(chunk.xPosition, chunk.zPosition);
}
}
}
}
项目:Cauldron
文件:AnvilSaveConverter.java
private void convertFile(File p_75813_1_, Iterable p_75813_2_, WorldChunkManager p_75813_3_, int p_75813_4_, int p_75813_5_, IProgressUpdate p_75813_6_)
{
Iterator iterator = p_75813_2_.iterator();
while (iterator.hasNext())
{
File file2 = (File)iterator.next();
this.convertChunks(p_75813_1_, file2, p_75813_3_, p_75813_4_, p_75813_5_, p_75813_6_);
++p_75813_4_;
int k = (int)Math.round(100.0D * (double)p_75813_4_ / (double)p_75813_5_);
p_75813_6_.setLoadingProgress(k);
}
}
项目:Cauldron
文件:ChunkProviderServer.java
public boolean saveChunks(boolean p_73151_1_, IProgressUpdate p_73151_2_)
{
int i = 0;
// Cauldron start - use thread-safe method for iterating loaded chunks
Object[] chunks = this.loadedChunks.toArray();
for (int j = 0; j < chunks.length; ++j)
{
Chunk chunk = (Chunk)chunks[j];
//Cauldron end
if (p_73151_1_)
{
this.safeSaveExtraChunkData(chunk);
}
if (chunk.needsSaving(p_73151_1_))
{
this.safeSaveChunk(chunk);
chunk.isModified = false;
++i;
if (i == 24 && !p_73151_1_)
{
return false;
}
}
}
return true;
}
项目:Cauldron
文件:MinecraftServer.java
protected void convertMapIfNeeded(String p_71237_1_)
{
if (this.getActiveAnvilConverter().isOldMapFormat(p_71237_1_))
{
logger.info("Converting map!");
this.setUserMessage("menu.convertingLevel");
this.getActiveAnvilConverter().convertMapFormat(p_71237_1_, new IProgressUpdate()
{
private long field_96245_b = System.currentTimeMillis();
private static final String __OBFID = "CL_00001417";
public void displayProgressMessage(String p_73720_1_) {}
public void setLoadingProgress(int p_73718_1_)
{
if (System.currentTimeMillis() - this.field_96245_b >= 1000L)
{
this.field_96245_b = System.currentTimeMillis();
MinecraftServer.logger.info("Converting... " + p_73718_1_ + "%");
}
}
@SideOnly(Side.CLIENT)
public void resetProgressAndMessage(String p_73721_1_) {}
@SideOnly(Side.CLIENT)
public void func_146586_a() {}
public void resetProgresAndWorkingMessage(String p_73719_1_) {}
});
}
}
项目:Cauldron
文件:MinecraftServer.java
protected void saveAllWorlds(boolean p_71267_1_) throws MinecraftException // CraftBukkit - added throws
{
if (!this.worldIsBeingDeleted)
{
// CraftBukkit start
for (int j = 0; j < this.worlds.size(); ++j)
{
WorldServer worldserver = this.worlds.get(j);
if (worldserver != null)
{
if (!p_71267_1_)
{
logger.info("Saving chunks for level \'" + worldserver.getWorldInfo().getWorldName() + "\'/" + worldserver.provider.getDimensionName());
}
worldserver.saveAllChunks(true, (IProgressUpdate) null);
worldserver.flush();
WorldSaveEvent event = new WorldSaveEvent(worldserver.getWorld());
this.server.getPluginManager().callEvent(event);
// Cauldron start - save world configs
if (worldserver.cauldronConfig != null)
{
worldserver.cauldronConfig.save();
}
if (worldserver.tileentityConfig != null)
{
worldserver.tileentityConfig.save();
}
// Cauldron end
}
}
// CraftBukkit end
}
}
项目:Cauldron
文件:WorldServer.java
public void saveAllChunks(boolean p_73044_1_, IProgressUpdate p_73044_2_) throws MinecraftException
{
if (this.chunkProvider.canSave())
{
if (p_73044_2_ != null)
{
p_73044_2_.displayProgressMessage("Saving level");
}
this.saveLevel();
if (p_73044_2_ != null)
{
p_73044_2_.resetProgresAndWorkingMessage("Saving chunks");
}
this.chunkProvider.saveChunks(p_73044_1_, p_73044_2_);
MinecraftForge.EVENT_BUS.post(new WorldEvent.Save(this));
ArrayList arraylist = Lists.newArrayList(this.theChunkProviderServer.func_152380_a());
Iterator iterator = arraylist.iterator();
while (iterator.hasNext())
{
Chunk chunk = (Chunk)iterator.next();
if (chunk != null && !this.thePlayerManager.func_152621_a(chunk.xPosition, chunk.zPosition))
{
this.theChunkProviderServer.unloadChunksIfNotNearSpawn(chunk.xPosition, chunk.zPosition);
}
}
}
}