Update World patch to fix map provider issue.

This commit is contained in:
LexManos 2012-10-24 03:54:39 -07:00
parent 8489ca051d
commit 6dac04b954
1 changed files with 50 additions and 53 deletions

View File

@ -40,7 +40,7 @@
if (this.blockExists(par1, 0, par2))
{
Chunk var3 = this.getChunkFromBlockCoords(par1, par2);
@@ -165,7 +189,15 @@
@@ -165,7 +189,12 @@
this.theProfiler = par5Profiler;
this.worldInfo = new WorldInfo(par4WorldSettings, par2Str);
this.provider = par3WorldProvider;
@ -51,13 +51,10 @@
+ @SideOnly(Side.CLIENT)
+ protected void finishSetup()
+ {
+ this.provider.registerWorld(this);
+
+ this.mapStorage = new MapStorage(saveHandler);
VillageCollection var6 = (VillageCollection)this.mapStorage.loadData(VillageCollection.class, "villages");
if (var6 == null)
@@ -179,7 +211,7 @@
@@ -179,7 +208,7 @@
this.villageCollectionObj.func_82566_a(this);
}
@ -66,7 +63,7 @@
this.chunkProvider = this.createChunkProvider();
this.calculateInitialSkylight();
this.calculateInitialWeather();
@@ -193,7 +225,7 @@
@@ -193,7 +222,7 @@
this.isRemote = false;
this.saveHandler = par1ISaveHandler;
this.theProfiler = par5Profiler;
@ -75,7 +72,7 @@
this.worldInfo = par1ISaveHandler.loadWorldInfo();
if (par4WorldProvider != null)
@@ -244,6 +276,19 @@
@@ -244,6 +273,19 @@
this.calculateInitialWeather();
}
@ -95,7 +92,7 @@
/**
* Creates the chunk provider for this world. Called in the constructor. Retrieves provider from worldProvider?
*/
@@ -298,7 +343,8 @@
@@ -298,7 +340,8 @@
*/
public boolean isAirBlock(int par1, int par2, int par3)
{
@ -105,7 +102,7 @@
}
/**
@@ -307,7 +353,8 @@
@@ -307,7 +350,8 @@
public boolean blockHasTileEntity(int par1, int par2, int par3)
{
int var4 = this.getBlockId(par1, par2, par3);
@ -115,7 +112,7 @@
}
/**
@@ -1029,7 +1076,7 @@
@@ -1029,7 +1073,7 @@
*/
public boolean isDaytime()
{
@ -124,7 +121,7 @@
}
/**
@@ -1061,7 +1108,7 @@
@@ -1061,7 +1105,7 @@
int var12 = this.getBlockMetadata(var8, var9, var10);
Block var13 = Block.blocksList[var11];
@ -133,7 +130,7 @@
{
MovingObjectPosition var14 = var13.collisionRayTrace(this, var8, var9, var10, par1Vec3, par2Vec3);
@@ -1261,6 +1308,12 @@
@@ -1261,6 +1305,12 @@
*/
public void playSoundAtEntity(Entity par1Entity, String par2Str, float par3, float par4)
{
@ -146,7 +143,7 @@
if (par1Entity != null && par2Str != null)
{
Iterator var5 = this.worldAccesses.iterator();
@@ -1359,6 +1412,11 @@
@@ -1359,6 +1409,11 @@
EntityPlayer var5 = (EntityPlayer)par1Entity;
this.playerEntities.add(var5);
this.updateAllPlayersSleepingFlag();
@ -158,7 +155,7 @@
}
this.getChunkFromChunkCoords(var2, var3).addEntity(par1Entity);
@@ -1610,6 +1668,12 @@
@@ -1610,6 +1665,12 @@
* Calculates the color for the skybox
*/
public Vec3 getSkyColor(Entity par1Entity, float par2)
@ -171,7 +168,7 @@
{
float var3 = this.getCelestialAngle(par2);
float var4 = MathHelper.cos(var3 * (float)Math.PI * 2.0F) * 2.0F + 0.5F;
@@ -1705,6 +1769,12 @@
@@ -1705,6 +1766,12 @@
@SideOnly(Side.CLIENT)
public Vec3 drawClouds(float par1)
{
@ -184,7 +181,7 @@
float var2 = this.getCelestialAngle(par1);
float var3 = MathHelper.cos(var2 * (float)Math.PI * 2.0F) * 2.0F + 0.5F;
@@ -1783,7 +1853,7 @@
@@ -1783,7 +1850,7 @@
{
int var5 = var3.getBlockID(par1, var4, par2);
@ -193,7 +190,7 @@
{
return var4 + 1;
}
@@ -1798,6 +1868,12 @@
@@ -1798,6 +1865,12 @@
* How bright are stars in the sky
*/
public float getStarBrightness(float par1)
@ -206,7 +203,7 @@
{
float var2 = this.getCelestialAngle(par1);
float var3 = 1.0F - (MathHelper.cos(var2 * (float)Math.PI * 2.0F) * 2.0F + 0.25F);
@@ -1942,7 +2018,7 @@
@@ -1942,7 +2015,7 @@
if (var8 != null)
{
@ -215,7 +212,7 @@
}
}
}
@@ -1952,6 +2028,10 @@
@@ -1952,6 +2025,10 @@
if (!this.entityRemoval.isEmpty())
{
@ -226,7 +223,7 @@
this.loadedTileEntityList.removeAll(this.entityRemoval);
this.entityRemoval.clear();
}
@@ -1972,7 +2052,9 @@
@@ -1972,7 +2049,9 @@
{
this.loadedTileEntityList.add(var9);
}
@ -237,7 +234,7 @@
if (this.chunkExists(var9.xCoord >> 4, var9.zCoord >> 4))
{
Chunk var10 = this.getChunkFromChunkCoords(var9.xCoord >> 4, var9.zCoord >> 4);
@@ -1982,8 +2064,6 @@
@@ -1982,8 +2061,6 @@
var10.setChunkBlockTileEntity(var9.xCoord & 15, var9.yCoord, var9.zCoord & 15, var9);
}
}
@ -246,7 +243,7 @@
}
}
@@ -1996,13 +2076,13 @@
@@ -1996,13 +2073,13 @@
public void addTileEntity(Collection par1Collection)
{
@ -267,7 +264,7 @@
}
}
@@ -2022,9 +2102,17 @@
@@ -2022,9 +2099,17 @@
{
int var3 = MathHelper.floor_double(par1Entity.posX);
int var4 = MathHelper.floor_double(par1Entity.posZ);
@ -288,7 +285,7 @@
{
par1Entity.lastTickPosX = par1Entity.posX;
par1Entity.lastTickPosY = par1Entity.posY;
@@ -2259,6 +2347,14 @@
@@ -2259,6 +2344,14 @@
{
return true;
}
@ -303,7 +300,7 @@
}
}
}
@@ -2566,25 +2662,21 @@
@@ -2566,25 +2659,21 @@
*/
public void setBlockTileEntity(int par1, int par2, int par3, TileEntity par4TileEntity)
{
@ -344,7 +341,7 @@
}
}
@@ -2593,27 +2685,10 @@
@@ -2593,27 +2682,10 @@
*/
public void removeBlockTileEntity(int par1, int par2, int par3)
{
@ -376,7 +373,7 @@
}
}
@@ -2639,7 +2714,8 @@
@@ -2639,7 +2711,8 @@
*/
public boolean isBlockNormalCube(int par1, int par2, int par3)
{
@ -386,7 +383,7 @@
}
/**
@@ -2647,8 +2723,7 @@
@@ -2647,8 +2720,7 @@
*/
public boolean doesBlockHaveSolidTopSurface(int par1, int par2, int par3)
{
@ -396,7 +393,7 @@
}
/**
@@ -2664,7 +2739,7 @@
@@ -2664,7 +2736,7 @@
if (var5 != null && !var5.isEmpty())
{
Block var6 = Block.blocksList[this.getBlockId(par1, par2, par3)];
@ -405,7 +402,7 @@
}
else
{
@@ -2695,8 +2770,7 @@
@@ -2695,8 +2767,7 @@
*/
public void setAllowedSpawnTypes(boolean par1, boolean par2)
{
@ -415,7 +412,7 @@
}
/**
@@ -2712,6 +2786,11 @@
@@ -2712,6 +2783,11 @@
*/
private void calculateInitialWeather()
{
@ -427,7 +424,7 @@
if (this.worldInfo.isRaining())
{
this.rainingStrength = 1.0F;
@@ -2727,6 +2806,11 @@
@@ -2727,6 +2803,11 @@
* Updates all weather states.
*/
protected void updateWeather()
@ -439,7 +436,7 @@
{
if (!this.provider.hasNoSky)
{
@@ -2829,12 +2913,14 @@
@@ -2829,12 +2910,14 @@
public void toggleRain()
{
@ -455,7 +452,7 @@
this.theProfiler.startSection("buildList");
int var1;
EntityPlayer var2;
@@ -2941,6 +3027,11 @@
@@ -2941,6 +3024,11 @@
*/
public boolean canBlockFreeze(int par1, int par2, int par3, boolean par4)
{
@ -467,7 +464,7 @@
BiomeGenBase var5 = this.getBiomeGenForCoords(par1, par3);
float var6 = var5.getFloatTemperature();
@@ -2998,6 +3089,11 @@
@@ -2998,6 +3086,11 @@
* Tests whether or not snow can be placed at a given location
*/
public boolean canSnowAt(int par1, int par2, int par3)
@ -479,7 +476,7 @@
{
BiomeGenBase var4 = this.getBiomeGenForCoords(par1, par3);
float var5 = var4.getFloatTemperature();
@@ -3091,7 +3187,7 @@
@@ -3091,7 +3184,7 @@
private int computeBlockLightValue(int par1, int par2, int par3, int par4, int par5, int par6)
{
@ -488,7 +485,7 @@
int var8 = this.getSavedLightValue(EnumSkyBlock.Block, par2 - 1, par3, par4) - par6;
int var9 = this.getSavedLightValue(EnumSkyBlock.Block, par2 + 1, par3, par4) - par6;
int var10 = this.getSavedLightValue(EnumSkyBlock.Block, par2, par3 - 1, par4) - par6;
@@ -3226,7 +3322,7 @@
@@ -3226,7 +3319,7 @@
int var21 = var24 + (var18 / 2 + 1) % 3 / 2 * var19;
int var22 = var12 + (var18 / 2 + 2) % 3 / 2 * var19;
var14 = this.getSavedLightValue(par1EnumSkyBlock, var20, var21, var22);
@ -497,7 +494,7 @@
if (var23 == 0)
{
@@ -3257,7 +3353,7 @@
@@ -3257,7 +3350,7 @@
var12 = (var9 >> 12 & 63) - 32 + par4;
var13 = this.getSavedLightValue(par1EnumSkyBlock, var10, var24, var12);
var14 = this.getBlockId(var10, var24, var12);
@ -506,7 +503,7 @@
if (var15 == 0)
{
@@ -3359,10 +3455,10 @@
@@ -3359,10 +3452,10 @@
public List getEntitiesWithinAABBExcludingEntity(Entity par1Entity, AxisAlignedBB par2AxisAlignedBB)
{
this.entitiesWithinAABBExcludingEntity.clear();
@ -521,7 +518,7 @@
for (int var7 = var3; var7 <= var4; ++var7)
{
@@ -3388,10 +3484,10 @@
@@ -3388,10 +3481,10 @@
public List func_82733_a(Class par1Class, AxisAlignedBB par2AxisAlignedBB, IEntitySelector par3IEntitySelector)
{
@ -536,7 +533,7 @@
ArrayList var8 = new ArrayList();
for (int var9 = var4; var9 <= var5; ++var9)
@@ -3485,11 +3581,14 @@
@@ -3485,11 +3578,14 @@
*/
public void addLoadedEntities(List par1List)
{
@ -554,7 +551,7 @@
}
}
@@ -3523,6 +3622,11 @@
@@ -3523,6 +3619,11 @@
else
{
if (var9 != null && (var9 == Block.waterMoving || var9 == Block.waterStill || var9 == Block.lavaMoving || var9 == Block.lavaStill || var9 == Block.fire || var9.blockMaterial.isGroundCover()))
@ -566,7 +563,7 @@
{
var9 = null;
}
@@ -3740,7 +3844,7 @@
@@ -3740,7 +3841,7 @@
*/
public long getSeed()
{
@ -575,7 +572,7 @@
}
public long func_82737_E()
@@ -3750,7 +3854,7 @@
@@ -3750,7 +3851,7 @@
public long getWorldTime()
{
@ -584,7 +581,7 @@
}
/**
@@ -3758,7 +3862,7 @@
@@ -3758,7 +3859,7 @@
*/
public void setWorldTime(long par1)
{
@ -593,7 +590,7 @@
}
/**
@@ -3766,13 +3870,13 @@
@@ -3766,13 +3867,13 @@
*/
public ChunkCoordinates getSpawnPoint()
{
@ -609,7 +606,7 @@
}
@SideOnly(Side.CLIENT)
@@ -3796,7 +3900,10 @@
@@ -3796,7 +3897,10 @@
if (!this.loadedEntityList.contains(par1Entity))
{
@ -621,7 +618,7 @@
}
}
@@ -3804,6 +3911,11 @@
@@ -3804,6 +3908,11 @@
* Called when checking if a certain block can be mined or not. The 'spawn safe zone' check is located here.
*/
public boolean canMineBlock(EntityPlayer par1EntityPlayer, int par2, int par3, int par4)
@ -633,7 +630,7 @@
{
return true;
}
@@ -3921,8 +4033,7 @@
@@ -3921,8 +4030,7 @@
*/
public boolean isBlockHighHumidity(int par1, int par2, int par3)
{
@ -643,7 +640,7 @@
}
/**
@@ -3984,7 +4095,7 @@
@@ -3984,7 +4092,7 @@
*/
public int getHeight()
{
@ -652,7 +649,7 @@
}
/**
@@ -3992,7 +4103,7 @@
@@ -3992,7 +4100,7 @@
*/
public int getActualHeight()
{
@ -661,7 +658,7 @@
}
public IUpdatePlayerListBox func_82735_a(EntityMinecart par1EntityMinecart)
@@ -4035,7 +4146,7 @@
@@ -4035,7 +4143,7 @@
*/
public double getHorizon()
{
@ -670,7 +667,7 @@
}
/**
@@ -4074,4 +4185,75 @@
@@ -4074,4 +4182,75 @@
this.field_83016_L.setTimeInMillis(System.currentTimeMillis());
return this.field_83016_L;
}