diff --git a/common/net/minecraftforge/common/DimensionManager.java b/common/net/minecraftforge/common/DimensionManager.java index 8d3972329f..8ea6785869 100644 --- a/common/net/minecraftforge/common/DimensionManager.java +++ b/common/net/minecraftforge/common/DimensionManager.java @@ -197,12 +197,15 @@ public class DimensionManager public static void setWorld(int id, WorldServer world) { - if (world != null) { + if (world != null) + { worlds.put(id, world); weakWorldMap.put(world, world); MinecraftServer.getServer().worldTickTimes.put(id, new long[100]); FMLLog.info("Loading dimension %d (%s) (%s)", id, world.getWorldInfo().getWorldName(), world.getMinecraftServer()); - } else { + } + else + { worlds.remove(id); MinecraftServer.getServer().worldTickTimes.remove(id); FMLLog.info("Unloading dimension %d", id); @@ -231,14 +234,18 @@ public class DimensionManager public static void initDimension(int dim) { WorldServer overworld = getWorld(0); - if (overworld == null) { + if (overworld == null) + { throw new RuntimeException("Cannot Hotload Dim: Overworld is not Loaded!"); } - try { + try + { DimensionManager.getProviderType(dim); - } catch (Exception e) { + } + catch (Exception e) + { System.err.println("Cannot Hotload Dim: " + e.getMessage()); - return; //If a provider hasn't been registered then we can't hotload the dim + return; // If a provider hasn't been registered then we can't hotload the dim } MinecraftServer mcServer = overworld.getMinecraftServer(); ISaveHandler savehandler = overworld.getSaveHandler(); diff --git a/common/net/minecraftforge/common/ForgeChunkManager.java b/common/net/minecraftforge/common/ForgeChunkManager.java index ee00212698..03d8714756 100644 --- a/common/net/minecraftforge/common/ForgeChunkManager.java +++ b/common/net/minecraftforge/common/ForgeChunkManager.java @@ -816,7 +816,10 @@ public class ForgeChunkManager static void saveWorld(World world) { // only persist persistent worlds - if (!(world instanceof WorldServer)) { return; } + if (!(world instanceof WorldServer)) + { + return; + } WorldServer worldServer = (WorldServer) world; File chunkDir = worldServer.getChunkSaveLocation(); File chunkLoaderData = new File(chunkDir, "forcedchunks.dat"); diff --git a/common/net/minecraftforge/fluids/BlockFluidFinite.java b/common/net/minecraftforge/fluids/BlockFluidFinite.java index 6a6edf72d4..0dc2d0b042 100644 --- a/common/net/minecraftforge/fluids/BlockFluidFinite.java +++ b/common/net/minecraftforge/fluids/BlockFluidFinite.java @@ -31,7 +31,8 @@ public class BlockFluidFinite extends BlockFluidBase return 0; } - if (world.getBlockId(x, y, z) != blockID) { + if (world.getBlockId(x, y, z) != blockID) + { return -1; } @@ -110,7 +111,8 @@ public class BlockFluidFinite extends BlockFluidBase total += west; } - if (east >= 0) { + if (east >= 0) + { ++count; total += east; } @@ -182,10 +184,14 @@ public class BlockFluidFinite extends BlockFluidBase ++newwest; --rem; } - if (newwest != west) { - if (newwest == 0) { + if (newwest != west) + { + if (newwest == 0) + { world.setBlock(x - 1, y, z, 0); - } else { + } + else + { world.setBlock(x - 1, y, z, blockID, newwest - 1, 2); } world.scheduleBlockUpdate(x - 1, y, z, blockID, tickRate); diff --git a/patches/minecraft/net/minecraft/client/entity/EntityPlayerSP.java.patch b/patches/minecraft/net/minecraft/client/entity/EntityPlayerSP.java.patch index e401b0df70..810ebeac33 100644 --- a/patches/minecraft/net/minecraft/client/entity/EntityPlayerSP.java.patch +++ b/patches/minecraft/net/minecraft/client/entity/EntityPlayerSP.java.patch @@ -9,11 +9,14 @@ @SideOnly(Side.CLIENT) public class EntityPlayerSP extends AbstractClientPlayer -@@ -570,18 +572,63 @@ +@@ -570,18 +572,66 @@ */ protected boolean pushOutOfBlocks(double par1, double par3, double par5) { -+ if (this.noClip) { return false; } ++ if (this.noClip) ++ { ++ return false; ++ } int i = MathHelper.floor_double(par1); int j = MathHelper.floor_double(par3); int k = MathHelper.floor_double(par5); @@ -79,7 +82,7 @@ byte b0 = -1; double d5 = 9999.0D; -@@ -685,6 +732,12 @@ +@@ -685,6 +735,12 @@ public void playSound(String par1Str, float par2, float par3) { diff --git a/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch b/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch index 168d0194ae..3ef5937099 100644 --- a/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch +++ b/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch @@ -453,18 +453,19 @@ } /** -@@ -1650,6 +1803,10 @@ +@@ -1650,6 +1803,11 @@ */ public void setSpawnChunk(ChunkCoordinates par1ChunkCoordinates, boolean par2) { -+ if (this.dimension != 0) { ++ if (this.dimension != 0) ++ { + setSpawnChunk(par1ChunkCoordinates, par2, this.dimension); + return; + } if (par1ChunkCoordinates != null) { this.spawnChunk = new ChunkCoordinates(par1ChunkCoordinates); -@@ -1661,7 +1818,32 @@ +@@ -1661,7 +1819,39 @@ this.spawnForced = false; } } @@ -477,20 +478,27 @@ + * @param dimension Which dimension to apply the player-specific respawn point to + */ + public void setSpawnChunk(ChunkCoordinates chunkCoordinates, boolean forced, int dimension) { -+ if (dimension == 0) { -+ if (chunkCoordinates != null) { ++ if (dimension == 0) ++ { ++ if (chunkCoordinates != null) ++ { + this.spawnChunk = new ChunkCoordinates(chunkCoordinates); + this.spawnForced = forced; -+ } else { ++ } ++ else ++ { + this.spawnChunk = null; + this.spawnForced = false; + } + return; + } -+ if (chunkCoordinates != null) { ++ if (chunkCoordinates != null) ++ { + this.spawnChunkMap.put(dimension, new ChunkCoordinates(chunkCoordinates)); + this.spawnForcedMap.put(dimension, forced); -+ } else { ++ } ++ else ++ { + this.spawnChunkMap.remove(dimension); + this.spawnForcedMap.remove(dimension); + } @@ -498,7 +506,7 @@ /** * Will trigger the specified trigger. */ -@@ -1843,6 +2025,10 @@ +@@ -1843,6 +2033,10 @@ super.fall(par1); } @@ -509,7 +517,7 @@ } /** -@@ -1884,7 +2070,7 @@ +@@ -1884,7 +2078,7 @@ { if (par1ItemStack.getItem().requiresMultipleRenderPasses()) { @@ -518,7 +526,7 @@ } if (this.itemInUse != null && par1ItemStack.itemID == Item.bow.itemID) -@@ -1906,6 +2092,7 @@ +@@ -1906,6 +2100,7 @@ return Item.bow.getItemIconForUseDuration(0); } } @@ -526,7 +534,7 @@ } return icon; -@@ -2127,7 +2314,17 @@ +@@ -2127,7 +2322,17 @@ this.setScore(par1EntityPlayer.getScore()); } @@ -544,7 +552,7 @@ } /** -@@ -2191,7 +2388,14 @@ +@@ -2191,7 +2396,14 @@ */ public void setCurrentItemOrArmor(int par1, ItemStack par2ItemStack) { @@ -560,7 +568,7 @@ } @SideOnly(Side.CLIENT) -@@ -2245,7 +2449,7 @@ +@@ -2245,7 +2457,7 @@ */ public String getTranslatedEntityName() { @@ -569,7 +577,7 @@ } public void setAbsorptionAmount(float par1) -@@ -2267,4 +2471,39 @@ +@@ -2267,4 +2479,39 @@ { FMLNetworkHandler.openGui(this, mod, modGuiId, world, x, y, z); } diff --git a/patches/minecraft/net/minecraft/world/World.java.patch b/patches/minecraft/net/minecraft/world/World.java.patch index 68e76d6e04..92fdbc50c3 100644 --- a/patches/minecraft/net/minecraft/world/World.java.patch +++ b/patches/minecraft/net/minecraft/world/World.java.patch @@ -114,7 +114,7 @@ } else { -@@ -290,6 +337,19 @@ +@@ -290,6 +337,20 @@ this.calculateInitialSkylight(); this.calculateInitialWeather(); @@ -126,7 +126,8 @@ + //Buildcraft has suffered from the issue this fixes. If you load the same data from two different worlds they can get two different copies of the same object, thus the last saved gets final say. + private MapStorage getMapStorage(ISaveHandler savehandler) + { -+ if (s_savehandler != savehandler || s_mapStorage == null) { ++ if (s_savehandler != savehandler || s_mapStorage == null) ++ { + s_mapStorage = new MapStorage(savehandler); + s_savehandler = savehandler; + } @@ -134,7 +135,7 @@ } /** -@@ -373,7 +433,8 @@ +@@ -373,7 +434,8 @@ */ public boolean isAirBlock(int par1, int par2, int par3) { @@ -144,7 +145,7 @@ } /** -@@ -382,7 +443,8 @@ +@@ -382,7 +444,8 @@ public boolean blockHasTileEntity(int par1, int par2, int par3) { int l = this.getBlockId(par1, par2, par3); @@ -154,7 +155,7 @@ } /** -@@ -1157,7 +1219,7 @@ +@@ -1157,7 +1220,7 @@ */ public boolean isDaytime() { @@ -163,7 +164,7 @@ } /** -@@ -1192,7 +1254,7 @@ +@@ -1192,7 +1255,7 @@ int l1 = this.getBlockMetadata(l, i1, j1); Block block = Block.blocksList[k1]; @@ -172,7 +173,7 @@ { MovingObjectPosition movingobjectposition = block.collisionRayTrace(this, l, i1, j1, par1Vec3, par2Vec3); -@@ -1392,6 +1454,12 @@ +@@ -1392,6 +1455,12 @@ */ public void playSoundAtEntity(Entity par1Entity, String par2Str, float par3, float par4) { @@ -185,7 +186,7 @@ if (par1Entity != null && par2Str != null) { for (int i = 0; i < this.worldAccesses.size(); ++i) -@@ -1406,6 +1474,12 @@ +@@ -1406,6 +1475,12 @@ */ public void playSoundToNearExcept(EntityPlayer par1EntityPlayer, String par2Str, float par3, float par4) { @@ -198,7 +199,7 @@ if (par1EntityPlayer != null && par2Str != null) { for (int i = 0; i < this.worldAccesses.size(); ++i) -@@ -1492,6 +1566,11 @@ +@@ -1492,6 +1567,11 @@ EntityPlayer entityplayer = (EntityPlayer)par1Entity; this.playerEntities.add(entityplayer); this.updateAllPlayersSleepingFlag(); @@ -210,7 +211,7 @@ } this.getChunkFromChunkCoords(i, j).addEntity(par1Entity); -@@ -1732,6 +1811,12 @@ +@@ -1732,6 +1812,12 @@ * Calculates the color for the skybox */ public Vec3 getSkyColor(Entity par1Entity, float par2) @@ -223,7 +224,7 @@ { float f1 = this.getCelestialAngle(par2); float f2 = MathHelper.cos(f1 * (float)Math.PI * 2.0F) * 2.0F + 0.5F; -@@ -1833,6 +1918,12 @@ +@@ -1833,6 +1919,12 @@ @SideOnly(Side.CLIENT) public Vec3 getCloudColour(float par1) { @@ -236,7 +237,7 @@ float f1 = this.getCelestialAngle(par1); float f2 = MathHelper.cos(f1 * (float)Math.PI * 2.0F) * 2.0F + 0.5F; -@@ -1904,6 +1995,8 @@ +@@ -1904,6 +1996,8 @@ public int getTopSolidOrLiquidBlock(int par1, int par2) { Chunk chunk = this.getChunkFromBlockCoords(par1, par2); @@ -245,7 +246,7 @@ int k = chunk.getTopFilledSegment() + 15; par1 &= 15; -@@ -1911,7 +2004,7 @@ +@@ -1911,7 +2005,7 @@ { int l = chunk.getBlockID(par1, k, par2); @@ -254,7 +255,7 @@ { return k + 1; } -@@ -1926,6 +2019,12 @@ +@@ -1926,6 +2020,12 @@ * How bright are stars in the sky */ public float getStarBrightness(float par1) @@ -267,7 +268,7 @@ { float f1 = this.getCelestialAngle(par1); float f2 = 1.0F - (MathHelper.cos(f1 * (float)Math.PI * 2.0F) * 2.0F + 0.25F); -@@ -1990,7 +2089,15 @@ +@@ -1990,7 +2090,15 @@ entity.addEntityCrashInfo(crashreportcategory); } @@ -284,7 +285,7 @@ } if (entity.isDead) -@@ -2052,7 +2159,16 @@ +@@ -2052,7 +2160,16 @@ crashreport = CrashReport.makeCrashReport(throwable1, "Ticking entity"); crashreportcategory = crashreport.makeCategory("Entity being ticked"); entity.addEntityCrashInfo(crashreportcategory); @@ -302,7 +303,7 @@ } } -@@ -2095,7 +2211,16 @@ +@@ -2095,7 +2212,16 @@ crashreport = CrashReport.makeCrashReport(throwable2, "Ticking tile entity"); crashreportcategory = crashreport.makeCategory("Tile entity being ticked"); tileentity.func_85027_a(crashreportcategory); @@ -320,7 +321,7 @@ } } -@@ -2109,7 +2234,7 @@ +@@ -2109,7 +2235,7 @@ if (chunk != null) { @@ -329,7 +330,7 @@ } } } -@@ -2118,6 +2243,10 @@ +@@ -2118,6 +2244,10 @@ if (!this.entityRemoval.isEmpty()) { @@ -340,7 +341,7 @@ this.loadedTileEntityList.removeAll(this.entityRemoval); this.entityRemoval.clear(); } -@@ -2138,18 +2267,18 @@ +@@ -2138,18 +2268,18 @@ { this.loadedTileEntityList.add(tileentity1); } @@ -363,7 +364,7 @@ } } -@@ -2162,13 +2291,13 @@ +@@ -2162,13 +2292,13 @@ public void addTileEntity(Collection par1Collection) { @@ -384,7 +385,7 @@ } } -@@ -2188,9 +2317,17 @@ +@@ -2188,9 +2318,17 @@ { int i = MathHelper.floor_double(par1Entity.posX); int j = MathHelper.floor_double(par1Entity.posZ); @@ -405,7 +406,7 @@ { par1Entity.lastTickPosX = par1Entity.posX; par1Entity.lastTickPosY = par1Entity.posY; -@@ -2424,6 +2561,14 @@ +@@ -2424,6 +2562,14 @@ { return true; } @@ -420,7 +421,7 @@ } } } -@@ -2746,15 +2891,16 @@ +@@ -2746,15 +2892,16 @@ */ public void setBlockTileEntity(int par1, int par2, int par3, TileEntity par4TileEntity) { @@ -446,7 +447,7 @@ while (iterator.hasNext()) { TileEntity tileentity1 = (TileEntity)iterator.next(); -@@ -2765,20 +2911,21 @@ +@@ -2765,20 +2912,21 @@ iterator.remove(); } } @@ -479,7 +480,7 @@ } /** -@@ -2786,28 +2933,13 @@ +@@ -2786,28 +2934,13 @@ */ public void removeBlockTileEntity(int par1, int par2, int par3) { @@ -515,7 +516,7 @@ } /** -@@ -2832,7 +2964,8 @@ +@@ -2832,7 +2965,8 @@ */ public boolean isBlockNormalCube(int par1, int par2, int par3) { @@ -525,7 +526,7 @@ } public boolean isBlockFullCube(int par1, int par2, int par3) -@@ -2855,16 +2988,17 @@ +@@ -2855,16 +2989,17 @@ */ public boolean doesBlockHaveSolidTopSurface(int par1, int par2, int par3) { @@ -545,7 +546,7 @@ return par1Block == null ? false : (par1Block.blockMaterial.isOpaque() && par1Block.renderAsNormalBlock() ? true : (par1Block instanceof BlockStairs ? (par2 & 4) == 4 : (par1Block instanceof BlockHalfSlab ? (par2 & 8) == 8 : (par1Block instanceof BlockHopper ? true : (par1Block instanceof BlockSnow ? (par2 & 7) == 7 : false))))); } -@@ -2881,7 +3015,7 @@ +@@ -2881,7 +3016,7 @@ if (chunk != null && !chunk.isEmpty()) { Block block = Block.blocksList[this.getBlockId(par1, par2, par3)]; @@ -554,7 +555,7 @@ } else { -@@ -2912,8 +3046,7 @@ +@@ -2912,8 +3047,7 @@ */ public void setAllowedSpawnTypes(boolean par1, boolean par2) { @@ -564,7 +565,7 @@ } /** -@@ -2929,6 +3062,11 @@ +@@ -2929,6 +3063,11 @@ */ private void calculateInitialWeather() { @@ -576,7 +577,7 @@ if (this.worldInfo.isRaining()) { this.rainingStrength = 1.0F; -@@ -2944,6 +3082,11 @@ +@@ -2944,6 +3083,11 @@ * Updates all weather states. */ protected void updateWeather() @@ -588,7 +589,7 @@ { if (!this.provider.hasNoSky) { -@@ -3041,12 +3184,14 @@ +@@ -3041,12 +3185,14 @@ public void toggleRain() { @@ -604,7 +605,7 @@ this.theProfiler.startSection("buildList"); int i; EntityPlayer entityplayer; -@@ -3153,6 +3298,11 @@ +@@ -3153,6 +3299,11 @@ */ public boolean canBlockFreeze(int par1, int par2, int par3, boolean par4) { @@ -616,7 +617,7 @@ BiomeGenBase biomegenbase = this.getBiomeGenForCoords(par1, par3); float f = biomegenbase.getFloatTemperature(); -@@ -3211,6 +3361,11 @@ +@@ -3211,6 +3362,11 @@ */ public boolean canSnowAt(int par1, int par2, int par3) { @@ -628,7 +629,7 @@ BiomeGenBase biomegenbase = this.getBiomeGenForCoords(par1, par3); float f = biomegenbase.getFloatTemperature(); -@@ -3254,10 +3409,12 @@ +@@ -3254,10 +3410,12 @@ else { int l = this.getBlockId(par1, par2, par3); @@ -645,7 +646,7 @@ { j1 = 1; } -@@ -3353,7 +3510,9 @@ +@@ -3353,7 +3511,9 @@ int j4 = i2 + Facing.offsetsXForSide[i4]; int k4 = j2 + Facing.offsetsYForSide[i4]; int l4 = k2 + Facing.offsetsZForSide[i4]; @@ -656,7 +657,7 @@ i3 = this.getSavedLightValue(par1EnumSkyBlock, j4, k4, l4); if (i3 == l2 - i5 && i1 < this.lightUpdateBlockList.length) -@@ -3456,10 +3615,10 @@ +@@ -3456,10 +3616,10 @@ public List getEntitiesWithinAABBExcludingEntity(Entity par1Entity, AxisAlignedBB par2AxisAlignedBB, IEntitySelector par3IEntitySelector) { ArrayList arraylist = new ArrayList(); @@ -671,7 +672,7 @@ for (int i1 = i; i1 <= j; ++i1) { -@@ -3485,10 +3644,10 @@ +@@ -3485,10 +3645,10 @@ public List selectEntitiesWithinAABB(Class par1Class, AxisAlignedBB par2AxisAlignedBB, IEntitySelector par3IEntitySelector) { @@ -686,7 +687,7 @@ ArrayList arraylist = new ArrayList(); for (int i1 = i; i1 <= j; ++i1) -@@ -3582,11 +3741,14 @@ +@@ -3582,11 +3742,14 @@ */ public void addLoadedEntities(List par1List) { @@ -704,7 +705,7 @@ } } -@@ -3620,6 +3782,11 @@ +@@ -3620,6 +3783,11 @@ else { if (block != null && (block == Block.waterMoving || block == Block.waterStill || block == Block.lavaMoving || block == Block.lavaStill || block == Block.fire || block.blockMaterial.isReplaceable())) @@ -716,7 +717,7 @@ { block = null; } -@@ -3914,7 +4081,7 @@ +@@ -3914,7 +4082,7 @@ */ public long getSeed() { @@ -725,7 +726,7 @@ } public long getTotalWorldTime() -@@ -3924,7 +4091,7 @@ +@@ -3924,7 +4092,7 @@ public long getWorldTime() { @@ -734,7 +735,7 @@ } /** -@@ -3932,7 +4099,7 @@ +@@ -3932,7 +4100,7 @@ */ public void setWorldTime(long par1) { @@ -743,7 +744,7 @@ } /** -@@ -3940,13 +4107,13 @@ +@@ -3940,13 +4108,13 @@ */ public ChunkCoordinates getSpawnPoint() { @@ -759,7 +760,7 @@ } @SideOnly(Side.CLIENT) -@@ -3970,7 +4137,10 @@ +@@ -3970,7 +4138,10 @@ if (!this.loadedEntityList.contains(par1Entity)) { @@ -771,7 +772,7 @@ } } -@@ -3978,6 +4148,11 @@ +@@ -3978,6 +4149,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) @@ -783,7 +784,7 @@ { return true; } -@@ -4098,8 +4273,7 @@ +@@ -4098,8 +4274,7 @@ */ public boolean isBlockHighHumidity(int par1, int par2, int par3) { @@ -793,7 +794,7 @@ } /** -@@ -4174,7 +4348,7 @@ +@@ -4174,7 +4349,7 @@ */ public int getHeight() { @@ -802,7 +803,7 @@ } /** -@@ -4182,7 +4356,7 @@ +@@ -4182,7 +4357,7 @@ */ public int getActualHeight() { @@ -811,7 +812,7 @@ } public IUpdatePlayerListBox getMinecartSoundUpdater(EntityMinecart par1EntityMinecart) -@@ -4225,7 +4399,7 @@ +@@ -4225,7 +4400,7 @@ */ public double getHorizon() { @@ -820,7 +821,7 @@ } /** -@@ -4294,30 +4468,28 @@ +@@ -4294,30 +4469,28 @@ public void func_96440_m(int par1, int par2, int par3, int par4) { @@ -872,7 +873,7 @@ } } } -@@ -4363,4 +4535,115 @@ +@@ -4363,4 +4536,115 @@ return MathHelper.clamp_float(f, 0.0F, flag ? 1.5F : 1.0F); } diff --git a/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch b/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch index fa2590ff10..89f4e50a87 100644 --- a/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch +++ b/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch @@ -22,7 +22,7 @@ if (b0 != 0) { -@@ -159,6 +165,90 @@ +@@ -159,6 +165,92 @@ } /** @@ -94,13 +94,15 @@ + int id = ids[idx] & 0xFFFFFF; + int meta = metadata[idx]; + -+ if (id != 0) { ++ if (id != 0) ++ { + int storageBlock = y >> 4; + -+ if (this.storageArrays[storageBlock] == null) { -+ this.storageArrays[storageBlock] = new ExtendedBlockStorage(storageBlock << 4, !world.provider.hasNoSky); ++ if (this.storageArrays[storageBlock] == null) ++ { ++ this.storageArrays[storageBlock] = new ExtendedBlockStorage(storageBlock << 4, !world.provider.hasNoSky); + } -+ ++ + this.storageArrays[storageBlock].setExtBlockID(x, y & 15, z, id); + this.storageArrays[storageBlock].setExtBlockMetadata(x, y & 15, z, meta); + } @@ -113,7 +115,7 @@ * Checks whether the chunk is at the X/Z location specified */ public boolean isAtLocation(int par1, int par2) -@@ -222,7 +312,7 @@ +@@ -222,7 +314,7 @@ { int i1 = this.getBlockID(j, l - 1, k); @@ -122,7 +124,7 @@ { --l; continue; -@@ -528,7 +618,10 @@ +@@ -528,7 +620,10 @@ public int getBlockLightOpacity(int par1, int par2, int par3) { @@ -134,7 +136,7 @@ } /** -@@ -615,9 +708,13 @@ +@@ -615,9 +710,13 @@ { Block.blocksList[l1].breakBlock(this.worldObj, j2, par2, k2, l1, i2); } @@ -151,7 +153,7 @@ } } -@@ -635,7 +732,7 @@ +@@ -635,7 +734,7 @@ } else { @@ -160,7 +162,7 @@ { if (par2 >= k1) { -@@ -659,29 +756,21 @@ +@@ -659,29 +758,21 @@ Block.blocksList[par4].onBlockAdded(this.worldObj, j2, par2, k2); } @@ -193,7 +195,7 @@ } } -@@ -716,7 +805,7 @@ +@@ -716,7 +807,7 @@ extendedblockstorage.setExtBlockMetadata(par1, par2 & 15, par3, par4); int j1 = extendedblockstorage.getExtBlockID(par1, par2 & 15, par3); @@ -202,7 +204,7 @@ { TileEntity tileentity = this.getChunkBlockTileEntity(par1, par2, par3); -@@ -829,6 +918,7 @@ +@@ -829,6 +920,7 @@ k = this.entityLists.length - 1; } @@ -210,7 +212,7 @@ par1Entity.addedToChunk = true; par1Entity.chunkCoordX = this.xPosition; par1Entity.chunkCoordY = k; -@@ -878,33 +968,32 @@ +@@ -878,33 +970,32 @@ ChunkPosition chunkposition = new ChunkPosition(par1, par2, par3); TileEntity tileentity = (TileEntity)this.chunkTileEntityMap.get(chunkposition); @@ -255,7 +257,7 @@ } /** -@@ -919,7 +1008,7 @@ +@@ -919,7 +1010,7 @@ if (this.isChunkLoaded) { @@ -264,7 +266,7 @@ } } -@@ -934,7 +1023,8 @@ +@@ -934,7 +1025,8 @@ par4TileEntity.yCoord = par2; par4TileEntity.zCoord = this.zPosition * 16 + par3; @@ -274,7 +276,7 @@ { if (this.chunkTileEntityMap.containsKey(chunkposition)) { -@@ -984,6 +1074,7 @@ +@@ -984,6 +1076,7 @@ this.worldObj.addLoadedEntities(this.entityLists[i]); } @@ -282,7 +284,7 @@ } /** -@@ -1004,6 +1095,7 @@ +@@ -1004,6 +1097,7 @@ { this.worldObj.unloadEntities(this.entityLists[i]); } @@ -290,7 +292,7 @@ } /** -@@ -1020,8 +1112,8 @@ +@@ -1020,8 +1114,8 @@ */ public void getEntitiesWithinAABBForEntity(Entity par1Entity, AxisAlignedBB par2AxisAlignedBB, List par3List, IEntitySelector par4IEntitySelector) { @@ -301,7 +303,7 @@ if (i < 0) { -@@ -1070,8 +1162,8 @@ +@@ -1070,8 +1164,8 @@ */ public void getEntitiesOfTypeWithinAAAB(Class par1Class, AxisAlignedBB par2AxisAlignedBB, List par3List, IEntitySelector par4IEntitySelector) { @@ -312,7 +314,7 @@ if (i < 0) { -@@ -1254,6 +1346,15 @@ +@@ -1254,6 +1348,15 @@ */ public void fillChunk(byte[] par1ArrayOfByte, int par2, int par3, boolean par4) { @@ -328,7 +330,7 @@ int k = 0; boolean flag1 = !this.worldObj.provider.hasNoSky; int l; -@@ -1354,12 +1455,26 @@ +@@ -1354,12 +1457,26 @@ } this.generateHeightMap(); @@ -359,7 +361,7 @@ } } -@@ -1468,4 +1583,18 @@ +@@ -1468,4 +1585,18 @@ } } }