diff --git a/patches/common/net/minecraft/src/World.java.patch b/patches/common/net/minecraft/src/World.java.patch index dec42b462..1606a1daf 100644 --- a/patches/common/net/minecraft/src/World.java.patch +++ b/patches/common/net/minecraft/src/World.java.patch @@ -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; }