diff --git a/src/minecraft/net/minecraft/server/MinecraftServer.java b/src/minecraft/net/minecraft/server/MinecraftServer.java index 2a1f487..7588912 100644 --- a/src/minecraft/net/minecraft/server/MinecraftServer.java +++ b/src/minecraft/net/minecraft/server/MinecraftServer.java @@ -3,6 +3,7 @@ package net.minecraft.server; import java.awt.GraphicsEnvironment; import java.io.File; import java.io.IOException; +import java.math.BigInteger; import java.security.KeyPair; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -280,7 +281,7 @@ public abstract class MinecraftServer implements Runnable, IPlayerUsage, IComman var2 = var9; } - var5.theChunkProviderServer.loadChunk(var6.posX + var7 >> 4, var6.posZ + var8 >> 4); + var5.theChunkProviderServer.loadChunk(var6.posX.add(BigInteger.valueOf(var7)).shiftRight(4), var6.posZ.add(BigInteger.valueOf(var8)).shiftRight(4)); while (var5.updatingLighting() && this.isServerRunning()) { diff --git a/src/minecraft/net/minecraft/src/AnvilChunkLoader.java b/src/minecraft/net/minecraft/src/AnvilChunkLoader.java index cb23857..392f8ba 100644 --- a/src/minecraft/net/minecraft/src/AnvilChunkLoader.java +++ b/src/minecraft/net/minecraft/src/AnvilChunkLoader.java @@ -287,9 +287,9 @@ public class AnvilChunkLoader implements IThreadedFileIO, IChunkLoader NextTickListEntry var13 = (NextTickListEntry)var12.next(); NBTTagCompound var14 = new NBTTagCompound(); var14.setInteger("i", var13.blockID); - var14.setInteger("x", var13.xCoord); + var14.setBigInteger("x", var13.xCoord); var14.setInteger("y", var13.yCoord); - var14.setInteger("z", var13.zCoord); + var14.setBigInteger("z", var13.zCoord); var14.setInteger("t", (int)(var13.scheduledTime - var21)); var11.appendTag(var14); } @@ -381,7 +381,7 @@ public class AnvilChunkLoader implements IThreadedFileIO, IChunkLoader for (int var22 = 0; var22 < var20.tagCount(); ++var22) { NBTTagCompound var23 = (NBTTagCompound)var20.tagAt(var22); - par1World.scheduleBlockUpdateFromLoad(var23.getInteger("x"), var23.getInteger("y"), var23.getInteger("z"), var23.getInteger("i"), var23.getInteger("t")); + par1World.scheduleBlockUpdateFromLoad(var23.getBigInteger("x"), var23.getInteger("y"), var23.getBigInteger("z"), var23.getInteger("i"), var23.getInteger("t")); } } } diff --git a/src/minecraft/net/minecraft/src/Block.java b/src/minecraft/net/minecraft/src/Block.java index ef3d53c..3b502c9 100644 --- a/src/minecraft/net/minecraft/src/Block.java +++ b/src/minecraft/net/minecraft/src/Block.java @@ -353,7 +353,7 @@ public class Block return true; } - public boolean getBlocksMovement(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) + public boolean getBlocksMovement(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4) { return !this.blockMaterial.blocksMovement(); } diff --git a/src/minecraft/net/minecraft/src/BlockBreakable.java b/src/minecraft/net/minecraft/src/BlockBreakable.java index 906a8d0..04938fb 100644 --- a/src/minecraft/net/minecraft/src/BlockBreakable.java +++ b/src/minecraft/net/minecraft/src/BlockBreakable.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class BlockBreakable extends Block { private boolean localFlag; @@ -23,7 +25,7 @@ public class BlockBreakable extends Block * Returns true if the given side of this block type should be rendered, if the adjacent block is at the given * coordinates. Args: blockAccess, x, y, z, side */ - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { int var6 = par1IBlockAccess.getBlockId(par2, par3, par4); return !this.localFlag && var6 == this.blockID ? false : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); diff --git a/src/minecraft/net/minecraft/src/BlockButton.java b/src/minecraft/net/minecraft/src/BlockButton.java index ab3ff11..fd3823a 100644 --- a/src/minecraft/net/minecraft/src/BlockButton.java +++ b/src/minecraft/net/minecraft/src/BlockButton.java @@ -287,7 +287,7 @@ public class BlockButton extends Block /** * Is this block powering the block on the specified side */ - public boolean isPoweringTo(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public boolean isPoweringTo(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { return (par1IBlockAccess.getBlockMetadata(par2, par3, par4) & 8) > 0; } @@ -295,7 +295,7 @@ public class BlockButton extends Block /** * Is this block indirectly powering the block on the specified side */ - public boolean isIndirectlyPoweringTo(World par1World, int par2, int par3, int par4, int par5) + public boolean isIndirectlyPoweringTo(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { int var6 = par1World.getBlockMetadata(par2, par3, par4); diff --git a/src/minecraft/net/minecraft/src/BlockCocoa.java b/src/minecraft/net/minecraft/src/BlockCocoa.java index 54ac893..8e7cfd5 100644 --- a/src/minecraft/net/minecraft/src/BlockCocoa.java +++ b/src/minecraft/net/minecraft/src/BlockCocoa.java @@ -40,8 +40,8 @@ public class BlockCocoa extends BlockDirectional public boolean canBlockStay(World par1World, BigInteger par2, int par3, BigInteger par4) { int var5 = getDirection(par1World.getBlockMetadata(par2, par3, par4)); - par2 += Direction.offsetX[var5]; - par4 += Direction.offsetZ[var5]; + par2 = par2.add(BigInteger.valueOf(Direction.offsetX[var5])); + par4 = par4.add(BigInteger.valueOf(Direction.offsetZ[var5])); int var6 = par1World.getBlockId(par2, par3, par4); return var6 == Block.wood.blockID && BlockLog.limitToValidMetadata(par1World.getBlockMetadata(par2, par3, par4)) == 3; } @@ -70,26 +70,24 @@ public class BlockCocoa extends BlockDirectional { return false; } -// 操你妈傻逼Mojang你妈死不死死了啊 -// I love you mojang -// /** -// * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been -// * cleared to be reused) -// */ -// public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, BigInteger par2, int par3, BigInteger par4) -// { -// this.setBlockBoundsBasedOnState(par1World, par2, par3, par4); -// return super.getCollisionBoundingBoxFromPool(par1World, par2, par3, par4); -// } -// -// /** -// * Returns the bounding box of the wired rectangular prism to render. -// */ -// public AxisAlignedBB getSelectedBoundingBoxFromPool(World par1World, BigInteger par2, int par3, BigInteger par4) -// { -// this.setBlockBoundsBasedOnState(par1World, par2, par3, par4); -// return super.getSelectedBoundingBoxFromPool(par1World, par2, par3, par4); -// } + /** + * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been + * cleared to be reused) + */ + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, BigInteger par2, int par3, BigInteger par4) + { + this.setBlockBoundsBasedOnState(par1World, par2, par3, par4); + return super.getCollisionBoundingBoxFromPool(par1World, par2, par3, par4); + } + + /** + * Returns the bounding box of the wired rectangular prism to render. + */ + public AxisAlignedBB getSelectedBoundingBoxFromPool(World par1World, BigInteger par2, int par3, BigInteger par4) + { + this.setBlockBoundsBasedOnState(par1World, par2, par3, par4); + return super.getSelectedBoundingBoxFromPool(par1World, par2, par3, par4); + } /** * Updates the blocks bounds based on its current state. Args: world, x, y, z diff --git a/src/minecraft/net/minecraft/src/BlockContainer.java b/src/minecraft/net/minecraft/src/BlockContainer.java index b2ead28..ecc74a9 100644 --- a/src/minecraft/net/minecraft/src/BlockContainer.java +++ b/src/minecraft/net/minecraft/src/BlockContainer.java @@ -19,7 +19,7 @@ public abstract class BlockContainer extends Block /** * Called whenever the block is added into the world. Args: world, x, y, z */ - public void onBlockAdded(World par1World, int par2, int par3, int par4) + public void onBlockAdded(World par1World, BigInteger par2, int par3, BigInteger par4) { super.onBlockAdded(par1World, par2, par3, par4); par1World.setBlockTileEntity(par2, par3, par4, this.createNewTileEntity(par1World)); diff --git a/src/minecraft/net/minecraft/src/BlockDetectorRail.java b/src/minecraft/net/minecraft/src/BlockDetectorRail.java index ce45b6d..b058be0 100644 --- a/src/minecraft/net/minecraft/src/BlockDetectorRail.java +++ b/src/minecraft/net/minecraft/src/BlockDetectorRail.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; import java.util.Random; @@ -30,7 +31,7 @@ public class BlockDetectorRail extends BlockRail /** * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity */ - public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) + public void onEntityCollidedWithBlock(World par1World, BigInteger par2, int par3, BigInteger par4, Entity par5Entity) { if (!par1World.isRemote) { @@ -46,7 +47,7 @@ public class BlockDetectorRail extends BlockRail /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (!par1World.isRemote) { @@ -62,7 +63,7 @@ public class BlockDetectorRail extends BlockRail /** * Is this block powering the block on the specified side */ - public boolean isPoweringTo(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public boolean isPoweringTo(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { return (par1IBlockAccess.getBlockMetadata(par2, par3, par4) & 8) != 0; } @@ -70,7 +71,7 @@ public class BlockDetectorRail extends BlockRail /** * Is this block indirectly powering the block on the specified side */ - public boolean isIndirectlyPoweringTo(World par1World, int par2, int par3, int par4, int par5) + public boolean isIndirectlyPoweringTo(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { return (par1World.getBlockMetadata(par2, par3, par4) & 8) == 0 ? false : par5 == 1; } @@ -78,12 +79,12 @@ public class BlockDetectorRail extends BlockRail /** * Update the detector rail power state if a minecart enter, stays or leave the block. */ - private void setStateIfMinecartInteractsWithRail(World par1World, int par2, int par3, int par4, int par5) + private void setStateIfMinecartInteractsWithRail(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { boolean var6 = (par5 & 8) != 0; boolean var7 = false; float var8 = 0.125F; - List var9 = par1World.getEntitiesWithinAABB(EntityMinecart.class, AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)((float)par2 + var8), (double)par3, (double)((float)par4 + var8), (double)((float)(par2 + 1) - var8), (double)((float)(par3 + 1) - var8), (double)((float)(par4 + 1) - var8))); + List var9 = par1World.getEntitiesWithinAABB(EntityMinecart.class, AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)((float)par2.floatValue() + var8), (double)par3, (double)((float)par4.floatValue() + var8), (double)((float)(par2.floatValue() + 1) - var8), (double)((float)(par3 + 1) - var8), (double)((float)(par4.floatValue() + 1) - var8))); if (!var9.isEmpty()) { diff --git a/src/minecraft/net/minecraft/src/BlockDispenser.java b/src/minecraft/net/minecraft/src/BlockDispenser.java index 8f375bc..49df014 100644 --- a/src/minecraft/net/minecraft/src/BlockDispenser.java +++ b/src/minecraft/net/minecraft/src/BlockDispenser.java @@ -33,7 +33,7 @@ public class BlockDispenser extends BlockContainer /** * Called whenever the block is added into the world. Args: world, x, y, z */ - public void onBlockAdded(World par1World, int par2, int par3, int par4) + public void onBlockAdded(World par1World, BigInteger par2, int par3, BigInteger par4) { super.onBlockAdded(par1World, par2, par3, par4); this.setDispenserDefaultDirection(par1World, par2, par3, par4); @@ -43,14 +43,14 @@ public class BlockDispenser extends BlockContainer * sets Dispenser block direction so that the front faces an non-opaque block; chooses west to be direction if all * surrounding blocks are opaque. */ - private void setDispenserDefaultDirection(World par1World, int par2, int par3, int par4) + private void setDispenserDefaultDirection(World par1World, BigInteger par2, int par3, BigInteger par4) { if (!par1World.isRemote) { - int var5 = par1World.getBlockId(par2, par3, par4 - 1); - int var6 = par1World.getBlockId(par2, par3, par4 + 1); - int var7 = par1World.getBlockId(par2 - 1, par3, par4); - int var8 = par1World.getBlockId(par2 + 1, par3, par4); + int var5 = par1World.getBlockId(par2, par3, par4.subtract(BigInteger.ONE)); + int var6 = par1World.getBlockId(par2, par3, par4.add(BigInteger.ONE)); + int var7 = par1World.getBlockId(par2.subtract(BigInteger.ONE), par3, par4); + int var8 = par1World.getBlockId(par2.add(BigInteger.ONE), par3, par4); byte var9 = 3; if (Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) @@ -80,7 +80,7 @@ public class BlockDispenser extends BlockContainer /** * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side */ - public int getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public int getBlockTexture(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { if (par5 == 1) { @@ -108,7 +108,7 @@ public class BlockDispenser extends BlockContainer /** * Called upon block activation (right click on the block.) */ - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) + public boolean onBlockActivated(World par1World, BigInteger par2, int par3, BigInteger par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { if (par1World.isRemote) { @@ -130,7 +130,7 @@ public class BlockDispenser extends BlockContainer /** * dispenses an item from a randomly selected item stack from the blocks inventory into the game world. */ - private void dispenseItem(World par1World, int par2, int par3, int par4, Random par5Random) + private void dispenseItem(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { int var6 = par1World.getBlockMetadata(par2, par3, par4); byte var9 = 0; @@ -165,9 +165,9 @@ public class BlockDispenser extends BlockContainer } else { - double var13 = (double)par2 + (double)var9 * 0.6D + 0.5D; + double var13 = (double)par2.doubleValue() + (double)var9 * 0.6D + 0.5D; double var15 = (double)par3 + 0.5D; - double var17 = (double)par4 + (double)var10 * 0.6D + 0.5D; + double var17 = (double)par4.doubleValue() + (double)var10 * 0.6D + 0.5D; ItemStack var19 = var11.getStackInSlot(var12); int var20 = spawnEntityWithAction(var11, par1World, var19, par5Random, par2, par3, par4, var9, var10, var13, var15, var17); @@ -191,7 +191,7 @@ public class BlockDispenser extends BlockContainer * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor blockID */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) + public void onNeighborBlockChange(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { if (par5 > 0 && Block.blocksList[par5].canProvidePower()) { @@ -207,7 +207,7 @@ public class BlockDispenser extends BlockContainer /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (!par1World.isRemote && (par1World.isBlockIndirectlyGettingPowered(par2, par3, par4) || par1World.isBlockIndirectlyGettingPowered(par2, par3 + 1, par4))) { @@ -226,7 +226,7 @@ public class BlockDispenser extends BlockContainer /** * Called when the block is placed in the world. */ - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving) + public void onBlockPlacedBy(World par1World, BigInteger par2, int par3, BigInteger par4, EntityLiving par5EntityLiving) { int var6 = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; @@ -316,7 +316,7 @@ public class BlockDispenser extends BlockContainer /** * arrows are fired, eggs are thrown, buckets create liquid blocks ... */ - private static int spawnEntityWithAction(TileEntityDispenser par0TileEntityDispenser, World par1World, ItemStack par2ItemStack, Random par3Random, int par4, int par5, int par6, int par7, int par8, double par9, double par11, double par13) + private static int spawnEntityWithAction(TileEntityDispenser par0TileEntityDispenser, World par1World, ItemStack par2ItemStack, Random par3Random, BigInteger par4, int par5, BigInteger par6, int par7, int par8, double par9, double par11, double par13) { float var15 = 1.1F; byte var16 = 6; @@ -379,8 +379,8 @@ public class BlockDispenser extends BlockContainer { if (par2ItemStack.itemID == Item.bucketEmpty.shiftedIndex) { - int var23 = par4 + par7; - int var18 = par6 + par8; + BigInteger var23 = par4.add(BigInteger.valueOf(par7)); + BigInteger var18 = par6.add(BigInteger.valueOf(par8)); Material var19 = par1World.getBlockMaterial(var23, par5, var18); int var20 = par1World.getBlockMetadata(var23, par5, var18); @@ -423,16 +423,18 @@ public class BlockDispenser extends BlockContainer } else if (par2ItemStack.getItem() instanceof ItemMinecart) { - par9 = (double)par4 + (par7 < 0 ? (double)par7 * 0.8D : (double)((float)par7 * 1.8F)) + (double)((float)Math.abs(par8) * 0.5F); - par13 = (double)par6 + (par8 < 0 ? (double)par8 * 0.8D : (double)((float)par8 * 1.8F)) + (double)((float)Math.abs(par7) * 0.5F); + BigInteger var23 = par4.add(BigInteger.valueOf(par7)); + BigInteger var18 = par6.add(BigInteger.valueOf(par8)); + par9 = (double)par4.doubleValue() + (par7 < 0 ? (double)par7 * 0.8D : (double)((float)par7 * 1.8F)) + (double)((float)Math.abs(par8) * 0.5F); + par13 = (double)par6.doubleValue() + (par8 < 0 ? (double)par8 * 0.8D : (double)((float)par8 * 1.8F)) + (double)((float)Math.abs(par7) * 0.5F); - if (BlockRail.isRailBlockAt(par1World, par4 + par7, par5, par6 + par8)) + if (BlockRail.isRailBlockAt(par1World, var23, par5, var18)) { par11 = (double)((float)par5 + 0.5F); } else { - if (!par1World.isAirBlock(par4 + par7, par5, par6 + par8) || !BlockRail.isRailBlockAt(par1World, par4 + par7, par5 - 1, par6 + par8)) + if (!par1World.isAirBlock(var23, par5, var18) || !BlockRail.isRailBlockAt(par1World, var23, par5 - 1, var18)) { return 0; } @@ -447,16 +449,18 @@ public class BlockDispenser extends BlockContainer } else if (par2ItemStack.itemID == Item.boat.shiftedIndex) { - par9 = (double)par4 + (par7 < 0 ? (double)par7 * 0.8D : (double)((float)par7 * 1.8F)) + (double)((float)Math.abs(par8) * 0.5F); - par13 = (double)par6 + (par8 < 0 ? (double)par8 * 0.8D : (double)((float)par8 * 1.8F)) + (double)((float)Math.abs(par7) * 0.5F); + BigInteger var23 = par4.add(BigInteger.valueOf(par7)); + BigInteger var18 = par6.add(BigInteger.valueOf(par8)); + par9 = (double)par4.doubleValue() + (par7 < 0 ? (double)par7 * 0.8D : (double)((float)par7 * 1.8F)) + (double)((float)Math.abs(par8) * 0.5F); + par13 = (double)par6.doubleValue() + (par8 < 0 ? (double)par8 * 0.8D : (double)((float)par8 * 1.8F)) + (double)((float)Math.abs(par7) * 0.5F); - if (par1World.getBlockMaterial(par4 + par7, par5, par6 + par8) == Material.water) + if (par1World.getBlockMaterial(var23, par5, var18) == Material.water) { par11 = (double)((float)par5 + 1.0F); } else { - if (!par1World.isAirBlock(par4 + par7, par5, par6 + par8) || par1World.getBlockMaterial(par4 + par7, par5 - 1, par6 + par8) != Material.water) + if (!par1World.isAirBlock(var23, par5, var18) || par1World.getBlockMaterial(var23, par5 - 1, var18) != Material.water) { return 0; } @@ -478,7 +482,7 @@ public class BlockDispenser extends BlockContainer { ItemBucket var17 = (ItemBucket)par2ItemStack.getItem(); - if (var17.func_77875_a(par1World, (double)par4, (double)par5, (double)par6, par4 + par7, par5, par6 + par8)) + if (var17.func_77875_a(par1World, (double)par4.doubleValue(), (double)par5, (double)par6.doubleValue(), par4.add(BigInteger.valueOf(par7)), par5, par6.add(BigInteger.valueOf(par8)))) { par2ItemStack.itemID = Item.bucketEmpty.shiftedIndex; par2ItemStack.stackSize = 1; diff --git a/src/minecraft/net/minecraft/src/BlockEnchantmentTable.java b/src/minecraft/net/minecraft/src/BlockEnchantmentTable.java index 964da3d..ad676eb 100644 --- a/src/minecraft/net/minecraft/src/BlockEnchantmentTable.java +++ b/src/minecraft/net/minecraft/src/BlockEnchantmentTable.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockEnchantmentTable extends BlockContainer @@ -23,31 +24,34 @@ public class BlockEnchantmentTable extends BlockContainer /** * A randomly called display update to be able to add particles or other items for display */ - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void randomDisplayTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { super.randomDisplayTick(par1World, par2, par3, par4, par5Random); - for (int var6 = par2 - 2; var6 <= par2 + 2; ++var6) + for (int var6 = - 2; var6 <= + 2; ++var6) { - for (int var7 = par4 - 2; var7 <= par4 + 2; ++var7) + for (int var7 = - 2; var7 <= + 2; ++var7) { - if (var6 > par2 - 2 && var6 < par2 + 2 && var7 == par4 - 1) + if (var6 > - 2 && var6 < + 2 && var7 == - 1) { - var7 = par4 + 2; + var7 = + 2; } + + BigInteger x = par2.add(BigInteger.valueOf(var6)), + z = par4.add(BigInteger.valueOf(var7)); if (par5Random.nextInt(16) == 0) { for (int var8 = par3; var8 <= par3 + 1; ++var8) { - if (par1World.getBlockId(var6, var8, var7) == Block.bookShelf.blockID) + if (par1World.getBlockId(x, var8, z) == Block.bookShelf.blockID) { - if (!par1World.isAirBlock((var6 - par2) / 2 + par2, var8, (var7 - par4) / 2 + par4)) + if (!par1World.isAirBlock(par2.add(BigInteger.valueOf((var6) / 2)), var8, par4.add(BigInteger.valueOf((var7) / 2)))) { break; } - par1World.spawnParticle("enchantmenttable", (double)par2 + 0.5D, (double)par3 + 2.0D, (double)par4 + 0.5D, (double)((float)(var6 - par2) + par5Random.nextFloat()) - 0.5D, (double)((float)(var8 - par3) - par5Random.nextFloat() - 1.0F), (double)((float)(var7 - par4) + par5Random.nextFloat()) - 0.5D); + par1World.spawnParticle("enchantmenttable", (double)par2.doubleValue() + 0.5D, (double)par3 + 2.0D, (double)par4.doubleValue() + 0.5D, (double)((float)(var6) + par5Random.nextFloat()) - 0.5D, (double)((float)(var8 - par3) - par5Random.nextFloat() - 1.0F), (double)((float)(var7) + par5Random.nextFloat()) - 0.5D); } } } @@ -91,7 +95,7 @@ public class BlockEnchantmentTable extends BlockContainer /** * Called upon block activation (right click on the block.) */ - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) + public boolean onBlockActivated(World par1World, BigInteger par2, int par3, BigInteger par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { if (par1World.isRemote) { diff --git a/src/minecraft/net/minecraft/src/BlockEndPortal.java b/src/minecraft/net/minecraft/src/BlockEndPortal.java index 872ea4f..6468ce9 100644 --- a/src/minecraft/net/minecraft/src/BlockEndPortal.java +++ b/src/minecraft/net/minecraft/src/BlockEndPortal.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; import java.util.Random; @@ -27,7 +28,7 @@ public class BlockEndPortal extends BlockContainer /** * Updates the blocks bounds based on its current state. Args: world, x, y, z */ - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4) { float var5 = 0.0625F; this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, var5, 1.0F); @@ -37,7 +38,7 @@ public class BlockEndPortal extends BlockContainer * Returns true if the given side of this block type should be rendered, if the adjacent block is at the given * coordinates. Args: blockAccess, x, y, z, side */ - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { return par5 != 0 ? false : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); } @@ -45,7 +46,7 @@ public class BlockEndPortal extends BlockContainer /** * if the specified block is in the given AABB, add its collision bounding box to the given list */ - public void addCollidingBlockToList(World par1World, int par2, int par3, int par4, AxisAlignedBB par5AxisAlignedBB, List par6List, Entity par7Entity) {} + public void addCollidingBlockToList(World par1World, BigInteger par2, int par3, BigInteger par4, AxisAlignedBB par5AxisAlignedBB, List par6List, Entity par7Entity) {} /** * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two @@ -75,7 +76,7 @@ public class BlockEndPortal extends BlockContainer /** * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity */ - public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) + public void onEntityCollidedWithBlock(World par1World, BigInteger par2, int par3, BigInteger par4, Entity par5Entity) { if (par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null && par5Entity instanceof EntityPlayer && !par1World.isRemote) { @@ -86,11 +87,11 @@ public class BlockEndPortal extends BlockContainer /** * A randomly called display update to be able to add particles or other items for display */ - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void randomDisplayTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { - double var6 = (double)((float)par2 + par5Random.nextFloat()); + double var6 = (double)((float)par2.floatValue() + par5Random.nextFloat()); double var8 = (double)((float)par3 + 0.8F); - double var10 = (double)((float)par4 + par5Random.nextFloat()); + double var10 = (double)((float)par4.floatValue() + par5Random.nextFloat()); double var12 = 0.0D; double var14 = 0.0D; double var16 = 0.0D; @@ -108,7 +109,7 @@ public class BlockEndPortal extends BlockContainer /** * Called whenever the block is added into the world. Args: world, x, y, z */ - public void onBlockAdded(World par1World, int par2, int par3, int par4) + public void onBlockAdded(World par1World, BigInteger par2, int par3, BigInteger par4) { if (!bossDefeated) { @@ -122,7 +123,7 @@ public class BlockEndPortal extends BlockContainer /** * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) */ - public int idPicked(World par1World, int par2, int par3, int par4) + public int idPicked(World par1World, BigInteger par2, int par3, BigInteger par4) { return 0; } diff --git a/src/minecraft/net/minecraft/src/BlockEndPortalFrame.java b/src/minecraft/net/minecraft/src/BlockEndPortalFrame.java index 0838337..6707a3c 100644 --- a/src/minecraft/net/minecraft/src/BlockEndPortalFrame.java +++ b/src/minecraft/net/minecraft/src/BlockEndPortalFrame.java @@ -81,7 +81,7 @@ public class BlockEndPortalFrame extends Block /** * Called when the block is placed in the world. */ - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving) + public void onBlockPlacedBy(World par1World, BigInteger par2, int par3, BigInteger par4, EntityLiving par5EntityLiving) { int var6 = ((MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3) + 2) % 4; par1World.setBlockMetadataWithNotify(par2, par3, par4, var6); diff --git a/src/minecraft/net/minecraft/src/BlockEnderChest.java b/src/minecraft/net/minecraft/src/BlockEnderChest.java index 3652ef3..c023d91 100644 --- a/src/minecraft/net/minecraft/src/BlockEnderChest.java +++ b/src/minecraft/net/minecraft/src/BlockEnderChest.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockEnderChest extends BlockContainer @@ -63,7 +64,7 @@ public class BlockEnderChest extends BlockContainer /** * Called when the block is placed in the world. */ - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving) + public void onBlockPlacedBy(World par1World, BigInteger par2, int par3, BigInteger par4, EntityLiving par5EntityLiving) { byte var6 = 0; int var7 = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; @@ -94,7 +95,7 @@ public class BlockEnderChest extends BlockContainer /** * Called upon block activation (right click on the block.) */ - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) + public boolean onBlockActivated(World par1World, BigInteger par2, int par3, BigInteger par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { InventoryEnderChest var10 = par5EntityPlayer.getInventoryEnderChest(); TileEntityEnderChest var11 = (TileEntityEnderChest)par1World.getBlockTileEntity(par2, par3, par4); diff --git a/src/minecraft/net/minecraft/src/BlockFarmland.java b/src/minecraft/net/minecraft/src/BlockFarmland.java index afad474..72370d9 100644 --- a/src/minecraft/net/minecraft/src/BlockFarmland.java +++ b/src/minecraft/net/minecraft/src/BlockFarmland.java @@ -137,7 +137,7 @@ public class BlockFarmland extends Block * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor blockID */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) + public void onNeighborBlockChange(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { super.onNeighborBlockChange(par1World, par2, par3, par4, par5); Material var6 = par1World.getBlockMaterial(par2, par3 + 1, par4); diff --git a/src/minecraft/net/minecraft/src/BlockFlowing.java b/src/minecraft/net/minecraft/src/BlockFlowing.java index 5fcc5e1..14af4e5 100644 --- a/src/minecraft/net/minecraft/src/BlockFlowing.java +++ b/src/minecraft/net/minecraft/src/BlockFlowing.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockFlowing extends BlockFluid @@ -30,7 +31,7 @@ public class BlockFlowing extends BlockFluid /** * Updates the flow for the BlockFlowing object. */ - private void updateFlow(World par1World, int par2, int par3, int par4) + private void updateFlow(World par1World, BigInteger par2, int par3, BigInteger par4) { int var5 = par1World.getBlockMetadata(par2, par3, par4); par1World.setBlockAndMetadata(par2, par3, par4, this.blockID + 1, var5); @@ -45,7 +46,7 @@ public class BlockFlowing extends BlockFluid /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { int var6 = this.getFlowDecay(par1World, par2, par3, par4); byte var7 = 1; @@ -62,10 +63,10 @@ public class BlockFlowing extends BlockFluid { byte var9 = -100; this.numAdjacentSources = 0; - int var12 = this.getSmallestFlowDecay(par1World, par2 - 1, par3, par4, var9); - var12 = this.getSmallestFlowDecay(par1World, par2 + 1, par3, par4, var12); - var12 = this.getSmallestFlowDecay(par1World, par2, par3, par4 - 1, var12); - var12 = this.getSmallestFlowDecay(par1World, par2, par3, par4 + 1, var12); + int var12 = this.getSmallestFlowDecay(par1World, par2.subtract(BigInteger.ONE), par3, par4, var9); + var12 = this.getSmallestFlowDecay(par1World, par2.add(BigInteger.ONE), par3, par4, var12); + var12 = this.getSmallestFlowDecay(par1World, par2, par3, par4.subtract(BigInteger.ONE), var12); + var12 = this.getSmallestFlowDecay(par1World, par2, par3, par4.add(BigInteger.ONE), var12); var10 = var12 + var7; if (var10 >= 8 || var12 < 0) @@ -168,22 +169,22 @@ public class BlockFlowing extends BlockFluid if (var13[0]) { - this.flowIntoBlock(par1World, par2 - 1, par3, par4, var10); + this.flowIntoBlock(par1World, par2.subtract(BigInteger.ONE), par3, par4, var10); } if (var13[1]) { - this.flowIntoBlock(par1World, par2 + 1, par3, par4, var10); + this.flowIntoBlock(par1World, par2.add(BigInteger.ONE), par3, par4, var10); } if (var13[2]) { - this.flowIntoBlock(par1World, par2, par3, par4 - 1, var10); + this.flowIntoBlock(par1World, par2, par3, par4.subtract(BigInteger.ONE), var10); } if (var13[3]) { - this.flowIntoBlock(par1World, par2, par3, par4 + 1, var10); + this.flowIntoBlock(par1World, par2, par3, par4.add(BigInteger.ONE), var10); } } } @@ -192,7 +193,7 @@ public class BlockFlowing extends BlockFluid * flowIntoBlock(World world, int x, int y, int z, int newFlowDecay) - Flows into the block at the coordinates and * changes the block type to the liquid. */ - private void flowIntoBlock(World par1World, int par2, int par3, int par4, int par5) + private void flowIntoBlock(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { if (this.liquidCanDisplaceBlock(par1World, par2, par3, par4)) { @@ -219,7 +220,7 @@ public class BlockFlowing extends BlockFluid * determine the path of least resistance, this method returns the lowest possible flow cost for the direction of * flow indicated. Each necessary horizontal flow adds to the flow cost. */ - private int calculateFlowCost(World par1World, int par2, int par3, int par4, int par5, int par6) + private int calculateFlowCost(World par1World, BigInteger par2, int par3, BigInteger par4, int par5, int par6) { int var7 = 1000; @@ -227,27 +228,27 @@ public class BlockFlowing extends BlockFluid { if ((var8 != 0 || par6 != 1) && (var8 != 1 || par6 != 0) && (var8 != 2 || par6 != 3) && (var8 != 3 || par6 != 2)) { - int var9 = par2; - int var11 = par4; + BigInteger var9 = par2; + BigInteger var11 = par4; if (var8 == 0) { - var9 = par2 - 1; + var9 = par2.subtract(BigInteger.ONE); } if (var8 == 1) { - ++var9; + var9 = var9.add(BigInteger.ONE); } if (var8 == 2) { - var11 = par4 - 1; + var11 = par4.subtract(BigInteger.ONE); } if (var8 == 3) { - ++var11; + var11 = var11.add(BigInteger.ONE); } if (!this.blockBlocksFlow(par1World, var9, par3, var11) && (par1World.getBlockMaterial(var9, par3, var11) != this.blockMaterial || par1World.getBlockMetadata(var9, par3, var11) != 0)) @@ -278,35 +279,35 @@ public class BlockFlowing extends BlockFluid * cost. Each array index corresponds to one of the four cardinal directions. A value of true indicates the * direction is optimal. */ - private boolean[] getOptimalFlowDirections(World par1World, int par2, int par3, int par4) + private boolean[] getOptimalFlowDirections(World par1World, BigInteger par2, int par3, BigInteger par4) { - int var5; - int var6; + BigInteger x; + BigInteger z; - for (var5 = 0; var5 < 4; ++var5) + for (int var5 = 0; var5 < 4; ++var5) { this.flowCost[var5] = 1000; - var6 = par2; - int var8 = par4; + BigInteger var6 = par2; + BigInteger var8 = par4; if (var5 == 0) { - var6 = par2 - 1; + var6 = par2.subtract(BigInteger.ONE); } if (var5 == 1) { - ++var6; + var6 = var6.add(BigInteger.ONE); } if (var5 == 2) { - var8 = par4 - 1; + var8 = par4.subtract(BigInteger.ONE); } if (var5 == 3) { - ++var8; + var8 = var8.add(BigInteger.ONE); } if (!this.blockBlocksFlow(par1World, var6, par3, var8) && (par1World.getBlockMaterial(var6, par3, var8) != this.blockMaterial || par1World.getBlockMetadata(var6, par3, var8) != 0)) @@ -322,9 +323,9 @@ public class BlockFlowing extends BlockFluid } } - var5 = this.flowCost[0]; + int var5 = this.flowCost[0]; - for (var6 = 1; var6 < 4; ++var6) + for (int var6 = 1; var6 < 4; ++var6) { if (this.flowCost[var6] < var5) { @@ -332,7 +333,7 @@ public class BlockFlowing extends BlockFluid } } - for (var6 = 0; var6 < 4; ++var6) + for (int var6 = 0; var6 < 4; ++var6) { this.isOptimalFlowDirection[var6] = this.flowCost[var6] == var5; } @@ -343,7 +344,7 @@ public class BlockFlowing extends BlockFluid /** * Returns true if block at coords blocks fluids */ - private boolean blockBlocksFlow(World par1World, int par2, int par3, int par4) + private boolean blockBlocksFlow(World par1World, BigInteger par2, int par3, BigInteger par4) { int var5 = par1World.getBlockId(par2, par3, par4); @@ -371,7 +372,7 @@ public class BlockFlowing extends BlockFluid * value is valid and the other isn't, the valid value will be returned. Valid values are >= 0. Flow decay is the * amount that a liquid has dissipated. 0 indicates a source block. */ - protected int getSmallestFlowDecay(World par1World, int par2, int par3, int par4, int par5) + protected int getSmallestFlowDecay(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { int var6 = this.getFlowDecay(par1World, par2, par3, par4); @@ -398,7 +399,7 @@ public class BlockFlowing extends BlockFluid /** * Returns true if the block at the coordinates can be displaced by the liquid. */ - private boolean liquidCanDisplaceBlock(World par1World, int par2, int par3, int par4) + private boolean liquidCanDisplaceBlock(World par1World, BigInteger par2, int par3, BigInteger par4) { Material var5 = par1World.getBlockMaterial(par2, par3, par4); return var5 == this.blockMaterial ? false : (var5 == Material.lava ? false : !this.blockBlocksFlow(par1World, par2, par3, par4)); @@ -407,7 +408,7 @@ public class BlockFlowing extends BlockFluid /** * Called whenever the block is added into the world. Args: world, x, y, z */ - public void onBlockAdded(World par1World, int par2, int par3, int par4) + public void onBlockAdded(World par1World, BigInteger par2, int par3, BigInteger par4) { super.onBlockAdded(par1World, par2, par3, par4); diff --git a/src/minecraft/net/minecraft/src/BlockFurnace.java b/src/minecraft/net/minecraft/src/BlockFurnace.java index d7a374e..7d8671e 100644 --- a/src/minecraft/net/minecraft/src/BlockFurnace.java +++ b/src/minecraft/net/minecraft/src/BlockFurnace.java @@ -37,7 +37,7 @@ public class BlockFurnace extends BlockContainer /** * Called whenever the block is added into the world. Args: world, x, y, z */ - public void onBlockAdded(World par1World, int par2, int par3, int par4) + public void onBlockAdded(World par1World, BigInteger par2, int par3, BigInteger par4) { super.onBlockAdded(par1World, par2, par3, par4); this.setDefaultDirection(par1World, par2, par3, par4); @@ -46,14 +46,14 @@ public class BlockFurnace extends BlockContainer /** * set a blocks direction */ - private void setDefaultDirection(World par1World, int par2, int par3, int par4) + private void setDefaultDirection(World par1World, BigInteger par2, int par3, BigInteger par4) { if (!par1World.isRemote) { - int var5 = par1World.getBlockId(par2, par3, par4 - 1); - int var6 = par1World.getBlockId(par2, par3, par4 + 1); - int var7 = par1World.getBlockId(par2 - 1, par3, par4); - int var8 = par1World.getBlockId(par2 + 1, par3, par4); + int var5 = par1World.getBlockId(par2, par3, par4.subtract(BigInteger.ONE)); + int var6 = par1World.getBlockId(par2, par3, par4.add(BigInteger.ONE)); + int var7 = par1World.getBlockId(par2.subtract(BigInteger.ONE), par3, par4); + int var8 = par1World.getBlockId(par2.add(BigInteger.ONE), par3, par4); byte var9 = 3; if (Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) @@ -83,7 +83,7 @@ public class BlockFurnace extends BlockContainer /** * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side */ - public int getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public int getBlockTexture(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { if (par5 == 1) { @@ -103,14 +103,14 @@ public class BlockFurnace extends BlockContainer /** * A randomly called display update to be able to add particles or other items for display */ - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void randomDisplayTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (this.isActive) { int var6 = par1World.getBlockMetadata(par2, par3, par4); - float var7 = (float)par2 + 0.5F; + float var7 = (float)par2.floatValue() + 0.5F; float var8 = (float)par3 + 0.0F + par5Random.nextFloat() * 6.0F / 16.0F; - float var9 = (float)par4 + 0.5F; + float var9 = (float)par4.floatValue() + 0.5F; float var10 = 0.52F; float var11 = par5Random.nextFloat() * 0.6F - 0.3F; @@ -148,7 +148,7 @@ public class BlockFurnace extends BlockContainer /** * Called upon block activation (right click on the block.) */ - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) + public boolean onBlockActivated(World par1World, BigInteger par2, int par3, BigInteger par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { if (par1World.isRemote) { @@ -170,7 +170,7 @@ public class BlockFurnace extends BlockContainer /** * Update which block ID the furnace is using depending on whether or not it is burning */ - public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4) + public static void updateFurnaceBlockState(boolean par0, World par1World, BigInteger par2, int par3, BigInteger par4) { int var5 = par1World.getBlockMetadata(par2, par3, par4); TileEntity var6 = par1World.getBlockTileEntity(par2, par3, par4); @@ -206,7 +206,7 @@ public class BlockFurnace extends BlockContainer /** * Called when the block is placed in the world. */ - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving) + public void onBlockPlacedBy(World par1World, BigInteger par2, int par3, BigInteger par4, EntityLiving par5EntityLiving) { int var6 = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; diff --git a/src/minecraft/net/minecraft/src/BlockGrass.java b/src/minecraft/net/minecraft/src/BlockGrass.java index b54705e..004b82f 100644 --- a/src/minecraft/net/minecraft/src/BlockGrass.java +++ b/src/minecraft/net/minecraft/src/BlockGrass.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockGrass extends Block @@ -23,7 +24,7 @@ public class BlockGrass extends Block /** * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side */ - public int getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public int getBlockTexture(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { if (par5 == 1) { @@ -59,7 +60,7 @@ public class BlockGrass extends Block * Returns a integer with hex for 0xrrggbb with this color multiplied against the blocks color. Note only called * when first determining what to render. */ - public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) + public int colorMultiplier(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4) { int var5 = 0; int var6 = 0; @@ -69,7 +70,7 @@ public class BlockGrass extends Block { for (int var9 = -1; var9 <= 1; ++var9) { - int var10 = par1IBlockAccess.getBiomeGenForCoords(par2 + var9, par4 + var8).getBiomeGrassColor(); + int var10 = par1IBlockAccess.getBiomeGenForCoords(par2.add(BigInteger.valueOf(var8)), par4.add(BigInteger.valueOf(var9))).getBiomeGrassColor(); var5 += (var10 & 16711680) >> 16; var6 += (var10 & 65280) >> 8; var7 += var10 & 255; @@ -82,7 +83,7 @@ public class BlockGrass extends Block /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (!par1World.isRemote) { @@ -94,9 +95,9 @@ public class BlockGrass extends Block { for (int var6 = 0; var6 < 4; ++var6) { - int var7 = par2 + par5Random.nextInt(3) - 1; + BigInteger var7 = par2.add(BigInteger.valueOf(par5Random.nextInt(3) - 1)); int var8 = par3 + par5Random.nextInt(5) - 3; - int var9 = par4 + par5Random.nextInt(3) - 1; + BigInteger var9 = par4.add(BigInteger.valueOf(par5Random.nextInt(3) - 1)); int var10 = par1World.getBlockId(var7, var8 + 1, var9); if (par1World.getBlockId(var7, var8, var9) == Block.dirt.blockID && par1World.getBlockLightValue(var7, var8 + 1, var9) >= 4 && Block.lightOpacity[var10] <= 2) diff --git a/src/minecraft/net/minecraft/src/BlockHalfSlab.java b/src/minecraft/net/minecraft/src/BlockHalfSlab.java index 5ade4fe..43aeae5 100644 --- a/src/minecraft/net/minecraft/src/BlockHalfSlab.java +++ b/src/minecraft/net/minecraft/src/BlockHalfSlab.java @@ -28,7 +28,7 @@ public abstract class BlockHalfSlab extends Block /** * Updates the blocks bounds based on its current state. Args: world, x, y, z */ - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4) { if (this.isDoubleSlab) { diff --git a/src/minecraft/net/minecraft/src/BlockLeavesBase.java b/src/minecraft/net/minecraft/src/BlockLeavesBase.java index d39bdc4..1e81305 100644 --- a/src/minecraft/net/minecraft/src/BlockLeavesBase.java +++ b/src/minecraft/net/minecraft/src/BlockLeavesBase.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class BlockLeavesBase extends Block { /** @@ -27,7 +29,7 @@ public class BlockLeavesBase extends Block * Returns true if the given side of this block type should be rendered, if the adjacent block is at the given * coordinates. Args: blockAccess, x, y, z, side */ - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { int var6 = par1IBlockAccess.getBlockId(par2, par3, par4); return !this.graphicsLevel && var6 == this.blockID ? false : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); diff --git a/src/minecraft/net/minecraft/src/BlockLilyPad.java b/src/minecraft/net/minecraft/src/BlockLilyPad.java index dad780b..3f866f5 100644 --- a/src/minecraft/net/minecraft/src/BlockLilyPad.java +++ b/src/minecraft/net/minecraft/src/BlockLilyPad.java @@ -76,7 +76,7 @@ public class BlockLilyPad extends BlockFlower /** * Can this block stay at this position. Similar to canPlaceBlockAt except gets checked often with plants. */ - public boolean canBlockStay(World par1World, int par2, int par3, int par4) + public boolean canBlockStay(World par1World, BigInteger par2, int par3, BigInteger par4) { return par3 >= 0 && par3 < 256 ? par1World.getBlockMaterial(par2, par3 - 1, par4) == Material.water && par1World.getBlockMetadata(par2, par3 - 1, par4) == 0 : false; } diff --git a/src/minecraft/net/minecraft/src/BlockLockedChest.java b/src/minecraft/net/minecraft/src/BlockLockedChest.java index 447954a..2e86c4b 100644 --- a/src/minecraft/net/minecraft/src/BlockLockedChest.java +++ b/src/minecraft/net/minecraft/src/BlockLockedChest.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockLockedChest extends Block @@ -13,7 +14,7 @@ public class BlockLockedChest extends Block /** * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side */ - public int getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public int getBlockTexture(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { if (par5 == 1) { @@ -25,10 +26,10 @@ public class BlockLockedChest extends Block } else { - int var6 = par1IBlockAccess.getBlockId(par2, par3, par4 - 1); - int var7 = par1IBlockAccess.getBlockId(par2, par3, par4 + 1); - int var8 = par1IBlockAccess.getBlockId(par2 - 1, par3, par4); - int var9 = par1IBlockAccess.getBlockId(par2 + 1, par3, par4); + int var6 = par1IBlockAccess.getBlockId(par2, par3, par4.subtract(BigInteger.ONE)); + int var7 = par1IBlockAccess.getBlockId(par2, par3, par4.add(BigInteger.ONE)); + int var8 = par1IBlockAccess.getBlockId(par2.subtract(BigInteger.ONE), par3, par4); + int var9 = par1IBlockAccess.getBlockId(par2.add(BigInteger.ONE), par3, par4); byte var10 = 3; if (Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var7]) @@ -66,15 +67,15 @@ public class BlockLockedChest extends Block /** * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z */ - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) + public boolean canPlaceBlockAt(World par1World, BigInteger par2, int par3, BigInteger par4) { return true; } /** - * Ticks the block if it's been scheduled + * Ticks the block if it's been scheduledBigInteger */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { par1World.setBlockWithNotify(par2, par3, par4, 0); } diff --git a/src/minecraft/net/minecraft/src/BlockMycelium.java b/src/minecraft/net/minecraft/src/BlockMycelium.java index f5a6425..d81a2b9 100644 --- a/src/minecraft/net/minecraft/src/BlockMycelium.java +++ b/src/minecraft/net/minecraft/src/BlockMycelium.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockMycelium extends Block @@ -23,7 +24,7 @@ public class BlockMycelium extends Block /** * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side */ - public int getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public int getBlockTexture(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { if (par5 == 1) { @@ -43,7 +44,7 @@ public class BlockMycelium extends Block /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (!par1World.isRemote) { @@ -55,9 +56,9 @@ public class BlockMycelium extends Block { for (int var6 = 0; var6 < 4; ++var6) { - int var7 = par2 + par5Random.nextInt(3) - 1; + BigInteger var7 = par2.add(BigInteger.valueOf(par5Random.nextInt(3) - 1)); int var8 = par3 + par5Random.nextInt(5) - 3; - int var9 = par4 + par5Random.nextInt(3) - 1; + BigInteger var9 = par4.add(BigInteger.valueOf(par5Random.nextInt(3) - 1)); int var10 = par1World.getBlockId(var7, var8 + 1, var9); if (par1World.getBlockId(var7, var8, var9) == Block.dirt.blockID && par1World.getBlockLightValue(var7, var8 + 1, var9) >= 4 && Block.lightOpacity[var10] <= 2) @@ -72,13 +73,13 @@ public class BlockMycelium extends Block /** * A randomly called display update to be able to add particles or other items for display */ - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void randomDisplayTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { super.randomDisplayTick(par1World, par2, par3, par4, par5Random); if (par5Random.nextInt(10) == 0) { - par1World.spawnParticle("townaura", (double)((float)par2 + par5Random.nextFloat()), (double)((float)par3 + 1.1F), (double)((float)par4 + par5Random.nextFloat()), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("townaura", (double)((float)par2.floatValue() + par5Random.nextFloat()), (double)((float)par3 + 1.1F), (double)((float)par4.floatValue() + par5Random.nextFloat()), 0.0D, 0.0D, 0.0D); } } diff --git a/src/minecraft/net/minecraft/src/BlockNote.java b/src/minecraft/net/minecraft/src/BlockNote.java index 18ebccd..b084211 100644 --- a/src/minecraft/net/minecraft/src/BlockNote.java +++ b/src/minecraft/net/minecraft/src/BlockNote.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class BlockNote extends BlockContainer { public BlockNote(int par1) @@ -20,7 +22,7 @@ public class BlockNote extends BlockContainer * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor blockID */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) + public void onNeighborBlockChange(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { if (par5 > 0) { @@ -42,7 +44,7 @@ public class BlockNote extends BlockContainer /** * Called upon block activation (right click on the block.) */ - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) + public boolean onBlockActivated(World par1World, BigInteger par2, int par3, BigInteger par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { if (par1World.isRemote) { @@ -65,7 +67,7 @@ public class BlockNote extends BlockContainer /** * Called when the block is clicked by a player. Args: x, y, z, entityPlayer */ - public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer) + public void onBlockClicked(World par1World, BigInteger par2, int par3, BigInteger par4, EntityPlayer par5EntityPlayer) { if (!par1World.isRemote) { @@ -90,7 +92,7 @@ public class BlockNote extends BlockContainer * Called when the block receives a BlockEvent - see World.addBlockEvent. By default, passes it on to the tile * entity at this location. Args: world, x, y, z, blockID, EventID, event parameter */ - public void onBlockEventReceived(World par1World, int par2, int par3, int par4, int par5, int par6) + public void onBlockEventReceived(World par1World, BigInteger par2, int par3, BigInteger par4, int par5, int par6) { float var7 = (float)Math.pow(2.0D, (double)(par6 - 12) / 12.0D); String var8 = "harp"; @@ -115,7 +117,7 @@ public class BlockNote extends BlockContainer var8 = "bassattack"; } - par1World.playSoundEffect((double)par2 + 0.5D, (double)par3 + 0.5D, (double)par4 + 0.5D, "note." + var8, 3.0F, var7); - par1World.spawnParticle("note", (double)par2 + 0.5D, (double)par3 + 1.2D, (double)par4 + 0.5D, (double)par6 / 24.0D, 0.0D, 0.0D); + par1World.playSoundEffect((double)par2.doubleValue() + 0.5D, (double)par3 + 0.5D, (double)par4.doubleValue() + 0.5D, "note." + var8, 3.0F, var7); + par1World.spawnParticle("note", (double)par2.doubleValue() + 0.5D, (double)par3 + 1.2D, (double)par4.doubleValue() + 0.5D, (double)par6 / 24.0D, 0.0D, 0.0D); } } diff --git a/src/minecraft/net/minecraft/src/BlockPane.java b/src/minecraft/net/minecraft/src/BlockPane.java index d7bb63b..9d68e55 100644 --- a/src/minecraft/net/minecraft/src/BlockPane.java +++ b/src/minecraft/net/minecraft/src/BlockPane.java @@ -62,7 +62,7 @@ public class BlockPane extends Block * Returns true if the given side of this block type should be rendered, if the adjacent block is at the given * coordinates. Args: blockAccess, x, y, z, side */ - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { int var6 = par1IBlockAccess.getBlockId(par2, par3, par4); return var6 == this.blockID ? false : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); diff --git a/src/minecraft/net/minecraft/src/BlockRedstoneLight.java b/src/minecraft/net/minecraft/src/BlockRedstoneLight.java index 45e7248..fba695a 100644 --- a/src/minecraft/net/minecraft/src/BlockRedstoneLight.java +++ b/src/minecraft/net/minecraft/src/BlockRedstoneLight.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockRedstoneLight extends Block @@ -22,7 +23,7 @@ public class BlockRedstoneLight extends Block /** * Called whenever the block is added into the world. Args: world, x, y, z */ - public void onBlockAdded(World par1World, int par2, int par3, int par4) + public void onBlockAdded(World par1World, BigInteger par2, int par3, BigInteger par4) { if (!par1World.isRemote) { @@ -41,7 +42,7 @@ public class BlockRedstoneLight extends Block * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor blockID */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) + public void onNeighborBlockChange(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { if (!par1World.isRemote) { @@ -59,7 +60,7 @@ public class BlockRedstoneLight extends Block /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (!par1World.isRemote && this.powered && !par1World.isBlockIndirectlyGettingPowered(par2, par3, par4)) { @@ -78,7 +79,7 @@ public class BlockRedstoneLight extends Block /** * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) */ - public int idPicked(World par1World, int par2, int par3, int par4) + public int idPicked(World par1World, BigInteger par2, int par3, BigInteger par4) { return Block.redstoneLampIdle.blockID; } diff --git a/src/minecraft/net/minecraft/src/BlockRedstoneOre.java b/src/minecraft/net/minecraft/src/BlockRedstoneOre.java index 0c81473..dbe9f18 100644 --- a/src/minecraft/net/minecraft/src/BlockRedstoneOre.java +++ b/src/minecraft/net/minecraft/src/BlockRedstoneOre.java @@ -30,7 +30,7 @@ public class BlockRedstoneOre extends Block /** * Called when the block is clicked by a player. Args: x, y, z, entityPlayer */ - public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer) + public void onBlockClicked(World par1World, BigInteger par2, int par3, BigInteger par4, EntityPlayer par5EntityPlayer) { this.glow(par1World, par2, par3, par4); super.onBlockClicked(par1World, par2, par3, par4, par5EntityPlayer); @@ -39,7 +39,7 @@ public class BlockRedstoneOre extends Block /** * Called whenever an entity is walking on top of this block. Args: world, x, y, z, entity */ - public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity) + public void onEntityWalking(World par1World, BigInteger par2, int par3, BigInteger par4, Entity par5Entity) { this.glow(par1World, par2, par3, par4); super.onEntityWalking(par1World, par2, par3, par4, par5Entity); @@ -48,7 +48,7 @@ public class BlockRedstoneOre extends Block /** * Called upon block activation (right click on the block.) */ - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) + public boolean onBlockActivated(World par1World, BigInteger par2, int par3, BigInteger par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { this.glow(par1World, par2, par3, par4); return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); @@ -57,7 +57,7 @@ public class BlockRedstoneOre extends Block /** * The redstone ore glows. */ - private void glow(World par1World, int par2, int par3, int par4) + private void glow(World par1World, BigInteger par2, int par3, BigInteger par4) { this.sparkle(par1World, par2, par3, par4); @@ -70,7 +70,7 @@ public class BlockRedstoneOre extends Block /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (this.blockID == Block.oreRedstoneGlowing.blockID) { @@ -119,7 +119,7 @@ public class BlockRedstoneOre extends Block /** * A randomly called display update to be able to add particles or other items for display */ - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void randomDisplayTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (this.glowing) { @@ -130,16 +130,16 @@ public class BlockRedstoneOre extends Block /** * The redstone ore sparkles. */ - private void sparkle(World par1World, int par2, int par3, int par4) + private void sparkle(World par1World, BigInteger par2, int par3, BigInteger par4) { Random var5 = par1World.rand; double var6 = 0.0625D; for (int var8 = 0; var8 < 6; ++var8) { - double var9 = (double)((float)par2 + var5.nextFloat()); + double var9 = (double)((float)par2.floatValue() + var5.nextFloat()); double var11 = (double)((float)par3 + var5.nextFloat()); - double var13 = (double)((float)par4 + var5.nextFloat()); + double var13 = (double)((float)par4.floatValue() + var5.nextFloat()); if (var8 == 0 && !par1World.isBlockOpaqueCube(par2, par3 + 1, par4)) { @@ -151,27 +151,27 @@ public class BlockRedstoneOre extends Block var11 = (double)(par3 + 0) - var6; } - if (var8 == 2 && !par1World.isBlockOpaqueCube(par2, par3, par4 + 1)) + if (var8 == 2 && !par1World.isBlockOpaqueCube(par2, par3, par4.add(BigInteger.ONE))) { - var13 = (double)(par4 + 1) + var6; + var13 = (double)(par4.add(BigInteger.ONE).doubleValue()) + var6; } - if (var8 == 3 && !par1World.isBlockOpaqueCube(par2, par3, par4 - 1)) + if (var8 == 3 && !par1World.isBlockOpaqueCube(par2, par3, par4.subtract(BigInteger.ONE))) { - var13 = (double)(par4 + 0) - var6; + var13 = (double)(par4.doubleValue()) - var6; } - if (var8 == 4 && !par1World.isBlockOpaqueCube(par2 + 1, par3, par4)) + if (var8 == 4 && !par1World.isBlockOpaqueCube(par2.add(BigInteger.ONE), par3, par4)) { - var9 = (double)(par2 + 1) + var6; + var9 = (double)(par2.add(BigInteger.ONE).doubleValue()) + var6; } - if (var8 == 5 && !par1World.isBlockOpaqueCube(par2 - 1, par3, par4)) + if (var8 == 5 && !par1World.isBlockOpaqueCube(par2.subtract(BigInteger.ONE), par3, par4)) { - var9 = (double)(par2 + 0) - var6; + var9 = (double)(par2.doubleValue()) - var6; } - if (var9 < (double)par2 || var9 > (double)(par2 + 1) || var11 < 0.0D || var11 > (double)(par3 + 1) || var13 < (double)par4 || var13 > (double)(par4 + 1)) + if (var9 < (double)par2.doubleValue() || var9 > (double)(par2.add(BigInteger.ONE).doubleValue()) || var11 < 0.0D || var11 > (double)(par3 + 1) || var13 < (double)par4.doubleValue() || var13 > (double)(par4.add(BigInteger.ONE).doubleValue())) { par1World.spawnParticle("reddust", var9, var11, var13, 0.0D, 0.0D, 0.0D); } diff --git a/src/minecraft/net/minecraft/src/BlockRedstoneTorch.java b/src/minecraft/net/minecraft/src/BlockRedstoneTorch.java index 98172d5..e93a7b8 100644 --- a/src/minecraft/net/minecraft/src/BlockRedstoneTorch.java +++ b/src/minecraft/net/minecraft/src/BlockRedstoneTorch.java @@ -24,7 +24,7 @@ public class BlockRedstoneTorch extends BlockTorch return par1 == 1 ? Block.redstoneWire.getBlockTextureFromSideAndMetadata(par1, par2) : super.getBlockTextureFromSideAndMetadata(par1, par2); } - private boolean checkForBurnout(World par1World, int par2, int par3, int par4, boolean par5) + private boolean checkForBurnout(World par1World, BigInteger par2, int par3, BigInteger par4, boolean par5) { if (!redstoneUpdateInfoCache.containsKey(par1World)) { @@ -43,7 +43,7 @@ public class BlockRedstoneTorch extends BlockTorch { RedstoneUpdateInfo var8 = (RedstoneUpdateInfo)var7.next(); - if (var8.x == par2 && var8.y == par3 && var8.z == par4) + if (var8.x.equals(par2) && var8.y == par3 && var8.z.equals(par4)) { ++var6; @@ -76,7 +76,7 @@ public class BlockRedstoneTorch extends BlockTorch /** * Called whenever the block is added into the world. Args: world, x, y, z */ - public void onBlockAdded(World par1World, int par2, int par3, int par4) + public void onBlockAdded(World par1World, BigInteger par2, int par3, BigInteger par4) { if (par1World.getBlockMetadata(par2, par3, par4) == 0) { @@ -87,10 +87,10 @@ public class BlockRedstoneTorch extends BlockTorch { par1World.notifyBlocksOfNeighborChange(par2, par3 - 1, par4, this.blockID); par1World.notifyBlocksOfNeighborChange(par2, par3 + 1, par4, this.blockID); - par1World.notifyBlocksOfNeighborChange(par2 - 1, par3, par4, this.blockID); - par1World.notifyBlocksOfNeighborChange(par2 + 1, par3, par4, this.blockID); - par1World.notifyBlocksOfNeighborChange(par2, par3, par4 - 1, this.blockID); - par1World.notifyBlocksOfNeighborChange(par2, par3, par4 + 1, this.blockID); + par1World.notifyBlocksOfNeighborChange(par2.subtract(BigInteger.ONE), par3, par4, this.blockID); + par1World.notifyBlocksOfNeighborChange(par2.add(BigInteger.ONE), par3, par4, this.blockID); + par1World.notifyBlocksOfNeighborChange(par2, par3, par4.subtract(BigInteger.ONE), this.blockID); + par1World.notifyBlocksOfNeighborChange(par2, par3, par4.add(BigInteger.ONE), this.blockID); } } @@ -103,17 +103,17 @@ public class BlockRedstoneTorch extends BlockTorch { par1World.notifyBlocksOfNeighborChange(par2, par3 - 1, par4, this.blockID); par1World.notifyBlocksOfNeighborChange(par2, par3 + 1, par4, this.blockID); - par1World.notifyBlocksOfNeighborChange(par2 - 1, par3, par4, this.blockID); - par1World.notifyBlocksOfNeighborChange(par2 + 1, par3, par4, this.blockID); - par1World.notifyBlocksOfNeighborChange(par2, par3, par4 - 1, this.blockID); - par1World.notifyBlocksOfNeighborChange(par2, par3, par4 + 1, this.blockID); + par1World.notifyBlocksOfNeighborChange(par2.subtract(BigInteger.ONE), par3, par4, this.blockID); + par1World.notifyBlocksOfNeighborChange(par2.add(BigInteger.ONE), par3, par4, this.blockID); + par1World.notifyBlocksOfNeighborChange(par2, par3, par4.subtract(BigInteger.ONE), this.blockID); + par1World.notifyBlocksOfNeighborChange(par2, par3, par4.add(BigInteger.ONE), this.blockID); } } /** * Is this block powering the block on the specified side */ - public boolean isPoweringTo(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public boolean isPoweringTo(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { if (!this.torchActive) { @@ -129,16 +129,16 @@ public class BlockRedstoneTorch extends BlockTorch /** * Returns true or false based on whether the block the torch is attached to is providing indirect power. */ - private boolean isIndirectlyPowered(World par1World, int par2, int par3, int par4) + private boolean isIndirectlyPowered(World par1World, BigInteger par2, int par3, BigInteger par4) { int var5 = par1World.getBlockMetadata(par2, par3, par4); - return var5 == 5 && par1World.isBlockIndirectlyProvidingPowerTo(par2, par3 - 1, par4, 0) ? true : (var5 == 3 && par1World.isBlockIndirectlyProvidingPowerTo(par2, par3, par4 - 1, 2) ? true : (var5 == 4 && par1World.isBlockIndirectlyProvidingPowerTo(par2, par3, par4 + 1, 3) ? true : (var5 == 1 && par1World.isBlockIndirectlyProvidingPowerTo(par2 - 1, par3, par4, 4) ? true : var5 == 2 && par1World.isBlockIndirectlyProvidingPowerTo(par2 + 1, par3, par4, 5)))); + return var5 == 5 && par1World.isBlockIndirectlyProvidingPowerTo(par2, par3 - 1, par4, 0) ? true : (var5 == 3 && par1World.isBlockIndirectlyProvidingPowerTo(par2, par3, par4.subtract(BigInteger.ONE), 2) ? true : (var5 == 4 && par1World.isBlockIndirectlyProvidingPowerTo(par2, par3, par4.add(BigInteger.ONE), 3) ? true : (var5 == 1 && par1World.isBlockIndirectlyProvidingPowerTo(par2.subtract(BigInteger.ONE), par3, par4, 4) ? true : var5 == 2 && par1World.isBlockIndirectlyProvidingPowerTo(par2.add(BigInteger.ONE), par3, par4, 5)))); } /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { boolean var6 = this.isIndirectlyPowered(par1World, par2, par3, par4); List var7 = (List)redstoneUpdateInfoCache.get(par1World); @@ -156,13 +156,13 @@ public class BlockRedstoneTorch extends BlockTorch if (this.checkForBurnout(par1World, par2, par3, par4, true)) { - par1World.playSoundEffect((double)((float)par2 + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4 + 0.5F), "random.fizz", 0.5F, 2.6F + (par1World.rand.nextFloat() - par1World.rand.nextFloat()) * 0.8F); + par1World.playSoundEffect((double)((float)par2.floatValue() + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4.floatValue() + 0.5F), "random.fizz", 0.5F, 2.6F + (par1World.rand.nextFloat() - par1World.rand.nextFloat()) * 0.8F); for (int var8 = 0; var8 < 5; ++var8) { - double var9 = (double)par2 + par5Random.nextDouble() * 0.6D + 0.2D; + double var9 = (double)par2.doubleValue() + par5Random.nextDouble() * 0.6D + 0.2D; double var11 = (double)par3 + par5Random.nextDouble() * 0.6D + 0.2D; - double var13 = (double)par4 + par5Random.nextDouble() * 0.6D + 0.2D; + double var13 = (double)par4.doubleValue() + par5Random.nextDouble() * 0.6D + 0.2D; par1World.spawnParticle("smoke", var9, var11, var13, 0.0D, 0.0D, 0.0D); } } @@ -178,7 +178,7 @@ public class BlockRedstoneTorch extends BlockTorch * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor blockID */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) + public void onNeighborBlockChange(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { super.onNeighborBlockChange(par1World, par2, par3, par4, par5); par1World.scheduleBlockUpdate(par2, par3, par4, this.blockID, this.tickRate()); @@ -187,7 +187,7 @@ public class BlockRedstoneTorch extends BlockTorch /** * Is this block indirectly powering the block on the specified side */ - public boolean isIndirectlyPoweringTo(World par1World, int par2, int par3, int par4, int par5) + public boolean isIndirectlyPoweringTo(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { return par5 == 0 ? this.isPoweringTo(par1World, par2, par3, par4, par5) : false; } @@ -211,14 +211,14 @@ public class BlockRedstoneTorch extends BlockTorch /** * A randomly called display update to be able to add particles or other items for display */ - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void randomDisplayTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (this.torchActive) { int var6 = par1World.getBlockMetadata(par2, par3, par4); - double var7 = (double)((float)par2 + 0.5F) + (double)(par5Random.nextFloat() - 0.5F) * 0.2D; + double var7 = (double)((float)par2.floatValue() + 0.5F) + (double)(par5Random.nextFloat() - 0.5F) * 0.2D; double var9 = (double)((float)par3 + 0.7F) + (double)(par5Random.nextFloat() - 0.5F) * 0.2D; - double var11 = (double)((float)par4 + 0.5F) + (double)(par5Random.nextFloat() - 0.5F) * 0.2D; + double var11 = (double)((float)par4.floatValue() + 0.5F) + (double)(par5Random.nextFloat() - 0.5F) * 0.2D; double var13 = 0.2199999988079071D; double var15 = 0.27000001072883606D; @@ -248,7 +248,7 @@ public class BlockRedstoneTorch extends BlockTorch /** * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) */ - public int idPicked(World par1World, int par2, int par3, int par4) + public int idPicked(World par1World, BigInteger par2, int par3, BigInteger par4) { return Block.torchRedstoneActive.blockID; } diff --git a/src/minecraft/net/minecraft/src/BlockReed.java b/src/minecraft/net/minecraft/src/BlockReed.java index 62bb723..f1ed7d8 100644 --- a/src/minecraft/net/minecraft/src/BlockReed.java +++ b/src/minecraft/net/minecraft/src/BlockReed.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockReed extends Block @@ -16,7 +17,7 @@ public class BlockReed extends Block /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (par1World.isAirBlock(par2, par3 + 1, par4)) { @@ -47,17 +48,17 @@ public class BlockReed extends Block /** * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z */ - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) + public boolean canPlaceBlockAt(World par1World, BigInteger par2, int par3, BigInteger par4) { int var5 = par1World.getBlockId(par2, par3 - 1, par4); - return var5 == this.blockID ? true : (var5 != Block.grass.blockID && var5 != Block.dirt.blockID && var5 != Block.sand.blockID ? false : (par1World.getBlockMaterial(par2 - 1, par3 - 1, par4) == Material.water ? true : (par1World.getBlockMaterial(par2 + 1, par3 - 1, par4) == Material.water ? true : (par1World.getBlockMaterial(par2, par3 - 1, par4 - 1) == Material.water ? true : par1World.getBlockMaterial(par2, par3 - 1, par4 + 1) == Material.water)))); + return var5 == this.blockID ? true : (var5 != Block.grass.blockID && var5 != Block.dirt.blockID && var5 != Block.sand.blockID ? false : (par1World.getBlockMaterial(par2.subtract(BigInteger.ONE), par3 - 1, par4) == Material.water ? true : (par1World.getBlockMaterial(par2.add(BigInteger.ONE), par3 - 1, par4) == Material.water ? true : (par1World.getBlockMaterial(par2, par3 - 1, par4.subtract(BigInteger.ONE)) == Material.water ? true : par1World.getBlockMaterial(par2, par3 - 1, par4.add(BigInteger.ONE)) == Material.water)))); } /** * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor blockID */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) + public void onNeighborBlockChange(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { this.checkBlockCoordValid(par1World, par2, par3, par4); } @@ -65,7 +66,7 @@ public class BlockReed extends Block /** * Checks if current block pos is valid, if not, breaks the block as dropable item. Used for reed and cactus. */ - protected final void checkBlockCoordValid(World par1World, int par2, int par3, int par4) + protected final void checkBlockCoordValid(World par1World, BigInteger par2, int par3, BigInteger par4) { if (!this.canBlockStay(par1World, par2, par3, par4)) { @@ -77,7 +78,7 @@ public class BlockReed extends Block /** * Can this block stay at this position. Similar to canPlaceBlockAt except gets checked often with plants. */ - public boolean canBlockStay(World par1World, int par2, int par3, int par4) + public boolean canBlockStay(World par1World, BigInteger par2, int par3, BigInteger par4) { return this.canPlaceBlockAt(par1World, par2, par3, par4); } @@ -86,7 +87,7 @@ public class BlockReed extends Block * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been * cleared to be reused) */ - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, BigInteger par2, int par3, BigInteger par4) { return null; } diff --git a/src/minecraft/net/minecraft/src/BlockSign.java b/src/minecraft/net/minecraft/src/BlockSign.java index a6a5dfa..d43d8b8 100644 --- a/src/minecraft/net/minecraft/src/BlockSign.java +++ b/src/minecraft/net/minecraft/src/BlockSign.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockSign extends BlockContainer @@ -24,7 +25,7 @@ public class BlockSign extends BlockContainer * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been * cleared to be reused) */ - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, BigInteger par2, int par3, BigInteger par4) { return null; } @@ -32,7 +33,7 @@ public class BlockSign extends BlockContainer /** * Returns the bounding box of the wired rectangular prism to render. */ - public AxisAlignedBB getSelectedBoundingBoxFromPool(World par1World, int par2, int par3, int par4) + public AxisAlignedBB getSelectedBoundingBoxFromPool(World par1World, BigInteger par2, int par3, BigInteger par4) { this.setBlockBoundsBasedOnState(par1World, par2, par3, par4); return super.getSelectedBoundingBoxFromPool(par1World, par2, par3, par4); @@ -41,7 +42,7 @@ public class BlockSign extends BlockContainer /** * Updates the blocks bounds based on its current state. Args: world, x, y, z */ - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4) { if (!this.isFreestanding) { @@ -132,7 +133,7 @@ public class BlockSign extends BlockContainer * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor blockID */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) + public void onNeighborBlockChange(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { boolean var6 = false; @@ -148,22 +149,22 @@ public class BlockSign extends BlockContainer int var7 = par1World.getBlockMetadata(par2, par3, par4); var6 = true; - if (var7 == 2 && par1World.getBlockMaterial(par2, par3, par4 + 1).isSolid()) + if (var7 == 2 && par1World.getBlockMaterial(par2, par3, par4.add(BigInteger.ONE)).isSolid()) { var6 = false; } - if (var7 == 3 && par1World.getBlockMaterial(par2, par3, par4 - 1).isSolid()) + if (var7 == 3 && par1World.getBlockMaterial(par2, par3, par4.subtract(BigInteger.ONE)).isSolid()) { var6 = false; } - if (var7 == 4 && par1World.getBlockMaterial(par2 + 1, par3, par4).isSolid()) + if (var7 == 4 && par1World.getBlockMaterial(par2.add(BigInteger.ONE), par3, par4).isSolid()) { var6 = false; } - if (var7 == 5 && par1World.getBlockMaterial(par2 - 1, par3, par4).isSolid()) + if (var7 == 5 && par1World.getBlockMaterial(par2.subtract(BigInteger.ONE), par3, par4).isSolid()) { var6 = false; } diff --git a/src/minecraft/net/minecraft/src/BlockSilverfish.java b/src/minecraft/net/minecraft/src/BlockSilverfish.java index 19959f7..a0e244d 100644 --- a/src/minecraft/net/minecraft/src/BlockSilverfish.java +++ b/src/minecraft/net/minecraft/src/BlockSilverfish.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; import java.util.Random; @@ -25,12 +26,12 @@ public class BlockSilverfish extends Block /** * Called right before the block is destroyed by a player. Args: world, x, y, z, metaData */ - public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5) + public void onBlockDestroyedByPlayer(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { if (!par1World.isRemote) { EntitySilverfish var6 = new EntitySilverfish(par1World); - var6.setLocationAndAngles((double)par2 + 0.5D, (double)par3, (double)par4 + 0.5D, 0.0F, 0.0F); + var6.setLocationAndAngles((double)par2.doubleValue() + 0.5D, (double)par3, (double)par4.doubleValue() + 0.5D, 0.0F, 0.0F); par1World.spawnEntityInWorld(var6); var6.spawnExplosionParticle(); } @@ -87,7 +88,7 @@ public class BlockSilverfish extends Block /** * Get the block's damage value (for use with pick block). */ - public int getDamageValue(World par1World, int par2, int par3, int par4) + public int getDamageValue(World par1World, BigInteger par2, int par3, BigInteger par4) { return par1World.getBlockMetadata(par2, par3, par4); } diff --git a/src/minecraft/net/minecraft/src/BlockSnow.java b/src/minecraft/net/minecraft/src/BlockSnow.java index 6560692..9de41d7 100644 --- a/src/minecraft/net/minecraft/src/BlockSnow.java +++ b/src/minecraft/net/minecraft/src/BlockSnow.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockSnow extends Block @@ -16,10 +17,10 @@ public class BlockSnow extends Block * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been * cleared to be reused) */ - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, BigInteger par2, int par3, BigInteger par4) { int var5 = par1World.getBlockMetadata(par2, par3, par4) & 7; - return var5 >= 3 ? AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)par2 + this.minX, (double)par3 + this.minY, (double)par4 + this.minZ, (double)par2 + this.maxX, (double)((float)par3 + 0.5F), (double)par4 + this.maxZ) : null; + return var5 >= 3 ? AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)par2.doubleValue() + this.minX, (double)par3 + this.minY, (double)par4.doubleValue() + this.minZ, (double)par2.doubleValue() + this.maxX, (double)((float)par3 + 0.5F), (double)par4.doubleValue() + this.maxZ) : null; } /** @@ -42,7 +43,7 @@ public class BlockSnow extends Block /** * Updates the blocks bounds based on its current state. Args: world, x, y, z */ - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4) { int var5 = par1IBlockAccess.getBlockMetadata(par2, par3, par4) & 7; float var6 = (float)(2 * (1 + var5)) / 16.0F; @@ -52,7 +53,7 @@ public class BlockSnow extends Block /** * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z */ - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) + public boolean canPlaceBlockAt(World par1World, BigInteger par2, int par3, BigInteger par4) { int var5 = par1World.getBlockId(par2, par3 - 1, par4); return var5 != 0 && (var5 == Block.leaves.blockID || Block.blocksList[var5].isOpaqueCube()) ? par1World.getBlockMaterial(par2, par3 - 1, par4).blocksMovement() : false; @@ -62,7 +63,7 @@ public class BlockSnow extends Block * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor blockID */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) + public void onNeighborBlockChange(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { this.canSnowStay(par1World, par2, par3, par4); } @@ -70,7 +71,7 @@ public class BlockSnow extends Block /** * Checks if this snow block can stay at this location. */ - private boolean canSnowStay(World par1World, int par2, int par3, int par4) + private boolean canSnowStay(World par1World, BigInteger par2, int par3, BigInteger par4) { if (!this.canPlaceBlockAt(par1World, par2, par3, par4)) { @@ -88,14 +89,14 @@ public class BlockSnow extends Block * Called when the player destroys a block with an item that can harvest it. (i, j, k) are the coordinates of the * block and l is the block's subtype/damage. */ - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, BigInteger par3, int par4, BigInteger par5, int par6) { int var7 = Item.snowball.shiftedIndex; float var8 = 0.7F; double var9 = (double)(par1World.rand.nextFloat() * var8) + (double)(1.0F - var8) * 0.5D; double var11 = (double)(par1World.rand.nextFloat() * var8) + (double)(1.0F - var8) * 0.5D; double var13 = (double)(par1World.rand.nextFloat() * var8) + (double)(1.0F - var8) * 0.5D; - EntityItem var15 = new EntityItem(par1World, (double)par3 + var9, (double)par4 + var11, (double)par5 + var13, new ItemStack(var7, 1, 0)); + EntityItem var15 = new EntityItem(par1World, (double)par3.doubleValue() + var9, (double)par4 + var11, (double)par5 .doubleValue()+ var13, new ItemStack(var7, 1, 0)); var15.delayBeforeCanPickup = 10; par1World.spawnEntityInWorld(var15); par1World.setBlockWithNotify(par3, par4, par5, 0); @@ -121,7 +122,7 @@ public class BlockSnow extends Block /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { @@ -134,7 +135,7 @@ public class BlockSnow extends Block * Returns true if the given side of this block type should be rendered, if the adjacent block is at the given * coordinates. Args: blockAccess, x, y, z, side */ - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4, int par5) { return par5 == 1 ? true : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); } diff --git a/src/minecraft/net/minecraft/src/BlockSnowBlock.java b/src/minecraft/net/minecraft/src/BlockSnowBlock.java index 2719c0f..31bf72e 100644 --- a/src/minecraft/net/minecraft/src/BlockSnowBlock.java +++ b/src/minecraft/net/minecraft/src/BlockSnowBlock.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockSnowBlock extends Block @@ -30,7 +31,7 @@ public class BlockSnowBlock extends Block /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { diff --git a/src/minecraft/net/minecraft/src/BlockStairs.java b/src/minecraft/net/minecraft/src/BlockStairs.java index c41820a..77c75f5 100644 --- a/src/minecraft/net/minecraft/src/BlockStairs.java +++ b/src/minecraft/net/minecraft/src/BlockStairs.java @@ -116,7 +116,7 @@ public class BlockStairs extends Block /** * A randomly called display update to be able to add particles or other items for display */ - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void randomDisplayTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { this.modelBlock.randomDisplayTick(par1World, par2, par3, par4, par5Random); } diff --git a/src/minecraft/net/minecraft/src/BlockStationary.java b/src/minecraft/net/minecraft/src/BlockStationary.java index 091a1ac..9b52e5c 100644 --- a/src/minecraft/net/minecraft/src/BlockStationary.java +++ b/src/minecraft/net/minecraft/src/BlockStationary.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockStationary extends BlockFluid @@ -15,7 +16,7 @@ public class BlockStationary extends BlockFluid } } - public boolean getBlocksMovement(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) + public boolean getBlocksMovement(IBlockAccess par1IBlockAccess, BigInteger par2, int par3, BigInteger par4) { return this.blockMaterial != Material.lava; } @@ -24,7 +25,7 @@ public class BlockStationary extends BlockFluid * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor blockID */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) + public void onNeighborBlockChange(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { super.onNeighborBlockChange(par1World, par2, par3, par4, par5); @@ -37,7 +38,7 @@ public class BlockStationary extends BlockFluid /** * Changes the block ID to that of an updating fluid. */ - private void setNotStationary(World par1World, int par2, int par3, int par4) + private void setNotStationary(World par1World, BigInteger par2, int par3, BigInteger par4) { int var5 = par1World.getBlockMetadata(par2, par3, par4); par1World.editingBlocks = true; @@ -50,7 +51,7 @@ public class BlockStationary extends BlockFluid /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (this.blockMaterial == Material.lava) { @@ -60,14 +61,14 @@ public class BlockStationary extends BlockFluid for (var7 = 0; var7 < var6; ++var7) { - par2 += par5Random.nextInt(3) - 1; + par2 = par2.add(BigInteger.valueOf(par5Random.nextInt(3) - 1)); ++par3; - par4 += par5Random.nextInt(3) - 1; + par4 = par4.add(BigInteger.valueOf(par5Random.nextInt(3) - 1)); var8 = par1World.getBlockId(par2, par3, par4); if (var8 == 0) { - if (this.isFlammable(par1World, par2 - 1, par3, par4) || this.isFlammable(par1World, par2 + 1, par3, par4) || this.isFlammable(par1World, par2, par3, par4 - 1) || this.isFlammable(par1World, par2, par3, par4 + 1) || this.isFlammable(par1World, par2, par3 - 1, par4) || this.isFlammable(par1World, par2, par3 + 1, par4)) + if (this.isFlammable(par1World, par2.subtract(BigInteger.ONE), par3, par4) || this.isFlammable(par1World, par2.add(BigInteger.ONE), par3, par4) || this.isFlammable(par1World, par2, par3, par4.subtract(BigInteger.ONE)) || this.isFlammable(par1World, par2, par3, par4.add(BigInteger.ONE)) || this.isFlammable(par1World, par2, par3 - 1, par4) || this.isFlammable(par1World, par2, par3 + 1, par4)) { par1World.setBlockWithNotify(par2, par3, par4, Block.fire.blockID); return; @@ -81,13 +82,13 @@ public class BlockStationary extends BlockFluid if (var6 == 0) { - var7 = par2; - var8 = par4; + BigInteger x = par2; + BigInteger z = par4; for (int var9 = 0; var9 < 3; ++var9) { - par2 = var7 + par5Random.nextInt(3) - 1; - par4 = var8 + par5Random.nextInt(3) - 1; + par2 = x.add(BigInteger.valueOf(par5Random.nextInt(3) - 1)); + par4 = z.add(BigInteger.valueOf(par5Random.nextInt(3) - 1)); if (par1World.isAirBlock(par2, par3 + 1, par4) && this.isFlammable(par1World, par2, par3, par4)) { @@ -101,7 +102,7 @@ public class BlockStationary extends BlockFluid /** * Checks to see if the block is flammable. */ - private boolean isFlammable(World par1World, int par2, int par3, int par4) + private boolean isFlammable(World par1World, BigInteger par2, int par3, BigInteger par4) { return par1World.getBlockMaterial(par2, par3, par4).getCanBurn(); } diff --git a/src/minecraft/net/minecraft/src/BlockTNT.java b/src/minecraft/net/minecraft/src/BlockTNT.java index 23ac61e..873a86b 100644 --- a/src/minecraft/net/minecraft/src/BlockTNT.java +++ b/src/minecraft/net/minecraft/src/BlockTNT.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class BlockTNT extends Block @@ -21,7 +22,7 @@ public class BlockTNT extends Block /** * Called whenever the block is added into the world. Args: world, x, y, z */ - public void onBlockAdded(World par1World, int par2, int par3, int par4) + public void onBlockAdded(World par1World, BigInteger par2, int par3, BigInteger par4) { super.onBlockAdded(par1World, par2, par3, par4); @@ -36,7 +37,7 @@ public class BlockTNT extends Block * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor blockID */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) + public void onNeighborBlockChange(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { if (par5 > 0 && Block.blocksList[par5].canProvidePower() && par1World.isBlockIndirectlyGettingPowered(par2, par3, par4)) { @@ -56,11 +57,11 @@ public class BlockTNT extends Block /** * Called upon the block being destroyed by an explosion */ - public void onBlockDestroyedByExplosion(World par1World, int par2, int par3, int par4) + public void onBlockDestroyedByExplosion(World par1World, BigInteger par2, int par3, BigInteger par4) { if (!par1World.isRemote) { - EntityTNTPrimed var5 = new EntityTNTPrimed(par1World, (double)((float)par2 + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4 + 0.5F)); + EntityTNTPrimed var5 = new EntityTNTPrimed(par1World, (double)((float)par2.floatValue() + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4.floatValue() + 0.5F)); var5.fuse = par1World.rand.nextInt(var5.fuse / 4) + var5.fuse / 8; par1World.spawnEntityInWorld(var5); } @@ -69,13 +70,13 @@ public class BlockTNT extends Block /** * Called right before the block is destroyed by a player. Args: world, x, y, z, metaData */ - public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5) + public void onBlockDestroyedByPlayer(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { if (!par1World.isRemote) { if ((par5 & 1) == 1) { - EntityTNTPrimed var6 = new EntityTNTPrimed(par1World, (double)((float)par2 + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4 + 0.5F)); + EntityTNTPrimed var6 = new EntityTNTPrimed(par1World, (double)((float)par2.floatValue() + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4.floatValue() + 0.5F)); par1World.spawnEntityInWorld(var6); par1World.playSoundAtEntity(var6, "random.fuse", 1.0F, 1.0F); } @@ -85,7 +86,7 @@ public class BlockTNT extends Block /** * Called upon block activation (right click on the block.) */ - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) + public boolean onBlockActivated(World par1World, BigInteger par2, int par3, BigInteger par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { if (par5EntityPlayer.getCurrentEquippedItem() != null && par5EntityPlayer.getCurrentEquippedItem().itemID == Item.flintAndSteel.shiftedIndex) { diff --git a/src/minecraft/net/minecraft/src/BlockTrapDoor.java b/src/minecraft/net/minecraft/src/BlockTrapDoor.java index 3cca71e..ce88e51 100644 --- a/src/minecraft/net/minecraft/src/BlockTrapDoor.java +++ b/src/minecraft/net/minecraft/src/BlockTrapDoor.java @@ -50,24 +50,24 @@ public class BlockTrapDoor extends Block return 0; } -// /** -// * Returns the bounding box of the wired rectangular prism to render. -// */ -// public AxisAlignedBB getSelectedBoundingBoxFromPool(World par1World, int par2, int par3, int par4) -// { -// this.setBlockBoundsBasedOnState(par1World, par2, par3, par4); -// return super.getSelectedBoundingBoxFromPool(par1World, par2, par3, par4); -// } -// -// /** -// * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been -// * cleared to be reused) -// */ -// public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) -// { -// this.setBlockBoundsBasedOnState(par1World, par2, par3, par4); -// return super.getCollisionBoundingBoxFromPool(par1World, par2, par3, par4); -// } + /** + * Returns the bounding box of the wired rectangular prism to render. + */ + public AxisAlignedBB getSelectedBoundingBoxFromPool(World par1World, BigInteger par2, int par3, BigInteger par4) + { + this.setBlockBoundsBasedOnState(par1World, par2, par3, par4); + return super.getSelectedBoundingBoxFromPool(par1World, par2, par3, par4); + } + + /** + * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been + * cleared to be reused) + */ + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, BigInteger par2, int par3, BigInteger par4) + { + this.setBlockBoundsBasedOnState(par1World, par2, par3, par4); + return super.getCollisionBoundingBoxFromPool(par1World, par2, par3, par4); + } /** * Updates the blocks bounds based on its current state. Args: world, x, y, z diff --git a/src/minecraft/net/minecraft/src/BlockTripWire.java b/src/minecraft/net/minecraft/src/BlockTripWire.java index 59daa9d..7377a3b 100644 --- a/src/minecraft/net/minecraft/src/BlockTripWire.java +++ b/src/minecraft/net/minecraft/src/BlockTripWire.java @@ -140,7 +140,7 @@ public class BlockTripWire extends Block /** * Called when the block is attempted to be harvested */ - public void onBlockHarvested(World par1World, int par2, int par3, int par4, int par5, EntityPlayer par6EntityPlayer) + public void onBlockHarvested(World par1World, BigInteger par2, int par3, BigInteger par4, int par5, EntityPlayer par6EntityPlayer) { if (!par1World.isRemote) { @@ -192,7 +192,7 @@ public class BlockTripWire extends Block /** * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity */ - public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) + public void onEntityCollidedWithBlock(World par1World, BigInteger par2, int par3, BigInteger par4, Entity par5Entity) { if (!par1World.isRemote) { @@ -206,7 +206,7 @@ public class BlockTripWire extends Block /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { if (!par1World.isRemote) { @@ -217,12 +217,12 @@ public class BlockTripWire extends Block } } - private void updateTripWireState(World par1World, int par2, int par3, int par4) + private void updateTripWireState(World par1World, BigInteger par2, int par3, BigInteger par4) { int var5 = par1World.getBlockMetadata(par2, par3, par4); boolean var6 = (var5 & 1) == 1; boolean var7 = false; - List var8 = par1World.getEntitiesWithinAABBExcludingEntity((Entity)null, AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)par2 + this.minX, (double)par3 + this.minY, (double)par4 + this.minZ, (double)par2 + this.maxX, (double)par3 + this.maxY, (double)par4 + this.maxZ)); + List var8 = par1World.getEntitiesWithinAABBExcludingEntity((Entity)null, AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)par2.doubleValue() + this.minX, (double)par3 + this.minY, (double)par4.doubleValue() + this.minZ, (double)par2.doubleValue() + this.maxX, (double)par3 + this.maxY, (double)par4.doubleValue() + this.maxZ)); if (!var8.isEmpty()) { diff --git a/src/minecraft/net/minecraft/src/BlockTripWireSource.java b/src/minecraft/net/minecraft/src/BlockTripWireSource.java index 02647c4..a154010 100644 --- a/src/minecraft/net/minecraft/src/BlockTripWireSource.java +++ b/src/minecraft/net/minecraft/src/BlockTripWireSource.java @@ -163,13 +163,13 @@ public class BlockTripWireSource extends Block for (var20 = 1; var20 < 42; ++var20) { - var21 = par2 + var16 * var20; - var22 = par4 + var17 * var20; - var23 = par1World.getBlockId(var21, par3, var22); + BigInteger x = par2.add(BigInteger.valueOf(var16 * var20)); + BigInteger z = par4.add(BigInteger.valueOf(var17 * var20)); + var23 = par1World.getBlockId(x, par3, z); if (var23 == Block.tripWireSource.blockID) { - var24 = par1World.getBlockMetadata(var21, par3, var22); + var24 = par1World.getBlockMetadata(x, par3, z); if ((var24 & 3) == Direction.footInvisibleFaceRemap[var10]) { @@ -186,7 +186,7 @@ public class BlockTripWireSource extends Block } else { - var24 = var20 == par8 ? par9 : par1World.getBlockMetadata(var21, par3, var22); + var24 = var20 == par8 ? par9 : par1World.getBlockMetadata(x, par3, z); boolean var25 = (var24 & 8) != 8; boolean var26 = (var24 & 1) == 1; boolean var27 = (var24 & 2) == 2; @@ -209,12 +209,12 @@ public class BlockTripWireSource extends Block if (var18 > 0) { - var21 = par2 + var16 * var18; - var22 = par4 + var17 * var18; + BigInteger x = par2.add(BigInteger.valueOf(var16 * var20)); + BigInteger z = par4.add(BigInteger.valueOf(var17 * var20)); var23 = Direction.footInvisibleFaceRemap[var10]; - par1World.setBlockMetadataWithNotify(var21, par3, var22, var23 | var20); - this.notifyNeighborOfChange(par1World, var21, par3, var22, var23); - this.playSoundEffect(par1World, var21, par3, var22, var13, var14, var11, var12); + par1World.setBlockMetadataWithNotify(x, par3, z, var23 | var20); + this.notifyNeighborOfChange(par1World, x, par3, z, var23); + this.playSoundEffect(par1World, x, par3, z, var13, var14, var11, var12); } this.playSoundEffect(par1World, par2, par3, par4, var13, var14, var11, var12); @@ -233,8 +233,8 @@ public class BlockTripWireSource extends Block { for (var21 = 1; var21 < var18; ++var21) { - var22 = par2 + var16 * var21; - var23 = par4 + var17 * var21; + BigInteger x = par2.add(BigInteger.valueOf(var16 * var20)); + BigInteger z = par4.add(BigInteger.valueOf(var17 * var20)); var24 = var19[var21]; if (var24 >= 0) @@ -248,7 +248,7 @@ public class BlockTripWireSource extends Block var24 &= -5; } - par1World.setBlockMetadataWithNotify(var22, par3, var23, var24); + par1World.setBlockMetadataWithNotify(x, par3, z, var24); } } } @@ -257,7 +257,7 @@ public class BlockTripWireSource extends Block /** * Ticks the block if it's been scheduled */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, BigInteger par2, int par3, BigInteger par4, Random par5Random) { this.func_72143_a(par1World, par2, par3, par4, this.blockID, par1World.getBlockMetadata(par2, par3, par4), true, -1, 0); } @@ -265,23 +265,23 @@ public class BlockTripWireSource extends Block /** * only of the conditions are right */ - private void playSoundEffect(World par1World, int par2, int par3, int par4, boolean par5, boolean par6, boolean par7, boolean par8) + private void playSoundEffect(World par1World, BigInteger par2, int par3, BigInteger par4, boolean par5, boolean par6, boolean par7, boolean par8) { if (par6 && !par8) { - par1World.playSoundEffect((double)par2 + 0.5D, (double)par3 + 0.1D, (double)par4 + 0.5D, "random.click", 0.4F, 0.6F); + par1World.playSoundEffect((double)par2.doubleValue() + 0.5D, (double)par3 + 0.1D, (double)par4.doubleValue() + 0.5D, "random.click", 0.4F, 0.6F); } else if (!par6 && par8) { - par1World.playSoundEffect((double)par2 + 0.5D, (double)par3 + 0.1D, (double)par4 + 0.5D, "random.click", 0.4F, 0.5F); + par1World.playSoundEffect((double)par2.doubleValue() + 0.5D, (double)par3 + 0.1D, (double)par4.doubleValue() + 0.5D, "random.click", 0.4F, 0.5F); } else if (par5 && !par7) { - par1World.playSoundEffect((double)par2 + 0.5D, (double)par3 + 0.1D, (double)par4 + 0.5D, "random.click", 0.4F, 0.7F); + par1World.playSoundEffect((double)par2.doubleValue() + 0.5D, (double)par3 + 0.1D, (double)par4.doubleValue() + 0.5D, "random.click", 0.4F, 0.7F); } else if (!par5 && par7) { - par1World.playSoundEffect((double)par2 + 0.5D, (double)par3 + 0.1D, (double)par4 + 0.5D, "random.bowhit", 0.4F, 1.2F / (par1World.rand.nextFloat() * 0.2F + 0.9F)); + par1World.playSoundEffect((double)par2.doubleValue() + 0.5D, (double)par3 + 0.1D, (double)par4.doubleValue() + 0.5D, "random.bowhit", 0.4F, 1.2F / (par1World.rand.nextFloat() * 0.2F + 0.9F)); } } diff --git a/src/minecraft/net/minecraft/src/BlockWorkbench.java b/src/minecraft/net/minecraft/src/BlockWorkbench.java index 0894c0f..abdbf2a 100644 --- a/src/minecraft/net/minecraft/src/BlockWorkbench.java +++ b/src/minecraft/net/minecraft/src/BlockWorkbench.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class BlockWorkbench extends Block { protected BlockWorkbench(int par1) @@ -20,7 +22,7 @@ public class BlockWorkbench extends Block /** * Called upon block activation (right click on the block.) */ - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) + public boolean onBlockActivated(World par1World, BigInteger par2, int par3, BigInteger par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { if (par1World.isRemote) { diff --git a/src/minecraft/net/minecraft/src/ChunkCache.java b/src/minecraft/net/minecraft/src/ChunkCache.java index 7a401b9..d8adcea 100644 --- a/src/minecraft/net/minecraft/src/ChunkCache.java +++ b/src/minecraft/net/minecraft/src/ChunkCache.java @@ -1,9 +1,12 @@ package net.minecraft.src; +import java.math.BigInteger; + +// The most evil class public class ChunkCache implements IBlockAccess { - private int chunkX; - private int chunkZ; + private BigInteger chunkX; + private BigInteger chunkZ; private Chunk[][] chunkArray; /** set by !chunk.getAreLevelsEmpty */ @@ -12,25 +15,25 @@ public class ChunkCache implements IBlockAccess /** Reference to the World object. */ private World worldObj; - public ChunkCache(World par1World, int par2, int par3, int par4, int par5, int par6, int par7) + public ChunkCache(World par1World, BigInteger par2, int par3, BigInteger par4, BigInteger par5, int par6, BigInteger par7) { this.worldObj = par1World; - this.chunkX = par2 >> 4; - this.chunkZ = par4 >> 4; - int var8 = par5 >> 4; - int var9 = par7 >> 4; - this.chunkArray = new Chunk[var8 - this.chunkX + 1][var9 - this.chunkZ + 1]; + this.chunkX = par2.shiftRight(4); + this.chunkZ = par4.shiftRight(4); + BigInteger var8 = par5.shiftRight(4); + BigInteger var9 = par7.shiftRight(4); + this.chunkArray = new Chunk[var8.subtract(chunkX).intValueExact() + 1][var9.subtract(chunkZ).intValueExact() + 1]; this.hasExtendedLevels = true; - for (int var10 = this.chunkX; var10 <= var8; ++var10) + for (BigInteger var10 = this.chunkX; var10.compareTo(var8) <= 0; var10 = var10.add(BigInteger.ONE)) { - for (int var11 = this.chunkZ; var11 <= var9; ++var11) + for (BigInteger var11 = this.chunkZ; var11.compareTo(var9) <= 0; var11 = var11.add(BigInteger.ONE)) { Chunk var12 = par1World.getChunkFromChunkCoords(var10, var11); if (var12 != null) { - this.chunkArray[var10 - this.chunkX][var11 - this.chunkZ] = var12; + this.chunkArray[var10.subtract(chunkX).intValueExact()][var11.subtract(chunkZ).intValueExact()] = var12; if (!var12.getAreLevelsEmpty(par3, par6)) { @@ -52,7 +55,7 @@ public class ChunkCache implements IBlockAccess /** * Returns the block ID at coords x,y,z */ - public int getBlockId(int par1, int par2, int par3) + public int getBlockId(BigInteger par1, int par2, BigInteger par3) { if (par2 < 0) { @@ -64,13 +67,13 @@ public class ChunkCache implements IBlockAccess } else { - int var4 = (par1 >> 4) - this.chunkX; - int var5 = (par3 >> 4) - this.chunkZ; + int var4 = (par1.shiftRight(4)).subtract(chunkX).intValueExact(); + int var5 = (par3.shiftRight(4)).subtract(chunkZ).intValueExact(); if (var4 >= 0 && var4 < this.chunkArray.length && var5 >= 0 && var5 < this.chunkArray[var4].length) { Chunk var6 = this.chunkArray[var4][var5]; - return var6 == null ? 0 : var6.getBlockID(par1 & 15, par2, par3 & 15); + return var6 == null ? 0 : var6.getBlockID(par1.intValue() & 15, par2, par3.intValue() & 15); } else { @@ -82,14 +85,14 @@ public class ChunkCache implements IBlockAccess /** * Returns the TileEntity associated with a given block in X,Y,Z coordinates, or null if no TileEntity exists */ - public TileEntity getBlockTileEntity(int par1, int par2, int par3) + public TileEntity getBlockTileEntity(BigInteger par1, int par2, BigInteger par3) { - int var4 = (par1 >> 4) - this.chunkX; - int var5 = (par3 >> 4) - this.chunkZ; - return this.chunkArray[var4][var5].getChunkBlockTileEntity(par1 & 15, par2, par3 & 15); + int var4 = (par1.shiftRight(4)).subtract(chunkX).intValueExact(); + int var5 = (par3.shiftRight(4)).subtract(chunkZ).intValueExact(); + return this.chunkArray[var4][var5].getChunkBlockTileEntity(par1.intValue() & 15, par2, par3.intValue() & 15); } - public float getBrightness(int par1, int par2, int par3, int par4) + public float getBrightness(BigInteger par1, int par2, BigInteger par3, int par4) { int var5 = this.getLightValue(par1, par2, par3); @@ -104,7 +107,7 @@ public class ChunkCache implements IBlockAccess /** * Any Light rendered on a 1.8 Block goes through here */ - public int getLightBrightnessForSkyBlocks(int par1, int par2, int par3, int par4) + public int getLightBrightnessForSkyBlocks(BigInteger par1, int par2, BigInteger par3, int par4) { int var5 = this.getSkyBlockTypeBrightness(EnumSkyBlock.Sky, par1, par2, par3); int var6 = this.getSkyBlockTypeBrightness(EnumSkyBlock.Block, par1, par2, par3); @@ -121,7 +124,7 @@ public class ChunkCache implements IBlockAccess * Returns how bright the block is shown as which is the block's light value looked up in a lookup table (light * values aren't linear for brightness). Args: x, y, z */ - public float getLightBrightness(int par1, int par2, int par3) + public float getLightBrightness(BigInteger par1, int par2, BigInteger par3) { return this.worldObj.provider.lightBrightnessTable[this.getLightValue(par1, par2, par3)]; } @@ -129,7 +132,7 @@ public class ChunkCache implements IBlockAccess /** * Gets the light value of the specified block coords. Args: x, y, z */ - public int getLightValue(int par1, int par2, int par3) + public int getLightValue(BigInteger par1, int par2, BigInteger par3) { return this.getLightValueExt(par1, par2, par3, true); } @@ -137,81 +140,74 @@ public class ChunkCache implements IBlockAccess /** * Get light value with flag */ - public int getLightValueExt(int par1, int par2, int par3, boolean par4) + public int getLightValueExt(BigInteger par1, int par2, BigInteger par3, boolean par4) { - if (par1 >= -30000000 && par3 >= -30000000 && par1 < 30000000 && par3 <= 30000000) + int var5; + int var6; + + if (par4) { - int var5; - int var6; + var5 = this.getBlockId(par1, par2, par3); - if (par4) + if (var5 == Block.stoneSingleSlab.blockID || var5 == Block.woodSingleSlab.blockID || var5 == Block.tilledField.blockID || var5 == Block.stairCompactPlanks.blockID || var5 == Block.stairCompactCobblestone.blockID) { - var5 = this.getBlockId(par1, par2, par3); + var6 = this.getLightValueExt(par1, par2 + 1, par3, false); + int var7 = this.getLightValueExt(par1.add(BigInteger.ONE), par2, par3, false); + int var8 = this.getLightValueExt(par1.subtract(BigInteger.ONE), par2, par3, false); + int var9 = this.getLightValueExt(par1, par2, par3.add(BigInteger.ONE), false); + int var10 = this.getLightValueExt(par1, par2, par3.subtract(BigInteger.ONE), false); - if (var5 == Block.stoneSingleSlab.blockID || var5 == Block.woodSingleSlab.blockID || var5 == Block.tilledField.blockID || var5 == Block.stairCompactPlanks.blockID || var5 == Block.stairCompactCobblestone.blockID) + if (var7 > var6) { - var6 = this.getLightValueExt(par1, par2 + 1, par3, false); - int var7 = this.getLightValueExt(par1 + 1, par2, par3, false); - int var8 = this.getLightValueExt(par1 - 1, par2, par3, false); - int var9 = this.getLightValueExt(par1, par2, par3 + 1, false); - int var10 = this.getLightValueExt(par1, par2, par3 - 1, false); - - if (var7 > var6) - { - var6 = var7; - } - - if (var8 > var6) - { - var6 = var8; - } - - if (var9 > var6) - { - var6 = var9; - } - - if (var10 > var6) - { - var6 = var10; - } + var6 = var7; + } - return var6; + if (var8 > var6) + { + var6 = var8; } - } - if (par2 < 0) - { - return 0; - } - else if (par2 >= 256) - { - var5 = 15 - this.worldObj.skylightSubtracted; + if (var9 > var6) + { + var6 = var9; + } - if (var5 < 0) + if (var10 > var6) { - var5 = 0; + var6 = var10; } - return var5; + return var6; } - else + } + + if (par2 < 0) + { + return 0; + } + else if (par2 >= 256) + { + var5 = 15 - this.worldObj.skylightSubtracted; + + if (var5 < 0) { - var5 = (par1 >> 4) - this.chunkX; - var6 = (par3 >> 4) - this.chunkZ; - return this.chunkArray[var5][var6].getBlockLightValue(par1 & 15, par2, par3 & 15, this.worldObj.skylightSubtracted); + var5 = 0; } + + return var5; } else { - return 15; + var5 = (par1.shiftRight(4)).subtract(chunkX).intValueExact(); + var6 = (par3.shiftRight(4)).subtract(chunkZ).intValueExact(); + return this.chunkArray[var5][var6].getBlockLightValue(par1.intValue() & 15, par2, par3.intValue() & 15, this.worldObj.skylightSubtracted); } } /** * Returns the block metadata at coords x,y,z */ - public int getBlockMetadata(int par1, int par2, int par3) + public int getBlockMetadata(BigInteger par1, int par2, BigInteger par3) { if (par2 < 0) { @@ -223,16 +219,16 @@ public class ChunkCache implements IBlockAccess } else { - int var4 = (par1 >> 4) - this.chunkX; - int var5 = (par3 >> 4) - this.chunkZ; - return this.chunkArray[var4][var5].getBlockMetadata(par1 & 15, par2, par3 & 15); + int var4 = (par1.shiftRight(4)).subtract(chunkX).intValueExact(); + int var5 = (par3.shiftRight(4)).subtract(chunkZ).intValueExact(); + return this.chunkArray[var4][var5].getBlockMetadata(par1.intValue() & 15, par2, par3.intValue() & 15); } } /** * Returns the block's material. */ - public Material getBlockMaterial(int par1, int par2, int par3) + public Material getBlockMaterial(BigInteger par1, int par2, BigInteger par3) { int var4 = this.getBlockId(par1, par2, par3); return var4 == 0 ? Material.air : Block.blocksList[var4].blockMaterial; @@ -241,7 +237,7 @@ public class ChunkCache implements IBlockAccess /** * Gets the biome for a given set of x/z coordinates */ - public BiomeGenBase getBiomeGenForCoords(int par1, int par2) + public BiomeGenBase getBiomeGenForCoords(BigInteger par1, BigInteger par2) { return this.worldObj.getBiomeGenForCoords(par1, par2); } @@ -249,7 +245,7 @@ public class ChunkCache implements IBlockAccess /** * Returns true if the block at the specified coordinates is an opaque cube. Args: x, y, z */ - public boolean isBlockOpaqueCube(int par1, int par2, int par3) + public boolean isBlockOpaqueCube(BigInteger par1, int par2, BigInteger par3) { Block var4 = Block.blocksList[this.getBlockId(par1, par2, par3)]; return var4 == null ? false : var4.isOpaqueCube(); @@ -258,7 +254,7 @@ public class ChunkCache implements IBlockAccess /** * Indicate if a material is a normal solid opaque cube. */ - public boolean isBlockNormalCube(int par1, int par2, int par3) + public boolean isBlockNormalCube(BigInteger par1, int par2, BigInteger par3) { Block var4 = Block.blocksList[this.getBlockId(par1, par2, par3)]; return var4 == null ? false : var4.blockMaterial.blocksMovement() && var4.renderAsNormalBlock(); @@ -267,7 +263,7 @@ public class ChunkCache implements IBlockAccess /** * Returns true if the block at the given coordinate has a solid (buildable) top surface. */ - public boolean doesBlockHaveSolidTopSurface(int par1, int par2, int par3) + public boolean doesBlockHaveSolidTopSurface(BigInteger par1, int par2, BigInteger par3) { Block var4 = Block.blocksList[this.getBlockId(par1, par2, par3)]; return var4 == null ? false : (var4.blockMaterial.isOpaque() && var4.renderAsNormalBlock() ? true : (var4 instanceof BlockStairs ? (this.getBlockMetadata(par1, par2, par3) & 4) == 4 : (var4 instanceof BlockHalfSlab ? (this.getBlockMetadata(par1, par2, par3) & 8) == 8 : false))); @@ -276,7 +272,7 @@ public class ChunkCache implements IBlockAccess /** * Returns true if the block at the specified coordinates is empty */ - public boolean isAirBlock(int par1, int par2, int par3) + public boolean isAirBlock(BigInteger par1, int par2, BigInteger par3) { Block var4 = Block.blocksList[this.getBlockId(par1, par2, par3)]; return var4 == null; @@ -286,70 +282,64 @@ public class ChunkCache implements IBlockAccess * Brightness for SkyBlock.Sky is clear white and (through color computing it is assumed) DEPENDENT ON DAYTIME. * Brightness for SkyBlock.Block is yellowish and independent. */ - public int getSkyBlockTypeBrightness(EnumSkyBlock par1EnumSkyBlock, int par2, int par3, int par4) + public int getSkyBlockTypeBrightness(EnumSkyBlock par1EnumSkyBlock, BigInteger par2, int par3, BigInteger par4) { - if (par3 < 0) - { - par3 = 0; - } - - if (par3 >= 256) - { - par3 = 255; - } - - if (par3 >= 0 && par3 < 256 && par2 >= -30000000 && par4 >= -30000000 && par2 < 30000000 && par4 <= 30000000) - { - int var5; - int var6; - - if (Block.useNeighborBrightness[this.getBlockId(par2, par3, par4)]) - { - var5 = this.getSpecialBlockBrightness(par1EnumSkyBlock, par2, par3 + 1, par4); - var6 = this.getSpecialBlockBrightness(par1EnumSkyBlock, par2 + 1, par3, par4); - int var7 = this.getSpecialBlockBrightness(par1EnumSkyBlock, par2 - 1, par3, par4); - int var8 = this.getSpecialBlockBrightness(par1EnumSkyBlock, par2, par3, par4 + 1); - int var9 = this.getSpecialBlockBrightness(par1EnumSkyBlock, par2, par3, par4 - 1); - - if (var6 > var5) - { - var5 = var6; - } - - if (var7 > var5) - { - var5 = var7; - } - - if (var8 > var5) - { - var5 = var8; - } - - if (var9 > var5) - { - var5 = var9; - } - - return var5; - } - else - { - var5 = (par2 >> 4) - this.chunkX; - var6 = (par4 >> 4) - this.chunkZ; - return this.chunkArray[var5][var6].getSavedLightValue(par1EnumSkyBlock, par2 & 15, par3, par4 & 15); - } - } - else - { - return par1EnumSkyBlock.defaultLightValue; - } + return 15; +// if (par3 < 0) +// { +// par3 = 0; +// } +// +// if (par3 >= 256) +// { +// par3 = 255; +// } +// +// int var5; +// int var6; +// +// if (Block.useNeighborBrightness[this.getBlockId(par2, par3, par4)]) +// { +// var5 = this.getSpecialBlockBrightness(par1EnumSkyBlock, par2, par3 + 1, par4); +// var6 = this.getSpecialBlockBrightness(par1EnumSkyBlock, par2.add(BigInteger.ONE), par3, par4); +// int var7 = this.getSpecialBlockBrightness(par1EnumSkyBlock, par2.subtract(BigInteger.ONE), par3, par4); +// int var8 = this.getSpecialBlockBrightness(par1EnumSkyBlock, par2, par3, par4.add(BigInteger.ONE)); +// int var9 = this.getSpecialBlockBrightness(par1EnumSkyBlock, par2, par3, par4.subtract(BigInteger.ONE)); +// +// if (var6 > var5) +// { +// var5 = var6; +// } +// +// if (var7 > var5) +// { +// var5 = var7; +// } +// +// if (var8 > var5) +// { +// var5 = var8; +// } +// +// if (var9 > var5) +// { +// var5 = var9; +// } +// +// return var5; +// } +// else +// { +// var5 = (par2.shiftRight(4)).subtract(chunkX).intValueExact(); +// var6 = (par4.shiftRight(4)).subtract(chunkZ).intValueExact(); +// return this.chunkArray[var5][var6].getSavedLightValue(par1EnumSkyBlock, par2.intValue() & 15, par3, par4.intValue() & 15); +// } } /** * is only used on stairs and tilled fields */ - public int getSpecialBlockBrightness(EnumSkyBlock par1EnumSkyBlock, int par2, int par3, int par4) + public int getSpecialBlockBrightness(EnumSkyBlock par1EnumSkyBlock, BigInteger par2, int par3, BigInteger par4) { if (par3 < 0) { @@ -361,16 +351,9 @@ public class ChunkCache implements IBlockAccess par3 = 255; } - if (par3 >= 0 && par3 < 256 && par2 >= -30000000 && par4 >= -30000000 && par2 < 30000000 && par4 <= 30000000) - { - int var5 = (par2 >> 4) - this.chunkX; - int var6 = (par4 >> 4) - this.chunkZ; - return this.chunkArray[var5][var6].getSavedLightValue(par1EnumSkyBlock, par2 & 15, par3, par4 & 15); - } - else - { - return par1EnumSkyBlock.defaultLightValue; - } + int var5 = (par2.shiftRight(4)).subtract(chunkX).intValueExact(); + int var6 = (par4.shiftRight(4)).subtract(chunkZ).intValueExact(); + return this.chunkArray[var5][var6].getSavedLightValue(par1EnumSkyBlock, par2.intValue() & 15, par3, par4.intValue() & 15); } /** diff --git a/src/minecraft/net/minecraft/src/ChunkCoordIntPair.java b/src/minecraft/net/minecraft/src/ChunkCoordIntPair.java index 9c1e6c2..b65e66c 100644 --- a/src/minecraft/net/minecraft/src/ChunkCoordIntPair.java +++ b/src/minecraft/net/minecraft/src/ChunkCoordIntPair.java @@ -24,7 +24,7 @@ public class ChunkCoordIntPair public boolean equals(Object par1Obj) { ChunkCoordIntPair var2 = (ChunkCoordIntPair)par1Obj; - return var2.chunkXPos == this.chunkXPos && var2.chunkZPos == this.chunkZPos; + return var2.chunkXPos.equals(this.chunkXPos) && var2.chunkZPos.equals(this.chunkZPos); } public BigInteger getCenterXPos() diff --git a/src/minecraft/net/minecraft/src/ChunkLoader.java b/src/minecraft/net/minecraft/src/ChunkLoader.java index 390ec14..feb0b45 100644 --- a/src/minecraft/net/minecraft/src/ChunkLoader.java +++ b/src/minecraft/net/minecraft/src/ChunkLoader.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class ChunkLoader { public static AnvilConverterData load(NBTTagCompound par0NBTTagCompound) @@ -120,7 +122,7 @@ public class ChunkLoader { for (var7 = 0; var7 < 16; ++var7) { - var17[var7 << 4 | var18] = (byte)(par2WorldChunkManager.getBiomeGenAt(par0AnvilConverterData.x << 4 | var18, par0AnvilConverterData.z << 4 | var7).biomeID & 255); + var17[var7 << 4 | var18] = (byte)(par2WorldChunkManager.getBiomeGenAt(BigInteger.valueOf(par0AnvilConverterData.x << 4 | var18), BigInteger.valueOf(par0AnvilConverterData.z << 4 | var7)).biomeID & 255); } } diff --git a/src/minecraft/net/minecraft/src/ChunkProviderEnd.java b/src/minecraft/net/minecraft/src/ChunkProviderEnd.java index be6a74d..2213248 100644 --- a/src/minecraft/net/minecraft/src/ChunkProviderEnd.java +++ b/src/minecraft/net/minecraft/src/ChunkProviderEnd.java @@ -103,7 +103,7 @@ public class ChunkProviderEnd implements IChunkProvider } } - public void replaceBlocksForBiome(int par1, int par2, byte[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) + public void replaceBlocksForBiome(BigInteger par1, BigInteger par2, byte[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { for (int var5 = 0; var5 < 16; ++var5) { @@ -171,7 +171,7 @@ public class ChunkProviderEnd implements IChunkProvider { this.endRNG.setSeed((long)par1.intValue() * 341873128712L + (long)par2.intValue() * 132897987541L); byte[] var3 = new byte[32768]; - this.biomesForGeneration = this.endWorld.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); + this.biomesForGeneration = this.endWorld.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1.shiftLeft(4), par2.shiftLeft(4), 16, 16); this.generateTerrain(par1, par2, var3, this.biomesForGeneration); this.replaceBlocksForBiome(par1, par2, var3, this.biomesForGeneration); Chunk var4 = new Chunk(this.endWorld, var3, par1, par2); @@ -227,8 +227,8 @@ public class ChunkProviderEnd implements IChunkProvider } var18 = var18 * 3.0D - 2.0D; - float var20 = (float)(var14 + par2 - 0) / 1.0F; - float var21 = (float)(var15 + par4 - 0) / 1.0F; + float var20 = (float)(par2.add(BigInteger.valueOf(var14)).floatValue()) / 1.0F; + float var21 = (float)(par4.add(BigInteger.valueOf(var15)).floatValue()) / 1.0F; float var22 = 100.0F - MathHelper.sqrt_float(var20 * var20 + var21 * var21) * 8.0F; if (var22 > 80.0F) @@ -328,7 +328,7 @@ public class ChunkProviderEnd implements IChunkProvider /** * Checks to see if a chunk exists at x, y */ - public boolean chunkExists(int par1, int par2) + public boolean chunkExists(BigInteger par1, BigInteger par2) { return true; } @@ -383,7 +383,7 @@ public class ChunkProviderEnd implements IChunkProvider /** * Returns a list of creatures of the specified type that can spawn at the given location. */ - public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) + public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, BigInteger par2, int par3, BigInteger par4) { BiomeGenBase var5 = this.endWorld.getBiomeGenForCoords(par2, par4); return var5 == null ? null : var5.getSpawnableList(par1EnumCreatureType); @@ -392,7 +392,7 @@ public class ChunkProviderEnd implements IChunkProvider /** * Returns the location of the closest structure of the specified type. If not found returns null. */ - public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) + public ChunkPosition findClosestStructure(World par1World, String par2Str, BigInteger par3, int par4, BigInteger par5) { return null; } diff --git a/src/minecraft/net/minecraft/src/ChunkProviderFlat.java b/src/minecraft/net/minecraft/src/ChunkProviderFlat.java index fedb6a6..558c274 100644 --- a/src/minecraft/net/minecraft/src/ChunkProviderFlat.java +++ b/src/minecraft/net/minecraft/src/ChunkProviderFlat.java @@ -154,7 +154,7 @@ public class ChunkProviderFlat implements IChunkProvider /** * Returns the location of the closest structure of the specified type. If not found returns null. */ - public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) + public ChunkPosition findClosestStructure(World par1World, String par2Str, BigInteger par3, int par4, BigInteger par5) { return null; } diff --git a/src/minecraft/net/minecraft/src/ChunkProviderHell.java b/src/minecraft/net/minecraft/src/ChunkProviderHell.java index 55c8a86..3f3ed46 100644 --- a/src/minecraft/net/minecraft/src/ChunkProviderHell.java +++ b/src/minecraft/net/minecraft/src/ChunkProviderHell.java @@ -417,7 +417,7 @@ public class ChunkProviderHell implements IChunkProvider /** * Checks to see if a chunk exists at x, y */ - public boolean chunkExists(int par1, int par2) + public boolean chunkExists(BigInteger par1, BigInteger par2) { return true; } diff --git a/src/minecraft/net/minecraft/src/CommandBase.java b/src/minecraft/net/minecraft/src/CommandBase.java index 557c30a..e54a582 100644 --- a/src/minecraft/net/minecraft/src/CommandBase.java +++ b/src/minecraft/net/minecraft/src/CommandBase.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -48,6 +49,18 @@ public abstract class CommandBase implements ICommand throw new NumberInvalidException("commands.generic.num.invalid", new Object[] {par1Str}); } } + + public static BigInteger parseBigInt(ICommandSender par0ICommandSender, String par1Str) + { + try + { + return new BigInteger(par1Str); + } + catch (NumberFormatException var3) + { + throw new NumberInvalidException("commands.generic.num.invalid", new Object[] {par1Str}); + } + } /** * Parses an int from the given sring with a specified minimum. diff --git a/src/minecraft/net/minecraft/src/CommandServerTp.java b/src/minecraft/net/minecraft/src/CommandServerTp.java index f44ba61..ff6bd32 100644 --- a/src/minecraft/net/minecraft/src/CommandServerTp.java +++ b/src/minecraft/net/minecraft/src/CommandServerTp.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; import net.minecraft.server.MinecraftServer; @@ -57,13 +58,13 @@ public class CommandServerTp extends CommandBase } else if (var4.worldObj != null) { - int var5 = par2ArrayOfStr.length - 3; + int var5 = par2ArrayOfStr.length - 3; int var6 = 30000000; - int var7 = parseIntBounded(par1ICommandSender, par2ArrayOfStr[var5++], -var6, var6); + BigInteger var7 = parseBigInt(par1ICommandSender, par2ArrayOfStr[var5++]); int var8 = parseIntBounded(par1ICommandSender, par2ArrayOfStr[var5++], 0, 256); - int var9 = parseIntBounded(par1ICommandSender, par2ArrayOfStr[var5++], -var6, var6); - var4.setPositionAndUpdate((double)((float)var7 + 0.5F), (double)var8, (double)((float)var9 + 0.5F)); - notifyAdmins(par1ICommandSender, "commands.tp.coordinates", new Object[] {var4.getEntityName(), Integer.valueOf(var7), Integer.valueOf(var8), Integer.valueOf(var9)}); + BigInteger var9 = parseBigInt(par1ICommandSender, par2ArrayOfStr[var5++]); + var4.setPositionAndUpdate((double)((float)var7.floatValue() + 0.5F), (double)var8, (double)((float)var9.floatValue() + 0.5F)); + notifyAdmins(par1ICommandSender, "commands.tp.coordinates", new Object[] {var4.getEntityName(), var7.toString(), Integer.valueOf(var8), var9.toString()}); } } } diff --git a/src/minecraft/net/minecraft/src/ComponentMineshaftCorridor.java b/src/minecraft/net/minecraft/src/ComponentMineshaftCorridor.java index 03036ca..a475cf6 100644 --- a/src/minecraft/net/minecraft/src/ComponentMineshaftCorridor.java +++ b/src/minecraft/net/minecraft/src/ComponentMineshaftCorridor.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; import java.util.Random; @@ -256,9 +257,11 @@ public class ComponentMineshaftCorridor extends StructureComponent if (par3StructureBoundingBox.isVecInside(var13, var11, var12)) { + BigInteger x = BigInteger.valueOf(var13), + z = BigInteger.valueOf(var12); this.spawnerPlaced = true; - par1World.setBlockWithNotify(var13, var11, var12, Block.mobSpawner.blockID); - TileEntityMobSpawner var14 = (TileEntityMobSpawner)par1World.getBlockTileEntity(var13, var11, var12); + par1World.setBlockWithNotify(x, var11, z, Block.mobSpawner.blockID); + TileEntityMobSpawner var14 = (TileEntityMobSpawner)par1World.getBlockTileEntity(x, var11, z); if (var14 != null) { diff --git a/src/minecraft/net/minecraft/src/ComponentNetherBridgeEntrance.java b/src/minecraft/net/minecraft/src/ComponentNetherBridgeEntrance.java index e721c2f..3931c81 100644 --- a/src/minecraft/net/minecraft/src/ComponentNetherBridgeEntrance.java +++ b/src/minecraft/net/minecraft/src/ComponentNetherBridgeEntrance.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; import java.util.Random; @@ -113,7 +114,7 @@ public class ComponentNetherBridgeEntrance extends ComponentNetherBridgePiece if (par3StructureBoundingBox.isVecInside(var4, var5, var6)) { par1World.scheduledUpdatesAreImmediate = true; - Block.blocksList[Block.lavaMoving.blockID].updateTick(par1World, var4, var5, var6, par2Random); + Block.blocksList[Block.lavaMoving.blockID].updateTick(par1World, BigInteger.valueOf(var4), var5, BigInteger.valueOf(var6), par2Random); par1World.scheduledUpdatesAreImmediate = false; } diff --git a/src/minecraft/net/minecraft/src/ComponentNetherBridgeThrone.java b/src/minecraft/net/minecraft/src/ComponentNetherBridgeThrone.java index 1960c1d..7a1aa3b 100644 --- a/src/minecraft/net/minecraft/src/ComponentNetherBridgeThrone.java +++ b/src/minecraft/net/minecraft/src/ComponentNetherBridgeThrone.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; import java.util.Random; @@ -58,9 +59,11 @@ public class ComponentNetherBridgeThrone extends ComponentNetherBridgePiece if (par3StructureBoundingBox.isVecInside(var5, var4, var6)) { + BigInteger x = BigInteger.valueOf(var5), + z = BigInteger.valueOf(var6); this.hasSpawner = true; - par1World.setBlockWithNotify(var5, var4, var6, Block.mobSpawner.blockID); - TileEntityMobSpawner var7 = (TileEntityMobSpawner)par1World.getBlockTileEntity(var5, var4, var6); + par1World.setBlockWithNotify(x, var4, z, Block.mobSpawner.blockID); + TileEntityMobSpawner var7 = (TileEntityMobSpawner)par1World.getBlockTileEntity(x, var4, z); if (var7 != null) { diff --git a/src/minecraft/net/minecraft/src/ComponentScatteredFeature.java b/src/minecraft/net/minecraft/src/ComponentScatteredFeature.java index 1277c15..9753f76 100644 --- a/src/minecraft/net/minecraft/src/ComponentScatteredFeature.java +++ b/src/minecraft/net/minecraft/src/ComponentScatteredFeature.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; abstract class ComponentScatteredFeature extends StructureComponent @@ -46,7 +47,7 @@ abstract class ComponentScatteredFeature extends StructureComponent { if (par2StructureBoundingBox.isVecInside(var7, 64, var6)) { - var4 += Math.max(par1World.getTopSolidOrLiquidBlock(var7, var6), par1World.provider.getAverageGroundLevel()); + var4 += Math.max(par1World.getTopSolidOrLiquidBlock(BigInteger.valueOf(var7), BigInteger.valueOf(var6)), par1World.provider.getAverageGroundLevel()); ++var5; } } diff --git a/src/minecraft/net/minecraft/src/ComponentStrongholdPortalRoom.java b/src/minecraft/net/minecraft/src/ComponentStrongholdPortalRoom.java index dd7f09a..d81e7ae 100644 --- a/src/minecraft/net/minecraft/src/ComponentStrongholdPortalRoom.java +++ b/src/minecraft/net/minecraft/src/ComponentStrongholdPortalRoom.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; import java.util.Random; @@ -125,9 +126,11 @@ public class ComponentStrongholdPortalRoom extends ComponentStronghold if (par3StructureBoundingBox.isVecInside(var10, var13, var11)) { + BigInteger x = BigInteger.valueOf(var10), + z = BigInteger.valueOf(var11); this.hasSpawner = true; - par1World.setBlockWithNotify(var10, var13, var11, Block.mobSpawner.blockID); - TileEntityMobSpawner var12 = (TileEntityMobSpawner)par1World.getBlockTileEntity(var10, var13, var11); + par1World.setBlockWithNotify(x, var13, z, Block.mobSpawner.blockID); + TileEntityMobSpawner var12 = (TileEntityMobSpawner)par1World.getBlockTileEntity(x, var13, z); if (var12 != null) { diff --git a/src/minecraft/net/minecraft/src/ComponentVillage.java b/src/minecraft/net/minecraft/src/ComponentVillage.java index de4a796..c038a72 100644 --- a/src/minecraft/net/minecraft/src/ComponentVillage.java +++ b/src/minecraft/net/minecraft/src/ComponentVillage.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; import java.util.Random; @@ -78,7 +79,7 @@ abstract class ComponentVillage extends StructureComponent { if (par2StructureBoundingBox.isVecInside(var6, 64, var5)) { - var3 += Math.max(par1World.getTopSolidOrLiquidBlock(var6, var5), par1World.provider.getAverageGroundLevel()); + var3 += Math.max(par1World.getTopSolidOrLiquidBlock(BigInteger.valueOf(var6), BigInteger.valueOf(var5)), par1World.provider.getAverageGroundLevel()); ++var4; } } diff --git a/src/minecraft/net/minecraft/src/ComponentVillagePathGen.java b/src/minecraft/net/minecraft/src/ComponentVillagePathGen.java index c7ce4dd..741ee85 100644 --- a/src/minecraft/net/minecraft/src/ComponentVillagePathGen.java +++ b/src/minecraft/net/minecraft/src/ComponentVillagePathGen.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; import java.util.Random; @@ -118,8 +119,10 @@ public class ComponentVillagePathGen extends ComponentVillageRoadPiece { if (par3StructureBoundingBox.isVecInside(var5, 64, var6)) { - int var7 = par1World.getTopSolidOrLiquidBlock(var5, var6) - 1; - par1World.setBlock(var5, var7, var6, var4); + BigInteger x = BigInteger.valueOf(var5), + z = BigInteger.valueOf(var6); + int var7 = par1World.getTopSolidOrLiquidBlock(x, z) - 1; + par1World.setBlock(x, var7, z, var4); } } } diff --git a/src/minecraft/net/minecraft/src/ComponentVillageStartPiece.java b/src/minecraft/net/minecraft/src/ComponentVillageStartPiece.java index 4d72944..07fe64c 100644 --- a/src/minecraft/net/minecraft/src/ComponentVillageStartPiece.java +++ b/src/minecraft/net/minecraft/src/ComponentVillageStartPiece.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.ArrayList; import java.util.Random; @@ -26,7 +27,7 @@ public class ComponentVillageStartPiece extends ComponentVillageWell this.worldChunkMngr = par1WorldChunkManager; this.structureVillageWeightedPieceList = par6ArrayList; this.terrainType = par7; - BiomeGenBase var8 = par1WorldChunkManager.getBiomeGenAt(par4, par5); + BiomeGenBase var8 = par1WorldChunkManager.getBiomeGenAt(BigInteger.valueOf(par4), BigInteger.valueOf(par5)); this.field_74927_b = var8 == BiomeGenBase.desert || var8 == BiomeGenBase.desertHills; this.field_74897_k = this; } diff --git a/src/minecraft/net/minecraft/src/ContainerEnchantment.java b/src/minecraft/net/minecraft/src/ContainerEnchantment.java index 8458d4c..18a37fc 100644 --- a/src/minecraft/net/minecraft/src/ContainerEnchantment.java +++ b/src/minecraft/net/minecraft/src/ContainerEnchantment.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Iterator; import java.util.List; import java.util.Random; @@ -11,9 +12,9 @@ public class ContainerEnchantment extends Container /** current world (for bookshelf counting) */ private World worldPointer; - private int posX; + private BigInteger posX; private int posY; - private int posZ; + private BigInteger posZ; private Random rand = new Random(); /** used as seed for EnchantmentNameParts (see GuiEnchantment) */ @@ -22,7 +23,7 @@ public class ContainerEnchantment extends Container /** 3-member array storing the enchantment levels of each slot */ public int[] enchantLevels = new int[3]; - public ContainerEnchantment(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) + public ContainerEnchantment(InventoryPlayer par1InventoryPlayer, World par2World, BigInteger par3, int par4, BigInteger par5) { this.worldPointer = par2World; this.posX = par3; @@ -105,36 +106,36 @@ public class ContainerEnchantment extends Container { for (int var5 = -1; var5 <= 1; ++var5) { - if ((var4 != 0 || var5 != 0) && this.worldPointer.isAirBlock(this.posX + var5, this.posY, this.posZ + var4) && this.worldPointer.isAirBlock(this.posX + var5, this.posY + 1, this.posZ + var4)) + if ((var4 != 0 || var5 != 0) && this.worldPointer.isAirBlock(this.posX.add(BigInteger.valueOf(var5)), this.posY, this.posZ.add(BigInteger.valueOf(var4))) && this.worldPointer.isAirBlock(this.posX.add(BigInteger.valueOf(var5)), this.posY + 1, this.posZ.add(BigInteger.valueOf(var4)))) { - if (this.worldPointer.getBlockId(this.posX + var5 * 2, this.posY, this.posZ + var4 * 2) == Block.bookShelf.blockID) + if (this.worldPointer.getBlockId(this.posX.add(BigInteger.valueOf(var5 * 2)), this.posY, this.posZ.add(BigInteger.valueOf(var4 * 2))) == Block.bookShelf.blockID) { ++var3; } - if (this.worldPointer.getBlockId(this.posX + var5 * 2, this.posY + 1, this.posZ + var4 * 2) == Block.bookShelf.blockID) + if (this.worldPointer.getBlockId(this.posX.add(BigInteger.valueOf(var5 * 2)), this.posY + 1, this.posZ.add(BigInteger.valueOf(var4 * 2))) == Block.bookShelf.blockID) { ++var3; } if (var5 != 0 && var4 != 0) { - if (this.worldPointer.getBlockId(this.posX + var5 * 2, this.posY, this.posZ + var4) == Block.bookShelf.blockID) + if (this.worldPointer.getBlockId(this.posX.add(BigInteger.valueOf(var5 * 2)), this.posY, this.posZ.add(BigInteger.valueOf(var4))) == Block.bookShelf.blockID) { ++var3; } - if (this.worldPointer.getBlockId(this.posX + var5 * 2, this.posY + 1, this.posZ + var4) == Block.bookShelf.blockID) + if (this.worldPointer.getBlockId(this.posX.add(BigInteger.valueOf(var5 * 2)), this.posY + 1, this.posZ.add(BigInteger.valueOf(var4))) == Block.bookShelf.blockID) { ++var3; } - if (this.worldPointer.getBlockId(this.posX + var5, this.posY, this.posZ + var4 * 2) == Block.bookShelf.blockID) + if (this.worldPointer.getBlockId(this.posX.add(BigInteger.valueOf(var5)), this.posY, this.posZ.add(BigInteger.valueOf(var4 * 2))) == Block.bookShelf.blockID) { ++var3; } - if (this.worldPointer.getBlockId(this.posX + var5, this.posY + 1, this.posZ + var4 * 2) == Block.bookShelf.blockID) + if (this.worldPointer.getBlockId(this.posX.add(BigInteger.valueOf(var5)), this.posY + 1, this.posZ.add(BigInteger.valueOf(var4 * 2))) == Block.bookShelf.blockID) { ++var3; } @@ -217,7 +218,7 @@ public class ContainerEnchantment extends Container public boolean canInteractWith(EntityPlayer par1EntityPlayer) { - return this.worldPointer.getBlockId(this.posX, this.posY, this.posZ) != Block.enchantmentTable.blockID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D; + return this.worldPointer.getBlockId(this.posX, this.posY, this.posZ) != Block.enchantmentTable.blockID ? false : par1EntityPlayer.getDistanceSq((double)this.posX.doubleValue() + 0.5D, (double)this.posY + 0.5D, (double)this.posZ.doubleValue() + 0.5D) <= 64.0D; } /** diff --git a/src/minecraft/net/minecraft/src/ContainerWorkbench.java b/src/minecraft/net/minecraft/src/ContainerWorkbench.java index af9ad71..eba1988 100644 --- a/src/minecraft/net/minecraft/src/ContainerWorkbench.java +++ b/src/minecraft/net/minecraft/src/ContainerWorkbench.java @@ -1,16 +1,18 @@ package net.minecraft.src; +import java.math.BigInteger; + public class ContainerWorkbench extends Container { /** The crafting matrix inventory (3x3). */ public InventoryCrafting craftMatrix = new InventoryCrafting(this, 3, 3); public IInventory craftResult = new InventoryCraftResult(); private World worldObj; - private int posX; + private BigInteger posX; private int posY; - private int posZ; + private BigInteger posZ; - public ContainerWorkbench(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) + public ContainerWorkbench(InventoryPlayer par1InventoryPlayer, World par2World, BigInteger par3, int par4, BigInteger par5) { this.worldObj = par2World; this.posX = par3; @@ -75,7 +77,7 @@ public class ContainerWorkbench extends Container public boolean canInteractWith(EntityPlayer par1EntityPlayer) { - return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != Block.workbench.blockID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D; + return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != Block.workbench.blockID ? false : par1EntityPlayer.getDistanceSq((double)this.posX.doubleValue() + 0.5D, (double)this.posY + 0.5D, (double)this.posZ.doubleValue() + 0.5D) <= 64.0D; } /** diff --git a/src/minecraft/net/minecraft/src/DemoWorldManager.java b/src/minecraft/net/minecraft/src/DemoWorldManager.java index b85f646..db87305 100644 --- a/src/minecraft/net/minecraft/src/DemoWorldManager.java +++ b/src/minecraft/net/minecraft/src/DemoWorldManager.java @@ -78,7 +78,7 @@ public class DemoWorldManager extends ItemInWorldManager * if not creative, it calls destroyBlockInWorldPartially untill the block is broken first. par4 is the specific * side. tryHarvestBlock can also be the result of this call */ - public void onBlockClicked(int par1, int par2, int par3, int par4) + public void onBlockClicked(BigInteger par1, int par2, BigInteger par3, int par4) { if (this.demoTimeExpired) { @@ -90,7 +90,7 @@ public class DemoWorldManager extends ItemInWorldManager } } - public void uncheckedTryHarvestBlock(int par1, int par2, int par3) + public void uncheckedTryHarvestBlock(BigInteger par1, int par2, BigInteger par3) { if (!this.demoTimeExpired) { @@ -101,7 +101,7 @@ public class DemoWorldManager extends ItemInWorldManager /** * Attempts to harvest a block at the given coordinate */ - public boolean tryHarvestBlock(int par1, int par2, int par3) + public boolean tryHarvestBlock(BigInteger par1, int par2, BigInteger par3) { return this.demoTimeExpired ? false : super.tryHarvestBlock(par1, par2, par3); } diff --git a/src/minecraft/net/minecraft/src/DerivedWorldInfo.java b/src/minecraft/net/minecraft/src/DerivedWorldInfo.java index 501550b..723bb66 100644 --- a/src/minecraft/net/minecraft/src/DerivedWorldInfo.java +++ b/src/minecraft/net/minecraft/src/DerivedWorldInfo.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class DerivedWorldInfo extends WorldInfo { private final WorldInfo field_76115_a; @@ -36,7 +38,7 @@ public class DerivedWorldInfo extends WorldInfo /** * Returns the x spawn position */ - public int getSpawnX() + public BigInteger getSpawnX() { return this.field_76115_a.getSpawnX(); } @@ -52,7 +54,7 @@ public class DerivedWorldInfo extends WorldInfo /** * Returns the z spawn position */ - public int getSpawnZ() + public BigInteger getSpawnZ() { return this.field_76115_a.getSpawnZ(); } diff --git a/src/minecraft/net/minecraft/src/EmptyChunk.java b/src/minecraft/net/minecraft/src/EmptyChunk.java index 8e852d4..7494629 100644 --- a/src/minecraft/net/minecraft/src/EmptyChunk.java +++ b/src/minecraft/net/minecraft/src/EmptyChunk.java @@ -187,7 +187,7 @@ public class EmptyChunk extends Chunk public Random getRandomWithSeed(long par1) { - return new Random(this.worldObj.getSeed() + (long)(this.xPosition * this.xPosition * 4987142) + (long)(this.xPosition * 5947611) + (long)(this.zPosition * this.zPosition) * 4392871L + (long)(this.zPosition * 389711) ^ par1); + return new Random(this.worldObj.getSeed() + (long)(this.xPosition.longValue() * this.xPosition.longValue() * 4987142) + (long)(this.xPosition.longValue() * 5947611) + (long)(this.zPosition.longValue() * this.zPosition.longValue()) * 4392871L + (long)(this.zPosition.longValue() * 389711) ^ par1); } public boolean isEmpty() diff --git a/src/minecraft/net/minecraft/src/Entity.java b/src/minecraft/net/minecraft/src/Entity.java index 514169d..336eb9e 100644 --- a/src/minecraft/net/minecraft/src/Entity.java +++ b/src/minecraft/net/minecraft/src/Entity.java @@ -166,9 +166,9 @@ public abstract class Entity /** Has this entity been added to the chunk its within */ public boolean addedToChunk; - public BigInteger chunkCoordX; + public BigInteger chunkCoordX = BigInteger.ZERO; public int chunkCoordY; - public BigInteger chunkCoordZ; + public BigInteger chunkCoordZ = BigInteger.ZERO; public int serverPosX; public int serverPosY; public int serverPosZ; diff --git a/src/minecraft/net/minecraft/src/EntityAIAttackOnCollide.java b/src/minecraft/net/minecraft/src/EntityAIAttackOnCollide.java index 8732132..c0441eb 100644 --- a/src/minecraft/net/minecraft/src/EntityAIAttackOnCollide.java +++ b/src/minecraft/net/minecraft/src/EntityAIAttackOnCollide.java @@ -61,7 +61,7 @@ public class EntityAIAttackOnCollide extends EntityAIBase public boolean continueExecuting() { EntityLiving var1 = this.attacker.getAttackTarget(); - return var1 == null ? false : (!this.entityTarget.isEntityAlive() ? false : (!this.field_75437_f ? !this.attacker.getNavigator().noPath() : this.attacker.isWithinHomeDistance(MathHelper.floor_double(this.entityTarget.posX), MathHelper.floor_double(this.entityTarget.posY), MathHelper.floor_double(this.entityTarget.posZ)))); + return var1 == null ? false : (!this.entityTarget.isEntityAlive() ? false : (!this.field_75437_f ? !this.attacker.getNavigator().noPath() : this.attacker.isWithinHomeDistance(MathHelper.floor_double_BigInteger(this.entityTarget.posX), MathHelper.floor_double(this.entityTarget.posY), MathHelper.floor_double_BigInteger(this.entityTarget.posZ)))); } /** diff --git a/src/minecraft/net/minecraft/src/EntityAIEatGrass.java b/src/minecraft/net/minecraft/src/EntityAIEatGrass.java index 3d74337..7863917 100644 --- a/src/minecraft/net/minecraft/src/EntityAIEatGrass.java +++ b/src/minecraft/net/minecraft/src/EntityAIEatGrass.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class EntityAIEatGrass extends EntityAIBase { private EntityLiving theEntity; @@ -26,9 +28,9 @@ public class EntityAIEatGrass extends EntityAIBase } else { - int var1 = MathHelper.floor_double(this.theEntity.posX); + BigInteger var1 = MathHelper.floor_double_BigInteger(this.theEntity.posX); int var2 = MathHelper.floor_double(this.theEntity.posY); - int var3 = MathHelper.floor_double(this.theEntity.posZ); + BigInteger var3 = MathHelper.floor_double_BigInteger(this.theEntity.posZ); return this.theWorld.getBlockId(var1, var2, var3) == Block.tallGrass.blockID && this.theWorld.getBlockMetadata(var1, var2, var3) == 1 ? true : this.theWorld.getBlockId(var1, var2 - 1, var3) == Block.grass.blockID; } } @@ -73,9 +75,9 @@ public class EntityAIEatGrass extends EntityAIBase if (this.eatGrassTick == 4) { - int var1 = MathHelper.floor_double(this.theEntity.posX); + BigInteger var1 = MathHelper.floor_double_BigInteger(this.theEntity.posX); int var2 = MathHelper.floor_double(this.theEntity.posY); - int var3 = MathHelper.floor_double(this.theEntity.posZ); + BigInteger var3 = MathHelper.floor_double_BigInteger(this.theEntity.posZ); if (this.theWorld.getBlockId(var1, var2, var3) == Block.tallGrass.blockID) { diff --git a/src/minecraft/net/minecraft/src/EntityAIOcelotSit.java b/src/minecraft/net/minecraft/src/EntityAIOcelotSit.java index bac2771..5fa7a87 100644 --- a/src/minecraft/net/minecraft/src/EntityAIOcelotSit.java +++ b/src/minecraft/net/minecraft/src/EntityAIOcelotSit.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class EntityAIOcelotSit extends EntityAIBase { private final EntityOcelot theOcelot; @@ -13,13 +15,13 @@ public class EntityAIOcelotSit extends EntityAIBase private int maxSittingTicks = 0; /** X Coordinate of a nearby sitable block */ - private int sitableBlockX = 0; + private BigInteger sitableBlockX = BigInteger.ZERO; /** Y Coordinate of a nearby sitable block */ private int sitableBlockY = 0; /** Z Coordinate of a nearby sitable block */ - private int sitableBlockZ = 0; + private BigInteger sitableBlockZ = BigInteger.ZERO; public EntityAIOcelotSit(EntityOcelot par1EntityOcelot, float par2) { @@ -49,7 +51,7 @@ public class EntityAIOcelotSit extends EntityAIBase */ public void startExecuting() { - this.theOcelot.getNavigator().tryMoveToXYZ((double)((float)this.sitableBlockX) + 0.5D, (double)(this.sitableBlockY + 1), (double)((float)this.sitableBlockZ) + 0.5D, this.field_75404_b); + this.theOcelot.getNavigator().tryMoveToXYZ((double)((float)this.sitableBlockX.floatValue()) + 0.5D, (double)(this.sitableBlockY + 1), (double)((float)this.sitableBlockZ.floatValue()) + 0.5D, this.field_75404_b); this.currentTick = 0; this.field_75402_d = 0; this.maxSittingTicks = this.theOcelot.getRNG().nextInt(this.theOcelot.getRNG().nextInt(1200) + 1200) + 1200; @@ -72,10 +74,10 @@ public class EntityAIOcelotSit extends EntityAIBase ++this.currentTick; this.theOcelot.func_70907_r().setSitting(false); - if (this.theOcelot.getDistanceSq((double)this.sitableBlockX, (double)(this.sitableBlockY + 1), (double)this.sitableBlockZ) > 1.0D) + if (this.theOcelot.getDistanceSq((double)this.sitableBlockX.doubleValue(), (double)(this.sitableBlockY + 1), (double)this.sitableBlockZ.doubleValue()) > 1.0D) { this.theOcelot.setSitting(false); - this.theOcelot.getNavigator().tryMoveToXYZ((double)((float)this.sitableBlockX) + 0.5D, (double)(this.sitableBlockY + 1), (double)((float)this.sitableBlockZ) + 0.5D, this.field_75404_b); + this.theOcelot.getNavigator().tryMoveToXYZ((double)((float)this.sitableBlockX.floatValue()) + 0.5D, (double)(this.sitableBlockY + 1), (double)((float)this.sitableBlockZ.floatValue()) + 0.5D, this.field_75404_b); ++this.field_75402_d; } else if (!this.theOcelot.isSitting()) @@ -95,20 +97,23 @@ public class EntityAIOcelotSit extends EntityAIBase { int var1 = (int)this.theOcelot.posY; double var2 = 2.147483647E9D; - - for (int var4 = (int)this.theOcelot.posX - 8; (double)var4 < this.theOcelot.posX + 8.0D; ++var4) + + BigInteger x = MathHelper.floor_double_BigInteger(this.theOcelot.posX), + z = MathHelper.floor_double_BigInteger(this.theOcelot.posZ); + + for (int var4 = - 8; (double)var4 < + 8.0D; ++var4) { - for (int var5 = (int)this.theOcelot.posZ - 8; (double)var5 < this.theOcelot.posZ + 8.0D; ++var5) + for (int var5 = - 8; (double)var5 < + 8.0D; ++var5) { - if (this.isSittableBlock(this.theOcelot.worldObj, var4, var1, var5) && this.theOcelot.worldObj.isAirBlock(var4, var1 + 1, var5)) + if (this.isSittableBlock(this.theOcelot.worldObj, x.add(BigInteger.valueOf(var4)), var1, z.add(BigInteger.valueOf(var5))) && this.theOcelot.worldObj.isAirBlock(x.add(BigInteger.valueOf(var4)), var1, z.add(BigInteger.valueOf(var5)))) { - double var6 = this.theOcelot.getDistanceSq((double)var4, (double)var1, (double)var5); + double var6 = this.theOcelot.getDistanceSq(x.add(BigInteger.valueOf(var4)).doubleValue(), var1, z.add(BigInteger.valueOf(var5)).doubleValue()); if (var6 < var2) { - this.sitableBlockX = var4; + this.sitableBlockX = x; this.sitableBlockY = var1; - this.sitableBlockZ = var5; + this.sitableBlockZ = z; var2 = var6; } } @@ -121,7 +126,7 @@ public class EntityAIOcelotSit extends EntityAIBase /** * Determines wheter the Ocelot wants to sit on the block at given coordinate */ - private boolean isSittableBlock(World par1World, int par2, int par3, int par4) + private boolean isSittableBlock(World par1World, BigInteger par2, int par3, BigInteger par4) { int var5 = par1World.getBlockId(par2, par3, par4); int var6 = par1World.getBlockMetadata(par2, par3, par4); diff --git a/src/minecraft/net/minecraft/src/EntityAITarget.java b/src/minecraft/net/minecraft/src/EntityAITarget.java index 53bab67..4406d46 100644 --- a/src/minecraft/net/minecraft/src/EntityAITarget.java +++ b/src/minecraft/net/minecraft/src/EntityAITarget.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public abstract class EntityAITarget extends EntityAIBase { /** The entity that this task belongs to */ @@ -128,7 +130,7 @@ public abstract class EntityAITarget extends EntityAIBase return false; } - if (!this.taskOwner.isWithinHomeDistance(MathHelper.floor_double(par1EntityLiving.posX), MathHelper.floor_double(par1EntityLiving.posY), MathHelper.floor_double(par1EntityLiving.posZ))) + if (!this.taskOwner.isWithinHomeDistance(MathHelper.floor_double_BigInteger(par1EntityLiving.posX), MathHelper.floor_double(par1EntityLiving.posY), MathHelper.floor_double_BigInteger(par1EntityLiving.posZ))) { return false; } @@ -185,9 +187,9 @@ public abstract class EntityAITarget extends EntityAIBase } else { - int var4 = var3.xCoord - MathHelper.floor_double(par1EntityLiving.posX); - int var5 = var3.zCoord - MathHelper.floor_double(par1EntityLiving.posZ); - return (double)(var4 * var4 + var5 * var5) <= 2.25D; + BigInteger var4 = var3.xCoord.subtract(MathHelper.floor_double_BigInteger(par1EntityLiving.posX)); + BigInteger var5 = var3.zCoord.subtract(MathHelper.floor_double_BigInteger(par1EntityLiving.posZ)); + return (double)(var4.doubleValue() * var4.doubleValue() + var5.doubleValue() * var5.doubleValue()) <= 2.25D; } } } diff --git a/src/minecraft/net/minecraft/src/EntityAnimal.java b/src/minecraft/net/minecraft/src/EntityAnimal.java index 3bc56da..3b86ec0 100644 --- a/src/minecraft/net/minecraft/src/EntityAnimal.java +++ b/src/minecraft/net/minecraft/src/EntityAnimal.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Iterator; import java.util.List; @@ -185,7 +186,7 @@ public abstract class EntityAnimal extends EntityAgeable implements IAnimals * Takes a coordinate in and returns a weight to determine how likely this creature will try to path to the block. * Args: x, y, z */ - public float getBlockPathWeight(int par1, int par2, int par3) + public float getBlockPathWeight(BigInteger par1, int par2, BigInteger par3) { return this.worldObj.getBlockId(par1, par2 - 1, par3) == Block.grass.blockID ? 10.0F : this.worldObj.getLightBrightness(par1, par2, par3) - 0.5F; } @@ -280,9 +281,9 @@ public abstract class EntityAnimal extends EntityAgeable implements IAnimals */ public boolean getCanSpawnHere() { - int var1 = MathHelper.floor_double(this.posX); + BigInteger var1 = MathHelper.floor_double_BigInteger(this.posX); int var2 = MathHelper.floor_double(this.boundingBox.minY); - int var3 = MathHelper.floor_double(this.posZ); + BigInteger var3 = MathHelper.floor_double_BigInteger(this.posZ); return this.worldObj.getBlockId(var1, var2 - 1, var3) == Block.grass.blockID && this.worldObj.getFullBlockLightValue(var1, var2, var3) > 8 && super.getCanSpawnHere(); } diff --git a/src/minecraft/net/minecraft/src/EntityArrow.java b/src/minecraft/net/minecraft/src/EntityArrow.java index 85c8a21..2391ab6 100644 --- a/src/minecraft/net/minecraft/src/EntityArrow.java +++ b/src/minecraft/net/minecraft/src/EntityArrow.java @@ -1,13 +1,14 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Iterator; import java.util.List; public class EntityArrow extends Entity { - private int xTile = -1; + private BigInteger xTile = BigInteger.ZERO; private int yTile = -1; - private int zTile = -1; + private BigInteger zTile = BigInteger.ZERO; private int inTile = 0; private int inData = 0; private boolean inGround = false; @@ -403,9 +404,9 @@ public class EntityArrow extends Entity */ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setBigInteger("xTile", this.xTile); par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setBigInteger("zTile", this.zTile); par1NBTTagCompound.setByte("inTile", (byte)this.inTile); par1NBTTagCompound.setByte("inData", (byte)this.inData); par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); @@ -419,9 +420,9 @@ public class EntityArrow extends Entity */ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); + this.xTile = par1NBTTagCompound.getBigInteger("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); + this.zTile = par1NBTTagCompound.getBigInteger("zTile"); this.inTile = par1NBTTagCompound.getByte("inTile") & 255; this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; diff --git a/src/minecraft/net/minecraft/src/EntityBlaze.java b/src/minecraft/net/minecraft/src/EntityBlaze.java index fd224f5..c9908b2 100644 --- a/src/minecraft/net/minecraft/src/EntityBlaze.java +++ b/src/minecraft/net/minecraft/src/EntityBlaze.java @@ -150,7 +150,7 @@ public class EntityBlaze extends EntityMob if (this.field_70846_g > 1) { float var9 = MathHelper.sqrt_float(par2) * 0.5F; - this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1009, (int)this.posX, (int)this.posY, (int)this.posZ, 0); + this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1009, MathHelper.toBigInteger(this.posX), (int)this.posY, MathHelper.toBigInteger(this.posZ), 0); for (int var10 = 0; var10 < 1; ++var10) { diff --git a/src/minecraft/net/minecraft/src/EntityBubbleFX.java b/src/minecraft/net/minecraft/src/EntityBubbleFX.java index 5df19bb..d8fa30c 100644 --- a/src/minecraft/net/minecraft/src/EntityBubbleFX.java +++ b/src/minecraft/net/minecraft/src/EntityBubbleFX.java @@ -31,7 +31,7 @@ public class EntityBubbleFX extends EntityFX this.motionY *= 0.8500000238418579D; this.motionZ *= 0.8500000238418579D; - if (this.worldObj.getBlockMaterial(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)) != Material.water) + if (this.worldObj.getBlockMaterial(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double_BigInteger(this.posZ)) != Material.water) { this.setDead(); } diff --git a/src/minecraft/net/minecraft/src/EntityCreature.java b/src/minecraft/net/minecraft/src/EntityCreature.java index 49fd562..3a0e24f 100644 --- a/src/minecraft/net/minecraft/src/EntityCreature.java +++ b/src/minecraft/net/minecraft/src/EntityCreature.java @@ -173,16 +173,16 @@ public abstract class EntityCreature extends EntityLiving { this.worldObj.theProfiler.startSection("stroll"); boolean var1 = false; - int var2 = -1; + BigInteger var2 = BigInteger.ZERO; int var3 = -1; - int var4 = -1; + BigInteger var4 = BigInteger.ZERO; float var5 = -99999.0F; for (int var6 = 0; var6 < 10; ++var6) { - int var7 = MathHelper.floor_double(this.posX + (double)this.rand.nextInt(13) - 6.0D); + BigInteger var7 = MathHelper.floor_double_BigInteger(this.posX + (double)this.rand.nextInt(13) - 6.0D); int var8 = MathHelper.floor_double(this.posY + (double)this.rand.nextInt(7) - 3.0D); - int var9 = MathHelper.floor_double(this.posZ + (double)this.rand.nextInt(13) - 6.0D); + BigInteger var9 = MathHelper.floor_double_BigInteger(this.posZ + (double)this.rand.nextInt(13) - 6.0D); float var10 = this.getBlockPathWeight(var7, var8, var9); if (var10 > var5) @@ -231,9 +231,9 @@ public abstract class EntityCreature extends EntityLiving */ public boolean getCanSpawnHere() { - int var1 = MathHelper.floor_double(this.posX); + BigInteger var1 = MathHelper.floor_double_BigInteger(this.posX); int var2 = MathHelper.floor_double(this.boundingBox.minY); - int var3 = MathHelper.floor_double(this.posZ); + BigInteger var3 = MathHelper.floor_double_BigInteger(this.posZ); return super.getCanSpawnHere() && this.getBlockPathWeight(var1, var2, var3) >= 0.0F; } diff --git a/src/minecraft/net/minecraft/src/EntityDragon.java b/src/minecraft/net/minecraft/src/EntityDragon.java index 73b0953..d994da8 100644 --- a/src/minecraft/net/minecraft/src/EntityDragon.java +++ b/src/minecraft/net/minecraft/src/EntityDragon.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Iterator; import java.util.List; @@ -487,6 +488,7 @@ public class EntityDragon extends EntityDragonBase */ private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { + // I really didn't want fix this int var2 = MathHelper.floor_double(par1AxisAlignedBB.minX); int var3 = MathHelper.floor_double(par1AxisAlignedBB.minY); int var4 = MathHelper.floor_double(par1AxisAlignedBB.minZ); @@ -502,14 +504,16 @@ public class EntityDragon extends EntityDragonBase { for (int var12 = var4; var12 <= var7; ++var12) { - int var13 = this.worldObj.getBlockId(var10, var11, var12); + BigInteger x = BigInteger.valueOf(var10); + BigInteger z = BigInteger.valueOf(var12); + int var13 = this.worldObj.getBlockId(x, var11, z); if (var13 != 0) { if (var13 != Block.obsidian.blockID && var13 != Block.whiteStone.blockID && var13 != Block.bedrock.blockID) { var9 = true; - this.worldObj.setBlockWithNotify(var10, var11, var12, 0); + this.worldObj.setBlockWithNotify(x, var11, z, 0); } else { @@ -598,7 +602,7 @@ public class EntityDragon extends EntityDragonBase this.worldObj.spawnEntityInWorld(new EntityXPOrb(this.worldObj, this.posX, this.posY, this.posZ, var5)); } - this.createEnderPortal(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posZ)); + this.createEnderPortal(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double_BigInteger(this.posZ)); this.setDead(); } } @@ -606,7 +610,7 @@ public class EntityDragon extends EntityDragonBase /** * Creates the ender portal leading back to the normal world after defeating the enderdragon. */ - private void createEnderPortal(int par1, int par2) + private void createEnderPortal(BigInteger par1, BigInteger par2) { byte var3 = 64; BlockEndPortal.bossDefeated = true; @@ -614,13 +618,15 @@ public class EntityDragon extends EntityDragonBase for (int var5 = var3 - 1; var5 <= var3 + 32; ++var5) { - for (int var6 = par1 - var4; var6 <= par1 + var4; ++var6) + for (int var6 = - var4; var6 <= + var4; ++var6) { - for (int var7 = par2 - var4; var7 <= par2 + var4; ++var7) + for (int var7 = - var4; var7 <= + var4; ++var7) { - double var8 = (double)(var6 - par1); - double var10 = (double)(var7 - par2); + double var8 = (double)(var6); + double var10 = (double)(var7); double var12 = var8 * var8 + var10 * var10; + BigInteger x = BigInteger.valueOf(var6).add(par1); + BigInteger z = BigInteger.valueOf(var7).add(par2); if (var12 <= ((double)var4 - 0.5D) * ((double)var4 - 0.5D)) { @@ -628,20 +634,20 @@ public class EntityDragon extends EntityDragonBase { if (var12 <= ((double)(var4 - 1) - 0.5D) * ((double)(var4 - 1) - 0.5D)) { - this.worldObj.setBlockWithNotify(var6, var5, var7, Block.bedrock.blockID); + this.worldObj.setBlockWithNotify(x, var5, z, Block.bedrock.blockID); } } else if (var5 > var3) { - this.worldObj.setBlockWithNotify(var6, var5, var7, 0); + this.worldObj.setBlockWithNotify(x, var5, z, 0); } else if (var12 > ((double)(var4 - 1) - 0.5D) * ((double)(var4 - 1) - 0.5D)) { - this.worldObj.setBlockWithNotify(var6, var5, var7, Block.bedrock.blockID); + this.worldObj.setBlockWithNotify(x, var5, z, Block.bedrock.blockID); } else { - this.worldObj.setBlockWithNotify(var6, var5, var7, Block.endPortal.blockID); + this.worldObj.setBlockWithNotify(x, var5, z, Block.endPortal.blockID); } } } @@ -651,10 +657,10 @@ public class EntityDragon extends EntityDragonBase this.worldObj.setBlockWithNotify(par1, var3 + 0, par2, Block.bedrock.blockID); this.worldObj.setBlockWithNotify(par1, var3 + 1, par2, Block.bedrock.blockID); this.worldObj.setBlockWithNotify(par1, var3 + 2, par2, Block.bedrock.blockID); - this.worldObj.setBlockWithNotify(par1 - 1, var3 + 2, par2, Block.torchWood.blockID); - this.worldObj.setBlockWithNotify(par1 + 1, var3 + 2, par2, Block.torchWood.blockID); - this.worldObj.setBlockWithNotify(par1, var3 + 2, par2 - 1, Block.torchWood.blockID); - this.worldObj.setBlockWithNotify(par1, var3 + 2, par2 + 1, Block.torchWood.blockID); + this.worldObj.setBlockWithNotify(par1.subtract(BigInteger.ONE), var3 + 2, par2, Block.torchWood.blockID); + this.worldObj.setBlockWithNotify(par1.add(BigInteger.ONE), var3 + 2, par2, Block.torchWood.blockID); + this.worldObj.setBlockWithNotify(par1, var3 + 2, par2.subtract(BigInteger.ONE), Block.torchWood.blockID); + this.worldObj.setBlockWithNotify(par1, var3 + 2, par2.add(BigInteger.ONE), Block.torchWood.blockID); this.worldObj.setBlockWithNotify(par1, var3 + 3, par2, Block.bedrock.blockID); this.worldObj.setBlockWithNotify(par1, var3 + 4, par2, Block.dragonEgg.blockID); BlockEndPortal.bossDefeated = false; diff --git a/src/minecraft/net/minecraft/src/EntityDropParticleFX.java b/src/minecraft/net/minecraft/src/EntityDropParticleFX.java index 36dcff0..10bb75c 100644 --- a/src/minecraft/net/minecraft/src/EntityDropParticleFX.java +++ b/src/minecraft/net/minecraft/src/EntityDropParticleFX.java @@ -110,11 +110,11 @@ public class EntityDropParticleFX extends EntityFX this.motionZ *= 0.699999988079071D; } - Material var1 = this.worldObj.getBlockMaterial(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)); + Material var1 = this.worldObj.getBlockMaterial(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double_BigInteger(this.posZ)); if (var1.isLiquid() || var1.isSolid()) { - double var2 = (double)((float)(MathHelper.floor_double(this.posY) + 1) - BlockFluid.getFluidHeightPercent(this.worldObj.getBlockMetadata(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)))); + double var2 = (double)((float)(MathHelper.floor_double(this.posY) + 1) - BlockFluid.getFluidHeightPercent(this.worldObj.getBlockMetadata(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double_BigInteger(this.posZ)))); if (this.posY < var2) { diff --git a/src/minecraft/net/minecraft/src/EntityEnderCrystal.java b/src/minecraft/net/minecraft/src/EntityEnderCrystal.java index 3db09f1..f4a7300 100644 --- a/src/minecraft/net/minecraft/src/EntityEnderCrystal.java +++ b/src/minecraft/net/minecraft/src/EntityEnderCrystal.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class EntityEnderCrystal extends Entity { /** Used to create the rotation animation when rendering the crystal. */ @@ -47,9 +49,9 @@ public class EntityEnderCrystal extends Entity this.prevPosZ = this.posZ; ++this.innerRotation; this.dataWatcher.updateObject(8, Integer.valueOf(this.health)); - int var1 = MathHelper.floor_double(this.posX); + BigInteger var1 = MathHelper.floor_double_BigInteger(this.posX); int var2 = MathHelper.floor_double(this.posY); - int var3 = MathHelper.floor_double(this.posZ); + BigInteger var3 = MathHelper.floor_double_BigInteger(this.posZ); if (this.worldObj.getBlockId(var1, var2, var3) != Block.fire.blockID) { diff --git a/src/minecraft/net/minecraft/src/EntityEnderEye.java b/src/minecraft/net/minecraft/src/EntityEnderEye.java index 1171ea5..2c33a75 100644 --- a/src/minecraft/net/minecraft/src/EntityEnderEye.java +++ b/src/minecraft/net/minecraft/src/EntityEnderEye.java @@ -181,7 +181,7 @@ public class EntityEnderEye extends Entity } else { - this.worldObj.playAuxSFX(2003, (int)Math.round(this.posX), (int)Math.round(this.posY), (int)Math.round(this.posZ), 0); + this.worldObj.playAuxSFX(2003, MathHelper.toBigInteger(this.posX), (int)Math.round(this.posY), MathHelper.toBigInteger(this.posZ), 0); } } } diff --git a/src/minecraft/net/minecraft/src/EntityExpBottle.java b/src/minecraft/net/minecraft/src/EntityExpBottle.java index a26c8bc..bb9410b 100644 --- a/src/minecraft/net/minecraft/src/EntityExpBottle.java +++ b/src/minecraft/net/minecraft/src/EntityExpBottle.java @@ -42,7 +42,7 @@ public class EntityExpBottle extends EntityThrowable { if (!this.worldObj.isRemote) { - this.worldObj.playAuxSFX(2002, (int)Math.round(this.posX), (int)Math.round(this.posY), (int)Math.round(this.posZ), 0); + this.worldObj.playAuxSFX(2002, MathHelper.toBigInteger(this.posX), (int)Math.round(this.posY), MathHelper.toBigInteger(this.posZ), 0); int var2 = 3 + this.worldObj.rand.nextInt(5) + this.worldObj.rand.nextInt(5); while (var2 > 0) diff --git a/src/minecraft/net/minecraft/src/EntityFlying.java b/src/minecraft/net/minecraft/src/EntityFlying.java index be7993e..5889a24 100644 --- a/src/minecraft/net/minecraft/src/EntityFlying.java +++ b/src/minecraft/net/minecraft/src/EntityFlying.java @@ -40,7 +40,7 @@ public abstract class EntityFlying extends EntityLiving if (this.onGround) { var3 = 0.54600006F; - int var4 = this.worldObj.getBlockId(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double(this.posZ)); + int var4 = this.worldObj.getBlockId(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double_BigInteger(this.posZ)); if (var4 > 0) { @@ -55,7 +55,7 @@ public abstract class EntityFlying extends EntityLiving if (this.onGround) { var3 = 0.54600006F; - int var5 = this.worldObj.getBlockId(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double(this.posZ)); + int var5 = this.worldObj.getBlockId(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double_BigInteger(this.posZ)); if (var5 > 0) { diff --git a/src/minecraft/net/minecraft/src/EntityFootStepFX.java b/src/minecraft/net/minecraft/src/EntityFootStepFX.java index 7b5fefd..73a1b32 100644 --- a/src/minecraft/net/minecraft/src/EntityFootStepFX.java +++ b/src/minecraft/net/minecraft/src/EntityFootStepFX.java @@ -33,7 +33,7 @@ public class EntityFootStepFX extends EntityFX float var11 = (float)(this.posX - interpPosX); float var12 = (float)(this.posY - interpPosY); float var13 = (float)(this.posZ - interpPosZ); - float var14 = this.worldObj.getLightBrightness(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)); + float var14 = this.worldObj.getLightBrightness(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double_BigInteger(this.posZ)); this.currentFootSteps.bindTexture(this.currentFootSteps.getTexture("/misc/footprint.png")); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); diff --git a/src/minecraft/net/minecraft/src/EntityGhast.java b/src/minecraft/net/minecraft/src/EntityGhast.java index a54536f..fc35d96 100644 --- a/src/minecraft/net/minecraft/src/EntityGhast.java +++ b/src/minecraft/net/minecraft/src/EntityGhast.java @@ -128,14 +128,14 @@ public class EntityGhast extends EntityFlying implements IMob { if (this.attackCounter == 10) { - this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1007, (int)this.posX, (int)this.posY, (int)this.posZ, 0); + this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1007, MathHelper.toBigInteger(this.posX), (int)this.posY, MathHelper.toBigInteger(this.posZ), 0); } ++this.attackCounter; if (this.attackCounter == 20) { - this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1008, (int)this.posX, (int)this.posY, (int)this.posZ, 0); + this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1008, MathHelper.toBigInteger(this.posX), (int)this.posY, MathHelper.toBigInteger(this.posZ), 0); EntityFireball var17 = new EntityFireball(this.worldObj, this, var11, var13, var15); double var18 = 4.0D; Vec3 var20 = this.getLook(1.0F); diff --git a/src/minecraft/net/minecraft/src/EntityGiantZombie.java b/src/minecraft/net/minecraft/src/EntityGiantZombie.java index a41431c..d08f01c 100644 --- a/src/minecraft/net/minecraft/src/EntityGiantZombie.java +++ b/src/minecraft/net/minecraft/src/EntityGiantZombie.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class EntityGiantZombie extends EntityMob { public EntityGiantZombie(World par1World) @@ -21,7 +23,7 @@ public class EntityGiantZombie extends EntityMob * Takes a coordinate in and returns a weight to determine how likely this creature will try to path to the block. * Args: x, y, z */ - public float getBlockPathWeight(int par1, int par2, int par3) + public float getBlockPathWeight(BigInteger par1, int par2, BigInteger par3) { return this.worldObj.getLightBrightness(par1, par2, par3) - 0.5F; } diff --git a/src/minecraft/net/minecraft/src/EntityItem.java b/src/minecraft/net/minecraft/src/EntityItem.java index 7bade6f..47c318f 100644 --- a/src/minecraft/net/minecraft/src/EntityItem.java +++ b/src/minecraft/net/minecraft/src/EntityItem.java @@ -72,7 +72,7 @@ public class EntityItem extends Entity if (var1) { - if (this.worldObj.getBlockMaterial(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)) == Material.lava) + if (this.worldObj.getBlockMaterial(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double_BigInteger(this.posZ)) == Material.lava) { this.motionY = 0.20000000298023224D; this.motionX = (double)((this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F); @@ -97,7 +97,7 @@ public class EntityItem extends Entity if (this.onGround) { var4 = 0.58800006F; - int var5 = this.worldObj.getBlockId(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double(this.posZ)); + int var5 = this.worldObj.getBlockId(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double_BigInteger(this.posZ)); if (var5 > 0) { diff --git a/src/minecraft/net/minecraft/src/EntityMinecart.java b/src/minecraft/net/minecraft/src/EntityMinecart.java index a499e35..e0463b8 100644 --- a/src/minecraft/net/minecraft/src/EntityMinecart.java +++ b/src/minecraft/net/minecraft/src/EntityMinecart.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; public class EntityMinecart extends Entity implements IInventory @@ -290,9 +291,9 @@ public class EntityMinecart extends Entity implements IInventory this.prevPosY = this.posY; this.prevPosZ = this.posZ; this.motionY -= 0.03999999910593033D; - int var1 = MathHelper.floor_double(this.posX); + BigInteger var1 = MathHelper.floor_double_BigInteger(this.posX); int var2 = MathHelper.floor_double(this.posY); - int var3 = MathHelper.floor_double(this.posZ); + BigInteger var3 = MathHelper.floor_double_BigInteger(this.posZ); if (BlockRail.isRailBlockAt(this.worldObj, var1, var2 - 1, var3)) { @@ -397,10 +398,10 @@ public class EntityMinecart extends Entity implements IInventory } var24 = 0.0D; - var26 = (double)var1 + 0.5D + (double)var13[0][0] * 0.5D; - double var28 = (double)var3 + 0.5D + (double)var13[0][2] * 0.5D; - double var30 = (double)var1 + 0.5D + (double)var13[1][0] * 0.5D; - double var32 = (double)var3 + 0.5D + (double)var13[1][2] * 0.5D; + var26 = (double)var1.doubleValue() + 0.5D + (double)var13[0][0] * 0.5D; + double var28 = (double)var3.doubleValue() + 0.5D + (double)var13[0][2] * 0.5D; + double var30 = (double)var1.doubleValue() + 0.5D + (double)var13[1][0] * 0.5D; + double var32 = (double)var3.doubleValue() + 0.5D + (double)var13[1][2] * 0.5D; var14 = var30 - var26; var16 = var32 - var28; double var34; @@ -408,13 +409,13 @@ public class EntityMinecart extends Entity implements IInventory if (var14 == 0.0D) { - this.posX = (double)var1 + 0.5D; - var24 = this.posZ - (double)var3; + this.posX = (double)var1.doubleValue() + 0.5D; + var24 = this.posZ - (double)var3.doubleValue(); } else if (var16 == 0.0D) { - this.posZ = (double)var3 + 0.5D; - var24 = this.posX - (double)var1; + this.posZ = (double)var3.doubleValue() + 0.5D; + var24 = this.posX - (double)var1.doubleValue(); } else { @@ -457,11 +458,11 @@ public class EntityMinecart extends Entity implements IInventory this.moveEntity(var34, 0.0D, var36); - if (var13[0][1] != 0 && MathHelper.floor_double(this.posX) - var1 == var13[0][0] && MathHelper.floor_double(this.posZ) - var3 == var13[0][2]) + if (var13[0][1] != 0 && MathHelper.floor_double_BigInteger(this.posX).subtract(var1).equals(BigInteger.valueOf(var13[0][0])) && MathHelper.floor_double_BigInteger(this.posZ).subtract(var3).equals(BigInteger.valueOf(var13[0][2]))) { this.setPosition(this.posX, this.posY + (double)var13[0][1], this.posZ); } - else if (var13[1][1] != 0 && MathHelper.floor_double(this.posX) - var1 == var13[1][0] && MathHelper.floor_double(this.posZ) - var3 == var13[1][2]) + else if (var13[1][1] != 0 && MathHelper.floor_double_BigInteger(this.posX).subtract(var1).equals(BigInteger.valueOf(var13[1][0])) && MathHelper.floor_double_BigInteger(this.posZ).subtract(var3).equals(var13[1][2])) { this.setPosition(this.posX, this.posY + (double)var13[1][1], this.posZ); } @@ -519,14 +520,14 @@ public class EntityMinecart extends Entity implements IInventory this.setPosition(this.posX, var51.yCoord, this.posZ); } - int var52 = MathHelper.floor_double(this.posX); - int var53 = MathHelper.floor_double(this.posZ); + BigInteger var52 = MathHelper.floor_double_BigInteger(this.posX); + BigInteger var53 = MathHelper.floor_double_BigInteger(this.posZ); - if (var52 != var1 || var53 != var3) + if (!var52.equals(var1) || var53.equals(var3)) { var22 = Math.sqrt(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.motionX = var22 * (double)(var52 - var1); - this.motionZ = var22 * (double)(var53 - var3); + this.motionX = var22 * (double)(var52.subtract(var1)).doubleValue(); + this.motionZ = var22 * (double)(var53.subtract(var3)).doubleValue(); } double var41; @@ -566,22 +567,22 @@ public class EntityMinecart extends Entity implements IInventory } else if (var10 == 1) { - if (this.worldObj.isBlockNormalCube(var1 - 1, var2, var3)) + if (this.worldObj.isBlockNormalCube(var1.subtract(BigInteger.ONE), var2, var3)) { this.motionX = 0.02D; } - else if (this.worldObj.isBlockNormalCube(var1 + 1, var2, var3)) + else if (this.worldObj.isBlockNormalCube(var1.add(BigInteger.ONE), var2, var3)) { this.motionX = -0.02D; } } else if (var10 == 0) { - if (this.worldObj.isBlockNormalCube(var1, var2, var3 - 1)) + if (this.worldObj.isBlockNormalCube(var1, var2, var3.subtract(BigInteger.ONE))) { this.motionZ = 0.02D; } - else if (this.worldObj.isBlockNormalCube(var1, var2, var3 + 1)) + else if (this.worldObj.isBlockNormalCube(var1, var2, var3.add(BigInteger.ONE))) { this.motionZ = -0.02D; } @@ -693,9 +694,9 @@ public class EntityMinecart extends Entity implements IInventory public Vec3 func_70495_a(double par1, double par3, double par5, double par7) { - int var9 = MathHelper.floor_double(par1); + BigInteger var9 = MathHelper.floor_double_BigInteger(par1); int var10 = MathHelper.floor_double(par3); - int var11 = MathHelper.floor_double(par5); + BigInteger var11 = MathHelper.floor_double_BigInteger(par5); if (BlockRail.isRailBlockAt(this.worldObj, var9, var10 - 1, var11)) { @@ -733,11 +734,11 @@ public class EntityMinecart extends Entity implements IInventory par1 += var15 * par7; par5 += var17 * par7; - if (var14[0][1] != 0 && MathHelper.floor_double(par1) - var9 == var14[0][0] && MathHelper.floor_double(par5) - var11 == var14[0][2]) + if (var14[0][1] != 0 && MathHelper.floor_double_BigInteger(par1).subtract(var9).equals(BigInteger.valueOf(var14[0][0])) && MathHelper.floor_double_BigInteger(par5).subtract(var11).equals(BigInteger.valueOf(var14[0][2]))) { par3 += (double)var14[0][1]; } - else if (var14[1][1] != 0 && MathHelper.floor_double(par1) - var9 == var14[1][0] && MathHelper.floor_double(par5) - var11 == var14[1][2]) + else if (var14[1][1] != 0 && MathHelper.floor_double_BigInteger(par1).subtract(var9).equals(BigInteger.valueOf(var14[1][0])) && MathHelper.floor_double_BigInteger(par5).subtract(var11).equals(BigInteger.valueOf(var14[1][2]))) { par3 += (double)var14[1][1]; } @@ -748,9 +749,9 @@ public class EntityMinecart extends Entity implements IInventory public Vec3 func_70489_a(double par1, double par3, double par5) { - int var7 = MathHelper.floor_double(par1); + BigInteger var7 = MathHelper.floor_double_BigInteger(par1); int var8 = MathHelper.floor_double(par3); - int var9 = MathHelper.floor_double(par5); + BigInteger var9 = MathHelper.floor_double_BigInteger(par5); if (BlockRail.isRailBlockAt(this.worldObj, var7, var8 - 1, var9)) { @@ -776,25 +777,25 @@ public class EntityMinecart extends Entity implements IInventory int[][] var12 = field_70500_g[var11]; double var13 = 0.0D; - double var15 = (double)var7 + 0.5D + (double)var12[0][0] * 0.5D; + double var15 = (double)var7.doubleValue() + 0.5D + (double)var12[0][0] * 0.5D; double var17 = (double)var8 + 0.5D + (double)var12[0][1] * 0.5D; - double var19 = (double)var9 + 0.5D + (double)var12[0][2] * 0.5D; - double var21 = (double)var7 + 0.5D + (double)var12[1][0] * 0.5D; + double var19 = (double)var9.doubleValue() + 0.5D + (double)var12[0][2] * 0.5D; + double var21 = (double)var7.doubleValue() + 0.5D + (double)var12[1][0] * 0.5D; double var23 = (double)var8 + 0.5D + (double)var12[1][1] * 0.5D; - double var25 = (double)var9 + 0.5D + (double)var12[1][2] * 0.5D; + double var25 = (double)var9.doubleValue() + 0.5D + (double)var12[1][2] * 0.5D; double var27 = var21 - var15; double var29 = (var23 - var17) * 2.0D; double var31 = var25 - var19; if (var27 == 0.0D) { - par1 = (double)var7 + 0.5D; - var13 = par5 - (double)var9; + par1 = (double)var7.doubleValue() + 0.5D; + var13 = par5 - (double)var9.doubleValue(); } else if (var31 == 0.0D) { - par5 = (double)var9 + 0.5D; - var13 = par1 - (double)var7; + par5 = (double)var9.doubleValue() + 0.5D; + var13 = par1 - (double)var7.doubleValue(); } else { diff --git a/src/minecraft/net/minecraft/src/EntityMob.java b/src/minecraft/net/minecraft/src/EntityMob.java index b218843..689b2d8 100644 --- a/src/minecraft/net/minecraft/src/EntityMob.java +++ b/src/minecraft/net/minecraft/src/EntityMob.java @@ -124,9 +124,9 @@ public abstract class EntityMob extends EntityCreature implements IMob */ protected boolean isValidLightLevel() { - int var1 = MathHelper.floor_double(this.posX); + BigInteger var1 = MathHelper.floor_double_BigInteger(this.posX); int var2 = MathHelper.floor_double(this.boundingBox.minY); - int var3 = MathHelper.floor_double(this.posZ); + BigInteger var3 = MathHelper.floor_double_BigInteger(this.posZ); if (this.worldObj.getSavedLightValue(EnumSkyBlock.Sky, var1, var2, var3) > this.rand.nextInt(32)) { diff --git a/src/minecraft/net/minecraft/src/EntityOcelot.java b/src/minecraft/net/minecraft/src/EntityOcelot.java index 3bcf078..b2dffbd 100644 --- a/src/minecraft/net/minecraft/src/EntityOcelot.java +++ b/src/minecraft/net/minecraft/src/EntityOcelot.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class EntityOcelot extends EntityTameable { /** @@ -314,9 +316,9 @@ public class EntityOcelot extends EntityTameable { if (this.worldObj.checkIfAABBIsClear(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox)) { - int var1 = MathHelper.floor_double(this.posX); + BigInteger var1 = MathHelper.floor_double_BigInteger(this.posX); int var2 = MathHelper.floor_double(this.boundingBox.minY); - int var3 = MathHelper.floor_double(this.posZ); + BigInteger var3 = MathHelper.floor_double_BigInteger(this.posZ); if (var2 < 63) { diff --git a/src/minecraft/net/minecraft/src/EntityPainting.java b/src/minecraft/net/minecraft/src/EntityPainting.java index 03f76dc..45a35d2 100644 --- a/src/minecraft/net/minecraft/src/EntityPainting.java +++ b/src/minecraft/net/minecraft/src/EntityPainting.java @@ -189,28 +189,28 @@ public class EntityPainting extends Entity { int var1 = this.art.sizeX / 16; int var2 = this.art.sizeY / 16; - int var3 = this.xPosition; + BigInteger var3 = this.xPosition; int var4 = this.yPosition; - int var5 = this.zPosition; + BigInteger var5 = this.zPosition; if (this.direction == 0) { - var3 = MathHelper.floor_double(this.posX - (double)((float)this.art.sizeX / 32.0F)); + var3 = MathHelper.floor_double_BigInteger(this.posX - (double)((float)this.art.sizeX / 32.0F)); } if (this.direction == 1) { - var5 = MathHelper.floor_double(this.posZ - (double)((float)this.art.sizeX / 32.0F)); + var5 = MathHelper.floor_double_BigInteger(this.posZ - (double)((float)this.art.sizeX / 32.0F)); } if (this.direction == 2) { - var3 = MathHelper.floor_double(this.posX - (double)((float)this.art.sizeX / 32.0F)); + var3 = MathHelper.floor_double_BigInteger(this.posX - (double)((float)this.art.sizeX / 32.0F)); } if (this.direction == 3) { - var5 = MathHelper.floor_double(this.posZ - (double)((float)this.art.sizeX / 32.0F)); + var5 = MathHelper.floor_double_BigInteger(this.posZ - (double)((float)this.art.sizeX / 32.0F)); } var4 = MathHelper.floor_double(this.posY - (double)((float)this.art.sizeY / 32.0F)); @@ -223,11 +223,11 @@ public class EntityPainting extends Entity if (this.direction != 0 && this.direction != 2) { - var8 = this.worldObj.getBlockMaterial(this.xPosition, var4 + var7, var5 + var6); + var8 = this.worldObj.getBlockMaterial(this.xPosition, var4 + var7, var5.add(BigInteger.valueOf(var6))); } else { - var8 = this.worldObj.getBlockMaterial(var3 + var6, var4 + var7, this.zPosition); + var8 = this.worldObj.getBlockMaterial(var3.add(BigInteger.valueOf(var6)), var4 + var7, this.zPosition); } if (!var8.isSolid()) @@ -298,9 +298,9 @@ public class EntityPainting extends Entity { par1NBTTagCompound.setByte("Dir", (byte)this.direction); par1NBTTagCompound.setString("Motive", this.art.title); - par1NBTTagCompound.setInteger("TileX", this.xPosition); + par1NBTTagCompound.setBigInteger("TileX", this.xPosition); par1NBTTagCompound.setInteger("TileY", this.yPosition); - par1NBTTagCompound.setInteger("TileZ", this.zPosition); + par1NBTTagCompound.setBigInteger("TileZ", this.zPosition); } /** @@ -309,9 +309,9 @@ public class EntityPainting extends Entity public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.direction = par1NBTTagCompound.getByte("Dir"); - this.xPosition = par1NBTTagCompound.getInteger("TileX"); + this.xPosition = par1NBTTagCompound.getBigInteger("TileX"); this.yPosition = par1NBTTagCompound.getInteger("TileY"); - this.zPosition = par1NBTTagCompound.getInteger("TileZ"); + this.zPosition = par1NBTTagCompound.getBigInteger("TileZ"); String var2 = par1NBTTagCompound.getString("Motive"); EnumArt[] var3 = EnumArt.values(); int var4 = var3.length; diff --git a/src/minecraft/net/minecraft/src/EntityPlayer.java b/src/minecraft/net/minecraft/src/EntityPlayer.java index 0d88beb..4aabc1e 100644 --- a/src/minecraft/net/minecraft/src/EntityPlayer.java +++ b/src/minecraft/net/minecraft/src/EntityPlayer.java @@ -783,12 +783,12 @@ public abstract class EntityPlayer extends EntityLiving implements ICommandSende */ public void displayGUIChest(IInventory par1IInventory) {} - public void displayGUIEnchantment(int par1, int par2, int par3) {} + public void displayGUIEnchantment(BigInteger par1, int par2, BigInteger par3) {} /** * Displays the crafting GUI for a workbench. */ - public void displayGUIWorkbench(int par1, int par2, int par3) {} + public void displayGUIWorkbench(BigInteger par1, int par2, BigInteger par3) {} /** * Called whenever an item is picked up from walking over it. Args: pickedUpEntity, stackSize diff --git a/src/minecraft/net/minecraft/src/EntityPlayerMP.java b/src/minecraft/net/minecraft/src/EntityPlayerMP.java index 4e14e50..551e085 100644 --- a/src/minecraft/net/minecraft/src/EntityPlayerMP.java +++ b/src/minecraft/net/minecraft/src/EntityPlayerMP.java @@ -76,18 +76,18 @@ public class EntityPlayerMP extends EntityPlayer implements ICrafting this.theItemInWorldManager = par4ItemInWorldManager; this.renderDistance = par1MinecraftServer.getConfigurationManager().getViewDistance(); ChunkCoordinates var5 = par2World.getSpawnPoint(); - int var6 = var5.posX; - int var7 = var5.posZ; + BigInteger var6 = var5.posX; + BigInteger var7 = var5.posZ; int var8 = var5.posY; if (!par2World.provider.hasNoSky && par2World.getWorldInfo().getGameType() != EnumGameType.ADVENTURE) { - var6 += this.rand.nextInt(20) - 10; + var6 = var6.add(BigInteger.valueOf(this.rand.nextInt(20) - 10)); var8 = par2World.getTopSolidOrLiquidBlock(var6, var7); - var7 += this.rand.nextInt(20) - 10; + var7 = var7.add(BigInteger.valueOf(this.rand.nextInt(20) - 10)); } - this.setLocationAndAngles((double)var6 + 0.5D, (double)var8, (double)var7 + 0.5D, 0.0F, 0.0F); + this.setLocationAndAngles((double)var6.doubleValue() + 0.5D, (double)var8, (double)var7.doubleValue() + 0.5D, 0.0F, 0.0F); this.mcServer = par1MinecraftServer; this.stepHeight = 0.0F; this.username = par3Str; @@ -525,7 +525,7 @@ public class EntityPlayerMP extends EntityPlayer implements ICrafting /** * Displays the crafting GUI for a workbench. */ - public void displayGUIWorkbench(int par1, int par2, int par3) + public void displayGUIWorkbench(BigInteger par1, int par2, BigInteger par3) { this.incrementWindowID(); this.serverForThisPlayer.sendPacketToPlayer(new Packet100OpenWindow(this.currentWindowId, 1, "Crafting", 9)); @@ -534,7 +534,7 @@ public class EntityPlayerMP extends EntityPlayer implements ICrafting this.craftingInventory.addCraftingToCrafters(this); } - public void displayGUIEnchantment(int par1, int par2, int par3) + public void displayGUIEnchantment(BigInteger par1, int par2, BigInteger par3) { this.incrementWindowID(); this.serverForThisPlayer.sendPacketToPlayer(new Packet100OpenWindow(this.currentWindowId, 4, "Enchanting", 9)); diff --git a/src/minecraft/net/minecraft/src/EntityPlayerSP.java b/src/minecraft/net/minecraft/src/EntityPlayerSP.java index a4bf5db..08c1079 100644 --- a/src/minecraft/net/minecraft/src/EntityPlayerSP.java +++ b/src/minecraft/net/minecraft/src/EntityPlayerSP.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + import net.minecraft.client.Minecraft; public class EntityPlayerSP extends EntityPlayer @@ -339,12 +341,12 @@ public class EntityPlayerSP extends EntityPlayer /** * Displays the crafting GUI for a workbench. */ - public void displayGUIWorkbench(int par1, int par2, int par3) + public void displayGUIWorkbench(BigInteger par1, int par2, BigInteger par3) { this.mc.displayGuiScreen(new GuiCrafting(this.inventory, this.worldObj, par1, par2, par3)); } - public void displayGUIEnchantment(int par1, int par2, int par3) + public void displayGUIEnchantment(BigInteger par1, int par2, BigInteger par3) { this.mc.displayGuiScreen(new GuiEnchantment(this.inventory, this.worldObj, par1, par2, par3)); } @@ -470,7 +472,7 @@ public class EntityPlayerSP extends EntityPlayer } } - private boolean isBlockTranslucent(int par1, int par2, int par3) + private boolean isBlockTranslucent(BigInteger par1, int par2, BigInteger par3) { return this.worldObj.isBlockNormalCube(par1, par2, par3); } @@ -480,18 +482,18 @@ public class EntityPlayerSP extends EntityPlayer */ protected boolean pushOutOfBlocks(double par1, double par3, double par5) { - int var7 = MathHelper.floor_double(par1); + BigInteger var7 = MathHelper.floor_double_BigInteger(par1); int var8 = MathHelper.floor_double(par3); - int var9 = MathHelper.floor_double(par5); - double var10 = par1 - (double)var7; - double var12 = par5 - (double)var9; + BigInteger var9 = MathHelper.floor_double_BigInteger(par5); + double var10 = par1 - (double)var7.doubleValue(); + double var12 = par5 - (double)var9.doubleValue(); if (this.isBlockTranslucent(var7, var8, var9) || this.isBlockTranslucent(var7, var8 + 1, var9)) { - boolean var14 = !this.isBlockTranslucent(var7 - 1, var8, var9) && !this.isBlockTranslucent(var7 - 1, var8 + 1, var9); - boolean var15 = !this.isBlockTranslucent(var7 + 1, var8, var9) && !this.isBlockTranslucent(var7 + 1, var8 + 1, var9); - boolean var16 = !this.isBlockTranslucent(var7, var8, var9 - 1) && !this.isBlockTranslucent(var7, var8 + 1, var9 - 1); - boolean var17 = !this.isBlockTranslucent(var7, var8, var9 + 1) && !this.isBlockTranslucent(var7, var8 + 1, var9 + 1); + boolean var14 = !this.isBlockTranslucent(var7.subtract(BigInteger.ONE), var8, var9) && !this.isBlockTranslucent(var7.subtract(BigInteger.ONE), var8 + 1, var9); + boolean var15 = !this.isBlockTranslucent(var7.add(BigInteger.ONE), var8, var9) && !this.isBlockTranslucent(var7.add(BigInteger.ONE), var8 + 1, var9); + boolean var16 = !this.isBlockTranslucent(var7, var8, var9.subtract(BigInteger.ONE)) && !this.isBlockTranslucent(var7, var8 + 1, var9.subtract(BigInteger.ONE)); + boolean var17 = !this.isBlockTranslucent(var7, var8, var9.add(BigInteger.ONE)) && !this.isBlockTranslucent(var7, var8 + 1, var9.add(BigInteger.ONE)); byte var18 = -1; double var19 = 9999.0D; diff --git a/src/minecraft/net/minecraft/src/EntityPotion.java b/src/minecraft/net/minecraft/src/EntityPotion.java index f98350c..5639a6d 100644 --- a/src/minecraft/net/minecraft/src/EntityPotion.java +++ b/src/minecraft/net/minecraft/src/EntityPotion.java @@ -111,7 +111,7 @@ public class EntityPotion extends EntityThrowable } } - this.worldObj.playAuxSFX(2002, (int)Math.round(this.posX), (int)Math.round(this.posY), (int)Math.round(this.posZ), this.potionDamage); + this.worldObj.playAuxSFX(2002, MathHelper.toBigInteger(this.posX), (int)Math.round(this.posY), MathHelper.toBigInteger(this.posZ), this.potionDamage); this.setDead(); } } diff --git a/src/minecraft/net/minecraft/src/EntityRainFX.java b/src/minecraft/net/minecraft/src/EntityRainFX.java index 44cd285..c0c2b24 100644 --- a/src/minecraft/net/minecraft/src/EntityRainFX.java +++ b/src/minecraft/net/minecraft/src/EntityRainFX.java @@ -47,11 +47,11 @@ public class EntityRainFX extends EntityFX this.motionZ *= 0.699999988079071D; } - Material var1 = this.worldObj.getBlockMaterial(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)); + Material var1 = this.worldObj.getBlockMaterial(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double_BigInteger(this.posZ)); if (var1.isLiquid() || var1.isSolid()) { - double var2 = (double)((float)(MathHelper.floor_double(this.posY) + 1) - BlockFluid.getFluidHeightPercent(this.worldObj.getBlockMetadata(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)))); + double var2 = (double)((float)(MathHelper.floor_double(this.posY) + 1) - BlockFluid.getFluidHeightPercent(this.worldObj.getBlockMetadata(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double_BigInteger(this.posZ)))); if (this.posY < var2) { diff --git a/src/minecraft/net/minecraft/src/EntityRenderer.java b/src/minecraft/net/minecraft/src/EntityRenderer.java index c366744..3b87dd8 100644 --- a/src/minecraft/net/minecraft/src/EntityRenderer.java +++ b/src/minecraft/net/minecraft/src/EntityRenderer.java @@ -1,6 +1,7 @@ package net.minecraft.src; import java.awt.image.BufferedImage; +import java.math.BigInteger; import java.nio.FloatBuffer; import java.util.Iterator; import java.util.List; @@ -194,7 +195,7 @@ public class EntityRenderer this.mc.renderViewEntity = this.mc.thePlayer; } - var1 = this.mc.theWorld.getLightBrightness(MathHelper.floor_double(this.mc.renderViewEntity.posX), MathHelper.floor_double(this.mc.renderViewEntity.posY), MathHelper.floor_double(this.mc.renderViewEntity.posZ)); + var1 = this.mc.theWorld.getLightBrightness(MathHelper.floor_double_BigInteger(this.mc.renderViewEntity.posX), MathHelper.floor_double(this.mc.renderViewEntity.posY), MathHelper.floor_double_BigInteger(this.mc.renderViewEntity.posZ)); var2 = (float)(3 - this.mc.gameSettings.renderDistance) / 3.0F; float var3 = var1 * (1.0F - var2) + var2; this.fogColor1 += (var3 - this.fogColor1) * 0.1F; @@ -393,11 +394,11 @@ public class EntityRenderer if (!this.mc.gameSettings.debugCamEnable) { - int var10 = this.mc.theWorld.getBlockId(MathHelper.floor_double(var2.posX), MathHelper.floor_double(var2.posY), MathHelper.floor_double(var2.posZ)); + int var10 = this.mc.theWorld.getBlockId(MathHelper.floor_double_BigInteger(var2.posX), MathHelper.floor_double(var2.posY), MathHelper.floor_double_BigInteger(var2.posZ)); if (var10 == Block.bed.blockID) { - int var11 = this.mc.theWorld.getBlockMetadata(MathHelper.floor_double(var2.posX), MathHelper.floor_double(var2.posY), MathHelper.floor_double(var2.posZ)); + int var11 = this.mc.theWorld.getBlockMetadata(MathHelper.floor_double_BigInteger(var2.posX), MathHelper.floor_double(var2.posY), MathHelper.floor_double_BigInteger(var2.posZ)); int var12 = var11 & 3; GL11.glRotatef((float)(var12 * 90), 0.0F, 1.0F, 0.0F); } @@ -1158,9 +1159,9 @@ public class EntityRenderer this.random.setSeed((long)this.rendererUpdateCount * 312987231L); EntityLiving var2 = this.mc.renderViewEntity; WorldClient var3 = this.mc.theWorld; - int var4 = MathHelper.floor_double(var2.posX); + BigInteger var4 = MathHelper.floor_double_BigInteger(var2.posX); int var5 = MathHelper.floor_double(var2.posY); - int var6 = MathHelper.floor_double(var2.posZ); + BigInteger var6 = MathHelper.floor_double_BigInteger(var2.posZ); byte var7 = 10; double var8 = 0.0D; double var10 = 0.0D; @@ -1179,8 +1180,8 @@ public class EntityRenderer for (int var16 = 0; var16 < var15; ++var16) { - int var17 = var4 + this.random.nextInt(var7) - this.random.nextInt(var7); - int var18 = var6 + this.random.nextInt(var7) - this.random.nextInt(var7); + BigInteger var17 = var4.add(BigInteger.valueOf(this.random.nextInt(var7) - this.random.nextInt(var7))); + BigInteger var18 = var6.add(BigInteger.valueOf(this.random.nextInt(var7) - this.random.nextInt(var7))); int var19 = var3.getPrecipitationHeight(var17, var18); int var20 = var3.getBlockId(var17, var19 - 1, var18); BiomeGenBase var21 = var3.getBiomeGenForCoords(var17, var18); @@ -1194,7 +1195,7 @@ public class EntityRenderer { if (Block.blocksList[var20].blockMaterial == Material.lava) { - this.mc.effectRenderer.addEffect(new EntitySmokeFX(var3, (double)((float)var17 + var22), (double)((float)var19 + 0.1F) - Block.blocksList[var20].minY, (double)((float)var18 + var23), 0.0D, 0.0D, 0.0D)); + this.mc.effectRenderer.addEffect(new EntitySmokeFX(var3, (double)((float)var17.floatValue() + var22), (double)((float)var19 + 0.1F) - Block.blocksList[var20].minY, (double)((float)var18.floatValue() + var23), 0.0D, 0.0D, 0.0D)); } else { @@ -1202,12 +1203,12 @@ public class EntityRenderer if (this.random.nextInt(var14) == 0) { - var8 = (double)((float)var17 + var22); + var8 = (double)((float)var17.floatValue() + var22); var10 = (double)((float)var19 + 0.1F) - Block.blocksList[var20].minY; - var12 = (double)((float)var18 + var23); + var12 = (double)((float)var18.floatValue() + var23); } - this.mc.effectRenderer.addEffect(new EntityRainFX(var3, (double)((float)var17 + var22), (double)((float)var19 + 0.1F) - Block.blocksList[var20].minY, (double)((float)var18 + var23))); + this.mc.effectRenderer.addEffect(new EntityRainFX(var3, (double)((float)var17.floatValue() + var22), (double)((float)var19 + 0.1F) - Block.blocksList[var20].minY, (double)((float)var18.floatValue() + var23))); } } } @@ -1217,7 +1218,7 @@ public class EntityRenderer { this.rainSoundCounter = 0; - if (var10 > var2.posY + 1.0D && var3.getPrecipitationHeight(MathHelper.floor_double(var2.posX), MathHelper.floor_double(var2.posZ)) > MathHelper.floor_double(var2.posY)) + if (var10 > var2.posY + 1.0D && var3.getPrecipitationHeight(MathHelper.floor_double_BigInteger(var2.posX), MathHelper.floor_double_BigInteger(var2.posZ)) > MathHelper.floor_double(var2.posY)) { this.mc.theWorld.playSound(var8, var10, var12, "ambient.weather.rain", 0.1F, 0.5F); } @@ -1260,9 +1261,9 @@ public class EntityRenderer EntityLiving var41 = this.mc.renderViewEntity; WorldClient var42 = this.mc.theWorld; - int var43 = MathHelper.floor_double(var41.posX); + BigInteger var43 = MathHelper.floor_double_BigInteger(var41.posX); int var44 = MathHelper.floor_double(var41.posY); - int var45 = MathHelper.floor_double(var41.posZ); + BigInteger var45 = MathHelper.floor_double_BigInteger(var41.posZ); Tessellator var8 = Tessellator.instance; GL11.glDisable(GL11.GL_CULL_FACE); GL11.glNormal3f(0.0F, 1.0F, 0.0F); @@ -1293,18 +1294,20 @@ public class EntityRenderer GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); var17 = false; - for (int var20 = var45 - var16; var20 <= var45 + var16; ++var20) + for (int var20 = - var16; var20 <= + var16; ++var20) { - for (int var21 = var43 - var16; var21 <= var43 + var16; ++var21) + for (int var21 = - var16; var21 <= + var16; ++var21) { - int var22 = (var20 - var45 + 16) * 32 + var21 - var43 + 16; + BigInteger x = var43.add(BigInteger.valueOf(var21)), + z = var45.add(BigInteger.valueOf(var20)); + int var22 = (var20 + 16) * 32 + var21 + 16; float var23 = this.rainXCoords[var22] * 0.5F; float var24 = this.rainYCoords[var22] * 0.5F; - BiomeGenBase var25 = var42.getBiomeGenForCoords(var21, var20); + BiomeGenBase var25 = var42.getBiomeGenForCoords(x, z); if (var25.canSpawnLightningBolt() || var25.getEnableSnow()) { - int var26 = var42.getPrecipitationHeight(var21, var20); + int var26 = var42.getPrecipitationHeight(x, z); int var27 = var44 - var16; int var28 = var44 + var16; @@ -1352,7 +1355,7 @@ public class EntityRenderer var35 = (double)((float)var20 + 0.5F) - var41.posZ; float var37 = MathHelper.sqrt_double(var33 * var33 + var35 * var35) / (float)var16; float var38 = 1.0F; - var8.setBrightness(var42.getLightBrightnessForSkyBlocks(var21, var30, var20, 0)); + var8.setBrightness(var42.getLightBrightnessForSkyBlocks(x, var30, z, 0)); var8.setColorRGBA_F(var38, var38, var38, ((1.0F - var37 * var37) * 0.5F + 0.5F) * var2); var8.setTranslation(-var9 * 1.0D, -var11 * 1.0D, -var13 * 1.0D); var8.addVertexWithUV((double)((float)var21 - var23) + 0.5D, (double)var27, (double)((float)var20 - var24) + 0.5D, (double)(0.0F * var29), (double)((float)var27 * var29 / 4.0F + var32 * var29)); @@ -1382,7 +1385,7 @@ public class EntityRenderer double var47 = (double)((float)var20 + 0.5F) - var41.posZ; float var39 = MathHelper.sqrt_double(var35 * var35 + var47 * var47) / (float)var16; float var40 = 1.0F; - var8.setBrightness((var42.getLightBrightnessForSkyBlocks(var21, var30, var20, 0) * 3 + 15728880) / 4); + var8.setBrightness((var42.getLightBrightnessForSkyBlocks(x, var30, z, 0) * 3 + 15728880) / 4); var8.setColorRGBA_F(var40, var40, var40, ((1.0F - var39 * var39) * 0.3F + 0.5F) * var2); var8.setTranslation(-var9 * 1.0D, -var11 * 1.0D, -var13 * 1.0D); var8.addVertexWithUV((double)((float)var21 - var23) + 0.5D, (double)var27, (double)((float)var20 - var24) + 0.5D, (double)(0.0F * var29 + var46), (double)((float)var27 * var29 / 4.0F + var32 * var29 + var34)); diff --git a/src/minecraft/net/minecraft/src/EntitySlime.java b/src/minecraft/net/minecraft/src/EntitySlime.java index 31faebf..32742c7 100644 --- a/src/minecraft/net/minecraft/src/EntitySlime.java +++ b/src/minecraft/net/minecraft/src/EntitySlime.java @@ -269,7 +269,7 @@ public class EntitySlime extends EntityLiving implements IMob */ public boolean getCanSpawnHere() { - Chunk var1 = this.worldObj.getChunkFromBlockCoords(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posZ)); + Chunk var1 = this.worldObj.getChunkFromBlockCoords(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double_BigInteger(this.posZ)); return this.worldObj.getWorldInfo().getTerrainType() == WorldType.FLAT && this.rand.nextInt(4) != 1 ? false : ((this.getSlimeSize() == 1 || this.worldObj.difficultySetting > 0) && this.rand.nextInt(10) == 0 && var1.getRandomWithSeed(987234911L).nextInt(10) == 0 && this.posY < 40.0D ? super.getCanSpawnHere() : false); } diff --git a/src/minecraft/net/minecraft/src/EntitySmallFireball.java b/src/minecraft/net/minecraft/src/EntitySmallFireball.java index e659ff0..3dfbd62 100644 --- a/src/minecraft/net/minecraft/src/EntitySmallFireball.java +++ b/src/minecraft/net/minecraft/src/EntitySmallFireball.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class EntitySmallFireball extends EntityFireball { public EntitySmallFireball(World par1World) @@ -36,9 +38,9 @@ public class EntitySmallFireball extends EntityFireball } else { - int var2 = par1MovingObjectPosition.blockX; + BigInteger var2 = par1MovingObjectPosition.blockX; int var3 = par1MovingObjectPosition.blockY; - int var4 = par1MovingObjectPosition.blockZ; + BigInteger var4 = par1MovingObjectPosition.blockZ; switch (par1MovingObjectPosition.sideHit) { @@ -51,19 +53,19 @@ public class EntitySmallFireball extends EntityFireball break; case 2: - --var4; + var4 = var4.subtract(BigInteger.ONE); break; case 3: - ++var4; + var4 = var4.add(BigInteger.ONE); break; case 4: - --var2; + var2 = var2.subtract(BigInteger.ONE); break; case 5: - ++var2; + var2 = var2.add(BigInteger.ONE); } if (this.worldObj.isAirBlock(var2, var3, var4)) diff --git a/src/minecraft/net/minecraft/src/EntitySnowman.java b/src/minecraft/net/minecraft/src/EntitySnowman.java index 19b24b9..9d963b5 100644 --- a/src/minecraft/net/minecraft/src/EntitySnowman.java +++ b/src/minecraft/net/minecraft/src/EntitySnowman.java @@ -57,7 +57,7 @@ public class EntitySnowman extends EntityGolem int var3 = MathHelper.floor_double(this.posY); z = MathHelper.floor_double_BigInteger(this.posZ + (double)((float)(var1 / 2 % 2 * 2 - 1) * 0.25F)); - if (this.worldObj.getBlockId(x, var3, z) == 0 && this.worldObj.getBiomeGenForCoords(x, z).getFloatTemperature() < 0.8F && Block.snow.canPlaceBlockAt(this.worldObj, var2, var3, var4)) + if (this.worldObj.getBlockId(x, var3, z) == 0 && this.worldObj.getBiomeGenForCoords(x, z).getFloatTemperature() < 0.8F && Block.snow.canPlaceBlockAt(this.worldObj, x, var3, z)) { this.worldObj.setBlockWithNotify(x, var3, z, Block.snow.blockID); } diff --git a/src/minecraft/net/minecraft/src/EntitySorter.java b/src/minecraft/net/minecraft/src/EntitySorter.java index 3696050..e6204fa 100644 --- a/src/minecraft/net/minecraft/src/EntitySorter.java +++ b/src/minecraft/net/minecraft/src/EntitySorter.java @@ -25,12 +25,12 @@ public class EntitySorter implements Comparator */ public int sortByDistanceToEntity(WorldRenderer par1WorldRenderer, WorldRenderer par2WorldRenderer) { - double var3 = (double)par1WorldRenderer.posXPlus + this.entityPosX; + double var3 = (double)par1WorldRenderer.posXPlus.doubleValue() + this.entityPosX; double var5 = (double)par1WorldRenderer.posYPlus + this.entityPosY; - double var7 = (double)par1WorldRenderer.posZPlus + this.entityPosZ; - double var9 = (double)par2WorldRenderer.posXPlus + this.entityPosX; + double var7 = (double)par1WorldRenderer.posZPlus.doubleValue() + this.entityPosZ; + double var9 = (double)par2WorldRenderer.posXPlus.doubleValue() + this.entityPosX; double var11 = (double)par2WorldRenderer.posYPlus + this.entityPosY; - double var13 = (double)par2WorldRenderer.posZPlus + this.entityPosZ; + double var13 = (double)par2WorldRenderer.posZPlus.doubleValue() + this.entityPosZ; return (int)((var3 * var3 + var5 * var5 + var7 * var7 - (var9 * var9 + var11 * var11 + var13 * var13)) * 1024.0D); } diff --git a/src/minecraft/net/minecraft/src/EntitySuspendFX.java b/src/minecraft/net/minecraft/src/EntitySuspendFX.java index 912235d..228c954 100644 --- a/src/minecraft/net/minecraft/src/EntitySuspendFX.java +++ b/src/minecraft/net/minecraft/src/EntitySuspendFX.java @@ -27,7 +27,7 @@ public class EntitySuspendFX extends EntityFX this.prevPosZ = this.posZ; this.moveEntity(this.motionX, this.motionY, this.motionZ); - if (this.worldObj.getBlockMaterial(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)) != Material.water) + if (this.worldObj.getBlockMaterial(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double_BigInteger(this.posZ)) != Material.water) { this.setDead(); } diff --git a/src/minecraft/net/minecraft/src/EntityThrowable.java b/src/minecraft/net/minecraft/src/EntityThrowable.java index 217f272..60987a6 100644 --- a/src/minecraft/net/minecraft/src/EntityThrowable.java +++ b/src/minecraft/net/minecraft/src/EntityThrowable.java @@ -1,13 +1,14 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Iterator; import java.util.List; public abstract class EntityThrowable extends Entity { - private int xTile = -1; + private BigInteger xTile = BigInteger.ZERO; private int yTile = -1; - private int zTile = -1; + private BigInteger zTile = BigInteger.ZERO; private int inTile = 0; protected boolean inGround = false; public int throwableShake = 0; @@ -278,9 +279,9 @@ public abstract class EntityThrowable extends Entity */ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setBigInteger("xTile", this.xTile); par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setBigInteger("zTile", this.zTile); par1NBTTagCompound.setByte("inTile", (byte)this.inTile); par1NBTTagCompound.setByte("shake", (byte)this.throwableShake); par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); @@ -291,9 +292,9 @@ public abstract class EntityThrowable extends Entity */ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); + this.xTile = par1NBTTagCompound.getBigInteger("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); + this.zTile = par1NBTTagCompound.getBigInteger("zTile"); this.inTile = par1NBTTagCompound.getByte("inTile") & 255; this.throwableShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; diff --git a/src/minecraft/net/minecraft/src/EntityXPOrb.java b/src/minecraft/net/minecraft/src/EntityXPOrb.java index 8bdbdf0..0e6e186 100644 --- a/src/minecraft/net/minecraft/src/EntityXPOrb.java +++ b/src/minecraft/net/minecraft/src/EntityXPOrb.java @@ -94,7 +94,7 @@ public class EntityXPOrb extends Entity this.prevPosZ = this.posZ; this.motionY -= 0.029999999329447746D; - if (this.worldObj.getBlockMaterial(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)) == Material.lava) + if (this.worldObj.getBlockMaterial(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double_BigInteger(this.posZ)) == Material.lava) { this.motionY = 0.20000000298023224D; this.motionX = (double)((this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F); @@ -138,7 +138,7 @@ public class EntityXPOrb extends Entity if (this.onGround) { var13 = 0.58800006F; - int var4 = this.worldObj.getBlockId(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double(this.posZ)); + int var4 = this.worldObj.getBlockId(MathHelper.floor_double_BigInteger(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double_BigInteger(this.posZ)); if (var4 > 0) { diff --git a/src/minecraft/net/minecraft/src/GenLayerAddIsland.java b/src/minecraft/net/minecraft/src/GenLayerAddIsland.java index fc516b5..15eb6d1 100644 --- a/src/minecraft/net/minecraft/src/GenLayerAddIsland.java +++ b/src/minecraft/net/minecraft/src/GenLayerAddIsland.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerAddIsland extends GenLayer { public GenLayerAddIsland(long par1, GenLayer par3GenLayer) @@ -12,10 +14,10 @@ public class GenLayerAddIsland extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { - int var5 = par1 - 1; - int var6 = par2 - 1; + BigInteger var5 = par1.subtract(BigInteger.ONE); + BigInteger var6 = par2.subtract(BigInteger.ONE); int var7 = par3 + 2; int var8 = par4 + 2; int[] var9 = this.parent.getInts(var5, var6, var7, var8); @@ -30,7 +32,7 @@ public class GenLayerAddIsland extends GenLayer int var15 = var9[var12 + 0 + (var11 + 2) * var7]; int var16 = var9[var12 + 2 + (var11 + 2) * var7]; int var17 = var9[var12 + 1 + (var11 + 1) * var7]; - this.initChunkSeed((long)(var12 + par1), (long)(var11 + par2)); + this.initChunkSeed((long)(var12 + par1.longValue()), (long)(var11 + par2.longValue())); if (var17 == 0 && (var13 != 0 || var14 != 0 || var15 != 0 || var16 != 0)) { diff --git a/src/minecraft/net/minecraft/src/GenLayerAddMushroomIsland.java b/src/minecraft/net/minecraft/src/GenLayerAddMushroomIsland.java index fce4d5b..ea111c8 100644 --- a/src/minecraft/net/minecraft/src/GenLayerAddMushroomIsland.java +++ b/src/minecraft/net/minecraft/src/GenLayerAddMushroomIsland.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerAddMushroomIsland extends GenLayer { public GenLayerAddMushroomIsland(long par1, GenLayer par3GenLayer) @@ -12,10 +14,10 @@ public class GenLayerAddMushroomIsland extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { - int var5 = par1 - 1; - int var6 = par2 - 1; + BigInteger var5 = par1.subtract(BigInteger.ONE); + BigInteger var6 = par2.subtract(BigInteger.ONE); int var7 = par3 + 2; int var8 = par4 + 2; int[] var9 = this.parent.getInts(var5, var6, var7, var8); @@ -30,7 +32,7 @@ public class GenLayerAddMushroomIsland extends GenLayer int var15 = var9[var12 + 0 + (var11 + 2) * var7]; int var16 = var9[var12 + 2 + (var11 + 2) * var7]; int var17 = var9[var12 + 1 + (var11 + 1) * var7]; - this.initChunkSeed((long)(var12 + par1), (long)(var11 + par2)); + this.initChunkSeed((long)(var12 + par1.longValue()), (long)(var11 + par2.longValue())); if (var17 == 0 && var13 == 0 && var14 == 0 && var15 == 0 && var16 == 0 && this.nextInt(100) == 0) { diff --git a/src/minecraft/net/minecraft/src/GenLayerAddSnow.java b/src/minecraft/net/minecraft/src/GenLayerAddSnow.java index 99e3bbb..ab9216e 100644 --- a/src/minecraft/net/minecraft/src/GenLayerAddSnow.java +++ b/src/minecraft/net/minecraft/src/GenLayerAddSnow.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerAddSnow extends GenLayer { public GenLayerAddSnow(long par1, GenLayer par3GenLayer) @@ -12,10 +14,10 @@ public class GenLayerAddSnow extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { - int var5 = par1 - 1; - int var6 = par2 - 1; + BigInteger var5 = par1.subtract(BigInteger.ONE); + BigInteger var6 = par2.subtract(BigInteger.ONE); int var7 = par3 + 2; int var8 = par4 + 2; int[] var9 = this.parent.getInts(var5, var6, var7, var8); @@ -26,7 +28,7 @@ public class GenLayerAddSnow extends GenLayer for (int var12 = 0; var12 < par3; ++var12) { int var13 = var9[var12 + 1 + (var11 + 1) * var7]; - this.initChunkSeed((long)(var12 + par1), (long)(var11 + par2)); + this.initChunkSeed((long)(var12 + par1.longValue()), (long)(var11 + par2.longValue())); if (var13 == 0) { diff --git a/src/minecraft/net/minecraft/src/GenLayerBiome.java b/src/minecraft/net/minecraft/src/GenLayerBiome.java index 9edb3dc..6f64c44 100644 --- a/src/minecraft/net/minecraft/src/GenLayerBiome.java +++ b/src/minecraft/net/minecraft/src/GenLayerBiome.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerBiome extends GenLayer { /** this sets all the biomes that are allowed to appear in the overworld */ @@ -21,7 +23,7 @@ public class GenLayerBiome extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { int[] var5 = this.parent.getInts(par1, par2, par3, par4); int[] var6 = IntCache.getIntCache(par3 * par4); @@ -30,7 +32,7 @@ public class GenLayerBiome extends GenLayer { for (int var8 = 0; var8 < par3; ++var8) { - this.initChunkSeed((long)(var8 + par1), (long)(var7 + par2)); + this.initChunkSeed((long)(var8 + par1.longValue()), (long)(var7 + par2.longValue())); int var9 = var5[var8 + var7 * par3]; if (var9 == 0) diff --git a/src/minecraft/net/minecraft/src/GenLayerFuzzyZoom.java b/src/minecraft/net/minecraft/src/GenLayerFuzzyZoom.java index c2e8d26..83340e9 100644 --- a/src/minecraft/net/minecraft/src/GenLayerFuzzyZoom.java +++ b/src/minecraft/net/minecraft/src/GenLayerFuzzyZoom.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerFuzzyZoom extends GenLayer { public GenLayerFuzzyZoom(long par1, GenLayer par3GenLayer) @@ -12,10 +14,10 @@ public class GenLayerFuzzyZoom extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { - int var5 = par1 >> 1; - int var6 = par2 >> 1; + BigInteger var5 = par1.shiftRight(1); + BigInteger var6 = par2.shiftRight(1); int var7 = (par3 >> 1) + 3; int var8 = (par4 >> 1) + 3; int[] var9 = this.parent.getInts(var5, var6, var7, var8); @@ -32,7 +34,7 @@ public class GenLayerFuzzyZoom extends GenLayer for (int var17 = 0; var17 < var7 - 1; ++var17) { - this.initChunkSeed((long)(var17 + var5 << 1), (long)(var12 + var6 << 1)); + this.initChunkSeed((long)(var17 + var5.longValue() << 1), (long)(var12 + var6.longValue() << 1)); int var18 = var9[var17 + 1 + (var12 + 0) * var7]; int var19 = var9[var17 + 1 + (var12 + 1) * var7]; var10[var14] = var15; @@ -48,7 +50,7 @@ public class GenLayerFuzzyZoom extends GenLayer for (var13 = 0; var13 < par4; ++var13) { - System.arraycopy(var10, (var13 + (par2 & 1)) * (var7 << 1) + (par1 & 1), var20, var13 * par3, par3); + System.arraycopy(var10, (var13 + (par2.intValue() & 1)) * (var7 << 1) + (par1.intValue() & 1), var20, var13 * par3, par3); } return var20; diff --git a/src/minecraft/net/minecraft/src/GenLayerHills.java b/src/minecraft/net/minecraft/src/GenLayerHills.java index e49cbf0..e8a7cb6 100644 --- a/src/minecraft/net/minecraft/src/GenLayerHills.java +++ b/src/minecraft/net/minecraft/src/GenLayerHills.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerHills extends GenLayer { public GenLayerHills(long par1, GenLayer par3GenLayer) @@ -12,16 +14,16 @@ public class GenLayerHills extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { - int[] var5 = this.parent.getInts(par1 - 1, par2 - 1, par3 + 2, par4 + 2); + int[] var5 = this.parent.getInts(par1.subtract(BigInteger.ONE), par2.subtract(BigInteger.ONE), par3 + 2, par4 + 2); int[] var6 = IntCache.getIntCache(par3 * par4); for (int var7 = 0; var7 < par4; ++var7) { for (int var8 = 0; var8 < par3; ++var8) { - this.initChunkSeed((long)(var8 + par1), (long)(var7 + par2)); + this.initChunkSeed((long)(var8 + par1.longValue()), (long)(var7 + par2.longValue())); int var9 = var5[var8 + 1 + (var7 + 1) * (par3 + 2)]; if (this.nextInt(3) == 0) diff --git a/src/minecraft/net/minecraft/src/GenLayerIsland.java b/src/minecraft/net/minecraft/src/GenLayerIsland.java index 9f6fe12..9312b6a 100644 --- a/src/minecraft/net/minecraft/src/GenLayerIsland.java +++ b/src/minecraft/net/minecraft/src/GenLayerIsland.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerIsland extends GenLayer { public GenLayerIsland(long par1) @@ -11,7 +13,7 @@ public class GenLayerIsland extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { int[] var5 = IntCache.getIntCache(par3 * par4); @@ -19,15 +21,15 @@ public class GenLayerIsland extends GenLayer { for (int var7 = 0; var7 < par3; ++var7) { - this.initChunkSeed((long)(par1 + var7), (long)(par2 + var6)); + this.initChunkSeed((long)(par1.longValue() + var7), (long)(par2.longValue() + var6)); var5[var7 + var6 * par3] = this.nextInt(10) == 0 ? 1 : 0; } } - - if (par1 > -par3 && par1 <= 0 && par2 > -par4 && par2 <= 0) - { - var5[-par1 + -par2 * par3] = 1; - } +// TODO: What the fuck is this??? +// if (par1 > -par3 && par1 <= 0 && par2 > -par4 && par2 <= 0) +// { +// var5[-par1 + -par2 * par3] = 1; +// } return var5; } diff --git a/src/minecraft/net/minecraft/src/GenLayerRiver.java b/src/minecraft/net/minecraft/src/GenLayerRiver.java index dce8657..688701b 100644 --- a/src/minecraft/net/minecraft/src/GenLayerRiver.java +++ b/src/minecraft/net/minecraft/src/GenLayerRiver.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerRiver extends GenLayer { public GenLayerRiver(long par1, GenLayer par3GenLayer) @@ -12,10 +14,10 @@ public class GenLayerRiver extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { - int var5 = par1 - 1; - int var6 = par2 - 1; + BigInteger var5 = par1.subtract(BigInteger.ONE); + BigInteger var6 = par2.subtract(BigInteger.ONE); int var7 = par3 + 2; int var8 = par4 + 2; int[] var9 = this.parent.getInts(var5, var6, var7, var8); diff --git a/src/minecraft/net/minecraft/src/GenLayerRiverInit.java b/src/minecraft/net/minecraft/src/GenLayerRiverInit.java index b83015a..c183f67 100644 --- a/src/minecraft/net/minecraft/src/GenLayerRiverInit.java +++ b/src/minecraft/net/minecraft/src/GenLayerRiverInit.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerRiverInit extends GenLayer { public GenLayerRiverInit(long par1, GenLayer par3GenLayer) @@ -12,7 +14,7 @@ public class GenLayerRiverInit extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { int[] var5 = this.parent.getInts(par1, par2, par3, par4); int[] var6 = IntCache.getIntCache(par3 * par4); @@ -21,7 +23,7 @@ public class GenLayerRiverInit extends GenLayer { for (int var8 = 0; var8 < par3; ++var8) { - this.initChunkSeed((long)(var8 + par1), (long)(var7 + par2)); + this.initChunkSeed((long)(var8 + par1.longValue()), (long)(var7 + par2.longValue())); var6[var8 + var7 * par3] = var5[var8 + var7 * par3] > 0 ? this.nextInt(2) + 2 : 0; } } diff --git a/src/minecraft/net/minecraft/src/GenLayerRiverMix.java b/src/minecraft/net/minecraft/src/GenLayerRiverMix.java index 4c90103..953fc95 100644 --- a/src/minecraft/net/minecraft/src/GenLayerRiverMix.java +++ b/src/minecraft/net/minecraft/src/GenLayerRiverMix.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerRiverMix extends GenLayer { private GenLayer biomePatternGeneratorChain; @@ -27,7 +29,7 @@ public class GenLayerRiverMix extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { int[] var5 = this.biomePatternGeneratorChain.getInts(par1, par2, par3, par4); int[] var6 = this.riverPatternGeneratorChain.getInts(par1, par2, par3, par4); diff --git a/src/minecraft/net/minecraft/src/GenLayerShore.java b/src/minecraft/net/minecraft/src/GenLayerShore.java index 6807a86..1a3da55 100644 --- a/src/minecraft/net/minecraft/src/GenLayerShore.java +++ b/src/minecraft/net/minecraft/src/GenLayerShore.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerShore extends GenLayer { public GenLayerShore(long par1, GenLayer par3GenLayer) @@ -12,16 +14,16 @@ public class GenLayerShore extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { - int[] var5 = this.parent.getInts(par1 - 1, par2 - 1, par3 + 2, par4 + 2); + int[] var5 = this.parent.getInts(par1.subtract(BigInteger.ONE), par2.subtract(BigInteger.ONE), par3 + 2, par4 + 2); int[] var6 = IntCache.getIntCache(par3 * par4); for (int var7 = 0; var7 < par4; ++var7) { for (int var8 = 0; var8 < par3; ++var8) { - this.initChunkSeed((long)(var8 + par1), (long)(var7 + par2)); + this.initChunkSeed((long)(var8 + par1.longValue()), (long)(var7 + par2.longValue())); int var9 = var5[var8 + 1 + (var7 + 1) * (par3 + 2)]; int var10; int var11; diff --git a/src/minecraft/net/minecraft/src/GenLayerSmooth.java b/src/minecraft/net/minecraft/src/GenLayerSmooth.java index b30b12c..f89e8a8 100644 --- a/src/minecraft/net/minecraft/src/GenLayerSmooth.java +++ b/src/minecraft/net/minecraft/src/GenLayerSmooth.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerSmooth extends GenLayer { public GenLayerSmooth(long par1, GenLayer par3GenLayer) @@ -12,10 +14,10 @@ public class GenLayerSmooth extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { - int var5 = par1 - 1; - int var6 = par2 - 1; + BigInteger var5 = par1.subtract(BigInteger.ONE); + BigInteger var6 = par2.subtract(BigInteger.ONE); int var7 = par3 + 2; int var8 = par4 + 2; int[] var9 = this.parent.getInts(var5, var6, var7, var8); @@ -33,7 +35,7 @@ public class GenLayerSmooth extends GenLayer if (var13 == var14 && var15 == var16) { - this.initChunkSeed((long)(var12 + par1), (long)(var11 + par2)); + this.initChunkSeed((long)(var12 + par1.longValue()), (long)(var11 + par2.longValue())); if (this.nextInt(2) == 0) { diff --git a/src/minecraft/net/minecraft/src/GenLayerSwampRivers.java b/src/minecraft/net/minecraft/src/GenLayerSwampRivers.java index 89f8e94..72e9b44 100644 --- a/src/minecraft/net/minecraft/src/GenLayerSwampRivers.java +++ b/src/minecraft/net/minecraft/src/GenLayerSwampRivers.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerSwampRivers extends GenLayer { public GenLayerSwampRivers(long par1, GenLayer par3GenLayer) @@ -12,16 +14,16 @@ public class GenLayerSwampRivers extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { - int[] var5 = this.parent.getInts(par1 - 1, par2 - 1, par3 + 2, par4 + 2); + int[] var5 = this.parent.getInts(par1.subtract(BigInteger.ONE), par2.subtract(BigInteger.ONE), par3 + 2, par4 + 2); int[] var6 = IntCache.getIntCache(par3 * par4); for (int var7 = 0; var7 < par4; ++var7) { for (int var8 = 0; var8 < par3; ++var8) { - this.initChunkSeed((long)(var8 + par1), (long)(var7 + par2)); + this.initChunkSeed((long)(var8 + par1.longValue()), (long)(var7 + par2.longValue())); int var9 = var5[var8 + 1 + (var7 + 1) * (par3 + 2)]; if ((var9 != BiomeGenBase.swampland.biomeID || this.nextInt(6) != 0) && (var9 != BiomeGenBase.jungle.biomeID && var9 != BiomeGenBase.jungleHills.biomeID || this.nextInt(8) != 0)) diff --git a/src/minecraft/net/minecraft/src/GenLayerVoronoiZoom.java b/src/minecraft/net/minecraft/src/GenLayerVoronoiZoom.java index 00432c2..ffeeee4 100644 --- a/src/minecraft/net/minecraft/src/GenLayerVoronoiZoom.java +++ b/src/minecraft/net/minecraft/src/GenLayerVoronoiZoom.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerVoronoiZoom extends GenLayer { public GenLayerVoronoiZoom(long par1, GenLayer par3GenLayer) @@ -12,14 +14,14 @@ public class GenLayerVoronoiZoom extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { - par1 -= 2; - par2 -= 2; + par1 = par1.subtract(BigInteger.valueOf(2)); + par2 = par2.subtract(BigInteger.valueOf(2)); byte var5 = 2; int var6 = 1 << var5; - int var7 = par1 >> var5; - int var8 = par2 >> var5; + BigInteger var7 = par1.shiftRight(var5); + BigInteger var8 = par2.shiftRight(var5); int var9 = (par3 >> var5) + 3; int var10 = (par4 >> var5) + 3; int[] var11 = this.parent.getInts(var7, var8, var9, var10); @@ -36,16 +38,16 @@ public class GenLayerVoronoiZoom extends GenLayer for (int var18 = 0; var18 < var9 - 1; ++var18) { double var19 = (double)var6 * 0.9D; - this.initChunkSeed((long)(var18 + var7 << var5), (long)(var15 + var8 << var5)); + this.initChunkSeed((long)(var18 + var7.longValue() << var5), (long)(var15 + var8.longValue() << var5)); double var21 = ((double)this.nextInt(1024) / 1024.0D - 0.5D) * var19; double var23 = ((double)this.nextInt(1024) / 1024.0D - 0.5D) * var19; - this.initChunkSeed((long)(var18 + var7 + 1 << var5), (long)(var15 + var8 << var5)); + this.initChunkSeed((long)(var18 + var7.longValue() + 1 << var5), (long)(var15 + var8.longValue() << var5)); double var25 = ((double)this.nextInt(1024) / 1024.0D - 0.5D) * var19 + (double)var6; double var27 = ((double)this.nextInt(1024) / 1024.0D - 0.5D) * var19; - this.initChunkSeed((long)(var18 + var7 << var5), (long)(var15 + var8 + 1 << var5)); + this.initChunkSeed((long)(var18 + var7.longValue() << var5), (long)(var15 + var8.longValue() + 1 << var5)); double var29 = ((double)this.nextInt(1024) / 1024.0D - 0.5D) * var19; double var31 = ((double)this.nextInt(1024) / 1024.0D - 0.5D) * var19 + (double)var6; - this.initChunkSeed((long)(var18 + var7 + 1 << var5), (long)(var15 + var8 + 1 << var5)); + this.initChunkSeed((long)(var18 + var7.longValue() + 1 << var5), (long)(var15 + var8.longValue() + 1 << var5)); double var33 = ((double)this.nextInt(1024) / 1024.0D - 0.5D) * var19 + (double)var6; double var35 = ((double)this.nextInt(1024) / 1024.0D - 0.5D) * var19 + (double)var6; int var37 = var11[var18 + 1 + (var15 + 0) * var9]; @@ -90,7 +92,7 @@ public class GenLayerVoronoiZoom extends GenLayer for (var16 = 0; var16 < par4; ++var16) { - System.arraycopy(var14, (var16 + (par2 & var6 - 1)) * (var9 << var5) + (par1 & var6 - 1), var50, var16 * par3, par3); + System.arraycopy(var14, (var16 + (par2.intValue() & var6 - 1)) * (var9 << var5) + (par1.intValue() & var6 - 1), var50, var16 * par3, par3); } return var50; diff --git a/src/minecraft/net/minecraft/src/GenLayerZoom.java b/src/minecraft/net/minecraft/src/GenLayerZoom.java index 0dfb4e4..381825f 100644 --- a/src/minecraft/net/minecraft/src/GenLayerZoom.java +++ b/src/minecraft/net/minecraft/src/GenLayerZoom.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class GenLayerZoom extends GenLayer { public GenLayerZoom(long par1, GenLayer par3GenLayer) @@ -12,10 +14,10 @@ public class GenLayerZoom extends GenLayer * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ - public int[] getInts(int par1, int par2, int par3, int par4) + public int[] getInts(BigInteger par1, BigInteger par2, int par3, int par4) { - int var5 = par1 >> 1; - int var6 = par2 >> 1; + BigInteger var5 = par1.shiftRight(1); + BigInteger var6 = par2.shiftRight(1); int var7 = (par3 >> 1) + 3; int var8 = (par4 >> 1) + 3; int[] var9 = this.parent.getInts(var5, var6, var7, var8); @@ -32,7 +34,7 @@ public class GenLayerZoom extends GenLayer for (int var17 = 0; var17 < var7 - 1; ++var17) { - this.initChunkSeed((long)(var17 + var5 << 1), (long)(var12 + var6 << 1)); + this.initChunkSeed((long)(var17 + var5.longValue() << 1), (long)(var12 + var6.longValue() << 1)); int var18 = var9[var17 + 1 + (var12 + 0) * var7]; int var19 = var9[var17 + 1 + (var12 + 1) * var7]; var10[var14] = var15; @@ -48,7 +50,7 @@ public class GenLayerZoom extends GenLayer for (var13 = 0; var13 < par4; ++var13) { - System.arraycopy(var10, (var13 + (par2 & 1)) * (var7 << 1) + (par1 & 1), var20, var13 * par3, par3); + System.arraycopy(var10, (var13 + (par2.intValue() & 1)) * (var7 << 1) + (par1.intValue() & 1), var20, var13 * par3, par3); } return var20; diff --git a/src/minecraft/net/minecraft/src/GuiCrafting.java b/src/minecraft/net/minecraft/src/GuiCrafting.java index 2ffb56e..bd2e457 100644 --- a/src/minecraft/net/minecraft/src/GuiCrafting.java +++ b/src/minecraft/net/minecraft/src/GuiCrafting.java @@ -1,10 +1,12 @@ package net.minecraft.src; +import java.math.BigInteger; + import org.lwjgl.opengl.GL11; public class GuiCrafting extends GuiContainer { - public GuiCrafting(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) + public GuiCrafting(InventoryPlayer par1InventoryPlayer, World par2World, BigInteger par3, int par4, BigInteger par5) { super(new ContainerWorkbench(par1InventoryPlayer, par2World, par3, par4, par5)); } diff --git a/src/minecraft/net/minecraft/src/GuiEnchantment.java b/src/minecraft/net/minecraft/src/GuiEnchantment.java index 01b9742..d15071b 100644 --- a/src/minecraft/net/minecraft/src/GuiEnchantment.java +++ b/src/minecraft/net/minecraft/src/GuiEnchantment.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; @@ -22,7 +23,7 @@ public class GuiEnchantment extends GuiContainer public float field_74208_u; ItemStack field_74207_v; - public GuiEnchantment(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) + public GuiEnchantment(InventoryPlayer par1InventoryPlayer, World par2World, BigInteger par3, int par4, BigInteger par5) { super(new ContainerEnchantment(par1InventoryPlayer, par2World, par3, par4, par5)); this.containerEnchantment = (ContainerEnchantment)this.inventorySlots; diff --git a/src/minecraft/net/minecraft/src/ItemBoat.java b/src/minecraft/net/minecraft/src/ItemBoat.java index 735590c..6789329 100644 --- a/src/minecraft/net/minecraft/src/ItemBoat.java +++ b/src/minecraft/net/minecraft/src/ItemBoat.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Iterator; import java.util.List; @@ -70,9 +71,9 @@ public class ItemBoat extends Item { if (var24.typeOfHit == EnumMovingObjectType.TILE) { - int var33 = var24.blockX; + BigInteger var33 = var24.blockX; int var34 = var24.blockY; - int var35 = var24.blockZ; + BigInteger var35 = var24.blockZ; if (!par2World.isRemote) { @@ -81,7 +82,7 @@ public class ItemBoat extends Item --var34; } - par2World.spawnEntityInWorld(new EntityBoat(par2World, (double)((float)var33 + 0.5F), (double)((float)var34 + 1.0F), (double)((float)var35 + 0.5F))); + par2World.spawnEntityInWorld(new EntityBoat(par2World, (double)((float)var33.floatValue() + 0.5F), (double)((float)var34 + 1.0F), (double)((float)var35.floatValue() + 0.5F))); } if (!par3EntityPlayer.capabilities.isCreativeMode) diff --git a/src/minecraft/net/minecraft/src/ItemMap.java b/src/minecraft/net/minecraft/src/ItemMap.java index 2ca376e..8924f57 100644 --- a/src/minecraft/net/minecraft/src/ItemMap.java +++ b/src/minecraft/net/minecraft/src/ItemMap.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class ItemMap extends ItemMapBase { protected ItemMap(int par1) @@ -33,8 +35,8 @@ public class ItemMap extends ItemMapBase par1ItemStack.setItemDamage(par2World.getUniqueDataId("map")); String var3 = "map_" + par1ItemStack.getItemDamage(); var4 = new MapData(var3); - var4.xCenter = par2World.getWorldInfo().getSpawnX(); - var4.zCenter = par2World.getWorldInfo().getSpawnZ(); + var4.xCenter = par2World.getWorldInfo().getSpawnX().intValueExact(); + var4.zCenter = par2World.getWorldInfo().getSpawnZ().intValueExact(); var4.scale = 3; var4.dimension = (byte)par2World.provider.worldType; var4.markDirty(); @@ -85,7 +87,7 @@ public class ItemMap extends ItemMapBase byte var24 = 0; byte var25 = 0; int[] var26 = new int[256]; - Chunk var27 = par1World.getChunkFromBlockCoords(var21, var22); + Chunk var27 = par1World.getChunkFromBlockCoords(BigInteger.valueOf(var21), BigInteger.valueOf(var22)); if (!var27.isEmpty()) { diff --git a/src/minecraft/net/minecraft/src/ItemMinecart.java b/src/minecraft/net/minecraft/src/ItemMinecart.java index 7e91f74..543e358 100644 --- a/src/minecraft/net/minecraft/src/ItemMinecart.java +++ b/src/minecraft/net/minecraft/src/ItemMinecart.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class ItemMinecart extends Item { public int minecartType; @@ -12,7 +14,7 @@ public class ItemMinecart extends Item this.setTabToDisplayOn(CreativeTabs.tabTransport); } - public boolean tryPlaceIntoWorld(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) + public boolean tryPlaceIntoWorld(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, BigInteger par4, int par5, BigInteger par6, int par7, float par8, float par9, float par10) { int var11 = par3World.getBlockId(par4, par5, par6); @@ -20,7 +22,7 @@ public class ItemMinecart extends Item { if (!par3World.isRemote) { - par3World.spawnEntityInWorld(new EntityMinecart(par3World, (double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), this.minecartType)); + par3World.spawnEntityInWorld(new EntityMinecart(par3World, (double)((float)par4.floatValue() + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6.floatValue() + 0.5F), this.minecartType)); } --par1ItemStack.stackSize; diff --git a/src/minecraft/net/minecraft/src/ItemRecord.java b/src/minecraft/net/minecraft/src/ItemRecord.java index cdc7bce..10e1cc8 100644 --- a/src/minecraft/net/minecraft/src/ItemRecord.java +++ b/src/minecraft/net/minecraft/src/ItemRecord.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.List; public class ItemRecord extends Item @@ -15,7 +16,7 @@ public class ItemRecord extends Item this.setTabToDisplayOn(CreativeTabs.tabMisc); } - public boolean tryPlaceIntoWorld(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) + public boolean tryPlaceIntoWorld(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, BigInteger par4, int par5, BigInteger par6, int par7, float par8, float par9, float par10) { if (par3World.getBlockId(par4, par5, par6) == Block.jukebox.blockID && par3World.getBlockMetadata(par4, par5, par6) == 0) { diff --git a/src/minecraft/net/minecraft/src/ItemRenderer.java b/src/minecraft/net/minecraft/src/ItemRenderer.java index 93985ff..ac80a79 100644 --- a/src/minecraft/net/minecraft/src/ItemRenderer.java +++ b/src/minecraft/net/minecraft/src/ItemRenderer.java @@ -1,6 +1,9 @@ package net.minecraft.src; import net.minecraft.client.Minecraft; + +import java.math.BigInteger; + import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; @@ -220,9 +223,9 @@ public class ItemRenderer } ItemStack var17 = this.itemToRender; - var6 = this.mc.theWorld.getLightBrightness(MathHelper.floor_double(var3.posX), MathHelper.floor_double(var3.posY), MathHelper.floor_double(var3.posZ)); + var6 = this.mc.theWorld.getLightBrightness(MathHelper.floor_double_BigInteger(var3.posX), MathHelper.floor_double(var3.posY), MathHelper.floor_double_BigInteger(var3.posZ)); var6 = 1.0F; - int var18 = this.mc.theWorld.getLightBrightnessForSkyBlocks(MathHelper.floor_double(var3.posX), MathHelper.floor_double(var3.posY), MathHelper.floor_double(var3.posZ), 0); + int var18 = this.mc.theWorld.getLightBrightnessForSkyBlocks(MathHelper.floor_double_BigInteger(var3.posX), MathHelper.floor_double(var3.posY), MathHelper.floor_double_BigInteger(var3.posZ), 0); int var8 = var18 % 65536; int var9 = var18 / 65536; OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)var8 / 1.0F, (float)var9 / 1.0F); @@ -474,20 +477,19 @@ public class ItemRenderer public void renderOverlays(float par1) { GL11.glDisable(GL11.GL_ALPHA_TEST); - int var2; if (this.mc.thePlayer.isBurning()) { - var2 = this.mc.renderEngine.getTexture("/terrain.png"); + int var2 = this.mc.renderEngine.getTexture("/terrain.png"); GL11.glBindTexture(GL11.GL_TEXTURE_2D, var2); this.renderFireInFirstPerson(par1); } if (this.mc.thePlayer.isEntityInsideOpaqueBlock()) { - var2 = MathHelper.floor_double(this.mc.thePlayer.posX); + BigInteger var2 = MathHelper.floor_double_BigInteger(this.mc.thePlayer.posX); int var3 = MathHelper.floor_double(this.mc.thePlayer.posY); - int var4 = MathHelper.floor_double(this.mc.thePlayer.posZ); + BigInteger var4 = MathHelper.floor_double_BigInteger(this.mc.thePlayer.posZ); int var5 = this.mc.renderEngine.getTexture("/terrain.png"); GL11.glBindTexture(GL11.GL_TEXTURE_2D, var5); int var6 = this.mc.theWorld.getBlockId(var2, var3, var4); @@ -503,9 +505,9 @@ public class ItemRenderer float var8 = ((float)((var7 >> 0) % 2) - 0.5F) * this.mc.thePlayer.width * 0.9F; float var9 = ((float)((var7 >> 1) % 2) - 0.5F) * this.mc.thePlayer.height * 0.2F; float var10 = ((float)((var7 >> 2) % 2) - 0.5F) * this.mc.thePlayer.width * 0.9F; - int var11 = MathHelper.floor_float((float)var2 + var8); + BigInteger var11 = MathHelper.floor_double_BigInteger((float)var2.floatValue() + var8); int var12 = MathHelper.floor_float((float)var3 + var9); - int var13 = MathHelper.floor_float((float)var4 + var10); + BigInteger var13 = MathHelper.floor_double_BigInteger((float)var4.floatValue() + var10); if (this.mc.theWorld.isBlockNormalCube(var11, var12, var13)) { @@ -522,7 +524,7 @@ public class ItemRenderer if (this.mc.thePlayer.isInsideOfMaterial(Material.water)) { - var2 = this.mc.renderEngine.getTexture("/misc/water.png"); + int var2 = this.mc.renderEngine.getTexture("/misc/water.png"); GL11.glBindTexture(GL11.GL_TEXTURE_2D, var2); this.renderWarpedTextureOverlay(par1); } diff --git a/src/minecraft/net/minecraft/src/ItemShears.java b/src/minecraft/net/minecraft/src/ItemShears.java index 89562aa..488a1ce 100644 --- a/src/minecraft/net/minecraft/src/ItemShears.java +++ b/src/minecraft/net/minecraft/src/ItemShears.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class ItemShears extends Item { public ItemShears(int par1) @@ -10,7 +12,7 @@ public class ItemShears extends Item this.setTabToDisplayOn(CreativeTabs.tabTools); } - public boolean func_77660_a(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLiving par7EntityLiving) + public boolean func_77660_a(ItemStack par1ItemStack, World par2World, int par3, BigInteger par4, int par5, BigInteger par6, EntityLiving par7EntityLiving) { if (par3 != Block.leaves.blockID && par3 != Block.web.blockID && par3 != Block.tallGrass.blockID && par3 != Block.vine.blockID && par3 != Block.tripWire.blockID) { diff --git a/src/minecraft/net/minecraft/src/ItemSword.java b/src/minecraft/net/minecraft/src/ItemSword.java index c14cde8..5ff2b57 100644 --- a/src/minecraft/net/minecraft/src/ItemSword.java +++ b/src/minecraft/net/minecraft/src/ItemSword.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class ItemSword extends Item { private int weaponDamage; @@ -34,7 +36,7 @@ public class ItemSword extends Item return true; } - public boolean func_77660_a(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLiving par7EntityLiving) + public boolean func_77660_a(ItemStack par1ItemStack, World par2World, int par3, BigInteger par4, int par5, BigInteger par6, EntityLiving par7EntityLiving) { if ((double)Block.blocksList[par3].getBlockHardness(par2World, par4, par5, par6) != 0.0D) { diff --git a/src/minecraft/net/minecraft/src/ItemTool.java b/src/minecraft/net/minecraft/src/ItemTool.java index 17feeb4..190fa7b 100644 --- a/src/minecraft/net/minecraft/src/ItemTool.java +++ b/src/minecraft/net/minecraft/src/ItemTool.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class ItemTool extends Item { /** Array of blocks the tool has extra effect against. */ @@ -56,7 +58,7 @@ public class ItemTool extends Item return true; } - public boolean func_77660_a(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLiving par7EntityLiving) + public boolean func_77660_a(ItemStack par1ItemStack, World par2World, int par3, BigInteger par4, int par5, BigInteger par6, EntityLiving par7EntityLiving) { if ((double)Block.blocksList[par3].getBlockHardness(par2World, par4, par5, par6) != 0.0D) { diff --git a/src/minecraft/net/minecraft/src/MapGenMineshaft.java b/src/minecraft/net/minecraft/src/MapGenMineshaft.java index 464becd..5eb3987 100644 --- a/src/minecraft/net/minecraft/src/MapGenMineshaft.java +++ b/src/minecraft/net/minecraft/src/MapGenMineshaft.java @@ -1,10 +1,13 @@ package net.minecraft.src; +import java.math.BigInteger; + public class MapGenMineshaft extends MapGenStructure { - protected boolean canSpawnStructureAtCoords(int par1, int par2) + protected boolean canSpawnStructureAtCoords(BigInteger par1, BigInteger par2) { - return this.rand.nextInt(100) == 0 && this.rand.nextInt(80) < Math.max(Math.abs(par1), Math.abs(par2)); + if(par1.bitCount() >= 31 || par2.bitCount() >= 31) return false; + return this.rand.nextInt(100) == 0 && this.rand.nextInt(80) < Math.max(Math.abs(par1.intValueExact()), Math.abs(par2.intValueExact())); } protected StructureStart getStructureStart(int par1, int par2) diff --git a/src/minecraft/net/minecraft/src/MapGenNetherBridge.java b/src/minecraft/net/minecraft/src/MapGenNetherBridge.java index 29e771f..a3c37ae 100644 --- a/src/minecraft/net/minecraft/src/MapGenNetherBridge.java +++ b/src/minecraft/net/minecraft/src/MapGenNetherBridge.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.ArrayList; import java.util.List; @@ -19,13 +20,16 @@ public class MapGenNetherBridge extends MapGenStructure return this.spawnList; } - protected boolean canSpawnStructureAtCoords(int par1, int par2) + protected boolean canSpawnStructureAtCoords(BigInteger par1, BigInteger par2) { - int var3 = par1 >> 4; - int var4 = par2 >> 4; + if(par1.bitCount() >= 31 || par2.bitCount() >= 31) return false; + int x = par1.intValueExact(), + z = par2.intValueExact(); + int var3 = x >> 4; + int var4 = z >> 4; this.rand.setSeed((long)(var3 ^ var4 << 4) ^ this.worldObj.getSeed()); this.rand.nextInt(); - return this.rand.nextInt(3) != 0 ? false : (par1 != (var3 << 4) + 4 + this.rand.nextInt(8) ? false : par2 == (var4 << 4) + 4 + this.rand.nextInt(8)); + return this.rand.nextInt(3) != 0 ? false : (x != (var3 << 4) + 4 + this.rand.nextInt(8) ? false : z == (var4 << 4) + 4 + this.rand.nextInt(8)); } protected StructureStart getStructureStart(int par1, int par2) diff --git a/src/minecraft/net/minecraft/src/MapGenRavine.java b/src/minecraft/net/minecraft/src/MapGenRavine.java index dea5773..9d3f146 100644 --- a/src/minecraft/net/minecraft/src/MapGenRavine.java +++ b/src/minecraft/net/minecraft/src/MapGenRavine.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class MapGenRavine extends MapGenBase @@ -177,7 +178,7 @@ public class MapGenRavine extends MapGenBase if (var48 && par5ArrayOfByte[var47 - 1] == Block.dirt.blockID) { - par5ArrayOfByte[var47 - 1] = this.worldObj.getBiomeGenForCoords(var41 + par3 * 16, var44 + par4 * 16).topBlock; + par5ArrayOfByte[var47 - 1] = this.worldObj.getBiomeGenForCoords(BigInteger.valueOf(var41 + par3 * 16), BigInteger.valueOf(var44 + par4 * 16)).topBlock; } } } diff --git a/src/minecraft/net/minecraft/src/MathHelper.java b/src/minecraft/net/minecraft/src/MathHelper.java index 16c1d04..1a525f4 100644 --- a/src/minecraft/net/minecraft/src/MathHelper.java +++ b/src/minecraft/net/minecraft/src/MathHelper.java @@ -77,6 +77,7 @@ public class MathHelper } public static BigInteger toBigInteger(double val) { + val = val < 0 ? Math.floor(val) + 1 : Math.floor(val); return new BigInteger(String.format("%.0f", val)); } @@ -145,6 +146,11 @@ public class MathHelper { return par0 < 0 ? -((-par0 - 1) / par1) - 1 : par0 / par1; } + + public static BigInteger bucketInt(BigInteger par0, BigInteger par1) + { + return par0.signum() == -1 ? ((par0.negate().subtract(BigInteger.ONE)).divide(par1)).negate().subtract(BigInteger.ONE) : par0.divide(par1); + } /** * Tests if a string is null or of length zero diff --git a/src/minecraft/net/minecraft/src/NBTTagCompound.java b/src/minecraft/net/minecraft/src/NBTTagCompound.java index 4beb147..dc4e32e 100644 --- a/src/minecraft/net/minecraft/src/NBTTagCompound.java +++ b/src/minecraft/net/minecraft/src/NBTTagCompound.java @@ -323,11 +323,11 @@ public class NBTTagCompound extends NBTBase } public void setBigInteger(String key, BigInteger value) { - setString(key, value.toString()); - + if(value == null) value = BigInteger.ZERO; + setString(key, value.toString()); } public BigInteger getBigInteger(String key) { - return new BigInteger(key); + return new BigInteger(getString(key)); } } diff --git a/src/minecraft/net/minecraft/src/NetClientHandler.java b/src/minecraft/net/minecraft/src/NetClientHandler.java index 10b724b..785ccec 100644 --- a/src/minecraft/net/minecraft/src/NetClientHandler.java +++ b/src/minecraft/net/minecraft/src/NetClientHandler.java @@ -871,7 +871,7 @@ public class NetClientHandler extends NetHandler break; case 1: - var2.displayGUIWorkbench(MathHelper.floor_double(var2.posX), MathHelper.floor_double(var2.posY), MathHelper.floor_double(var2.posZ)); + var2.displayGUIWorkbench(MathHelper.floor_double_BigInteger(var2.posX), MathHelper.floor_double(var2.posY), MathHelper.floor_double_BigInteger(var2.posZ)); var2.craftingInventory.windowId = par1Packet100OpenWindow.windowId; break; @@ -886,7 +886,7 @@ public class NetClientHandler extends NetHandler break; case 4: - var2.displayGUIEnchantment(MathHelper.floor_double(var2.posX), MathHelper.floor_double(var2.posY), MathHelper.floor_double(var2.posZ)); + var2.displayGUIEnchantment(MathHelper.floor_double_BigInteger(var2.posX), MathHelper.floor_double(var2.posY), MathHelper.floor_double_BigInteger(var2.posZ)); var2.craftingInventory.windowId = par1Packet100OpenWindow.windowId; break; diff --git a/src/minecraft/net/minecraft/src/NetServerHandler.java b/src/minecraft/net/minecraft/src/NetServerHandler.java index 3693513..86d737d 100644 --- a/src/minecraft/net/minecraft/src/NetServerHandler.java +++ b/src/minecraft/net/minecraft/src/NetServerHandler.java @@ -226,18 +226,18 @@ public class NetServerHandler extends NetHandler var9 = par1Packet10Flying.zPosition; var13 = par1Packet10Flying.stance - par1Packet10Flying.yPosition; - if (!this.playerEntity.isPlayerSleeping() && (var13 > 1.65D || var13 < 0.1D)) - { - this.kickPlayerFromServer("Illegal stance"); - logger.warning(this.playerEntity.username + " had an illegal stance: " + var13); - return; - } - - if (Math.abs(par1Packet10Flying.xPosition) > 3.2E7D || Math.abs(par1Packet10Flying.zPosition) > 3.2E7D) - { - this.kickPlayerFromServer("Illegal position"); - return; - } +// if (!this.playerEntity.isPlayerSleeping() && (var13 > 1.65D || var13 < 0.1D)) +// { +// this.kickPlayerFromServer("Illegal stance"); +// logger.warning(this.playerEntity.username + " had an illegal stance: " + var13); +// return; +// } +// +// if (Math.abs(par1Packet10Flying.xPosition) > 3.2E7D || Math.abs(par1Packet10Flying.zPosition) > 3.2E7D) +// { +// this.kickPlayerFromServer("Illegal position"); +// return; +// } } if (par1Packet10Flying.rotating) @@ -914,10 +914,8 @@ public class NetServerHandler extends NetHandler } } - int var6; - int var8; - for (var8 = 0; var8 < 4; ++var8) + for (int var8 = 0; var8 < 4; ++var8) { boolean var5 = true; @@ -927,7 +925,7 @@ public class NetServerHandler extends NetHandler } else { - for (var6 = 0; var6 < par1Packet130UpdateSign.signLines[var8].length(); ++var6) + for (int var6 = 0; var6 < par1Packet130UpdateSign.signLines[var8].length(); ++var6) { if (ChatAllowedCharacters.allowedCharacters.indexOf(par1Packet130UpdateSign.signLines[var8].charAt(var6)) < 0) { @@ -944,9 +942,9 @@ public class NetServerHandler extends NetHandler if (var3 instanceof TileEntitySign) { - var8 = par1Packet130UpdateSign.xPosition; + BigInteger var8 = par1Packet130UpdateSign.xPosition; int var9 = par1Packet130UpdateSign.yPosition; - var6 = par1Packet130UpdateSign.zPosition; + BigInteger var6 = par1Packet130UpdateSign.zPosition; TileEntitySign var7 = (TileEntitySign)var3; System.arraycopy(par1Packet130UpdateSign.signLines, 0, var7.signText, 0, 4); var7.onInventoryChanged(); diff --git a/src/minecraft/net/minecraft/src/Packet54PlayNoteBlock.java b/src/minecraft/net/minecraft/src/Packet54PlayNoteBlock.java index afbfdc1..89633f7 100644 --- a/src/minecraft/net/minecraft/src/Packet54PlayNoteBlock.java +++ b/src/minecraft/net/minecraft/src/Packet54PlayNoteBlock.java @@ -39,9 +39,9 @@ public class Packet54PlayNoteBlock extends Packet */ public void readPacketData(DataInputStream par1DataInputStream) throws IOException { - this.xLocation = par1DataInputStream.readInt(); + this.xLocation = readBigInteger(par1DataInputStream); this.yLocation = par1DataInputStream.readShort(); - this.zLocation = par1DataInputStream.readInt(); + this.zLocation = readBigInteger(par1DataInputStream); this.instrumentType = par1DataInputStream.read(); this.pitch = par1DataInputStream.read(); this.blockId = par1DataInputStream.readShort() & 4095; @@ -52,9 +52,9 @@ public class Packet54PlayNoteBlock extends Packet */ public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException { - par1DataOutputStream.writeInt(this.xLocation); + writeBigInteger(par1DataOutputStream, xLocation); par1DataOutputStream.writeShort(this.yLocation); - par1DataOutputStream.writeInt(this.zLocation); + writeBigInteger(par1DataOutputStream, zLocation); par1DataOutputStream.write(this.instrumentType); par1DataOutputStream.write(this.pitch); par1DataOutputStream.writeShort(this.blockId & 4095); diff --git a/src/minecraft/net/minecraft/src/PathFinder.java b/src/minecraft/net/minecraft/src/PathFinder.java index 0e4f1d5..d5e15fc 100644 --- a/src/minecraft/net/minecraft/src/PathFinder.java +++ b/src/minecraft/net/minecraft/src/PathFinder.java @@ -48,9 +48,9 @@ public class PathFinder /** * Creates a path from an entity to a specified location within a minimum distance */ - public PathEntity createEntityPathTo(Entity par1Entity, int par2, int par3, int par4, float par5) + public PathEntity createEntityPathTo(Entity par1Entity, BigInteger par2, int par3, BigInteger par4, float par5) { - return this.createEntityPathTo(par1Entity, (double)((float)par2 + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4 + 0.5F), par5); + return this.createEntityPathTo(par1Entity, (double)((float)par2.floatValue() + 0.5F), (double)((float)par3 + 0.5F), (double)((float)par4.floatValue() + 0.5F), par5); } /** @@ -289,9 +289,11 @@ public class PathFinder boolean var6 = false; // We swapped y and z because of performance - for (int var7 = par2; var7 < par2 + par5PathPoint.xCoord; ++var7) + BigInteger targetX = par2.add(par5PathPoint.xCoord), + targetZ = par4.add(par5PathPoint.zCoord); + for (BigInteger var7 = par2; var7.compareTo(targetX) < 0; var7 = var7.add(BigInteger.ONE)) { - for (int var9 = par4; var9 < par4 + par5PathPoint.zCoord; ++var9) + for (BigInteger var9 = par4; var9.compareTo(targetZ) < 0; var9 = var7.add(BigInteger.ONE)) { for (int var8 = par3; var8 < par3 + par5PathPoint.yCoord; ++var8) { diff --git a/src/minecraft/net/minecraft/src/PathNavigate.java b/src/minecraft/net/minecraft/src/PathNavigate.java index 30a82c3..1bd4104 100644 --- a/src/minecraft/net/minecraft/src/PathNavigate.java +++ b/src/minecraft/net/minecraft/src/PathNavigate.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + public class PathNavigate { private EntityLiving theEntity; @@ -112,7 +114,7 @@ public class PathNavigate */ public PathEntity getPathToXYZ(double par1, double par3, double par5) { - return !this.canNavigate() ? null : this.worldObj.getEntityPathToXYZ(this.theEntity, MathHelper.floor_double(par1), (int)par3, MathHelper.floor_double(par5), this.pathSearchRange, this.canPassOpenWoodenDoors, this.canPassClosedWoodenDoors, this.avoidsWater, this.canSwim); + return !this.canNavigate() ? null : this.worldObj.getEntityPathToXYZ(this.theEntity, MathHelper.floor_double_BigInteger(par1), (int)par3, MathHelper.floor_double_BigInteger(par5), this.pathSearchRange, this.canPassOpenWoodenDoors, this.canPassClosedWoodenDoors, this.avoidsWater, this.canSwim); } /** @@ -359,8 +361,8 @@ public class PathNavigate */ private boolean isDirectPathBetweenPoints(Vec3 par1Vec3, Vec3 par2Vec3, int par3, int par4, int par5) { - int var6 = MathHelper.floor_double(par1Vec3.xCoord); - int var7 = MathHelper.floor_double(par1Vec3.zCoord); + BigInteger var6 = MathHelper.floor_double_BigInteger(par1Vec3.xCoord); + BigInteger var7 = MathHelper.floor_double_BigInteger(par1Vec3.zCoord); double var8 = par2Vec3.xCoord - par1Vec3.xCoord; double var10 = par2Vec3.zCoord - par1Vec3.zCoord; double var12 = var8 * var8 + var10 * var10; @@ -387,8 +389,8 @@ public class PathNavigate par5 -= 2; double var16 = 1.0D / Math.abs(var8); double var18 = 1.0D / Math.abs(var10); - double var20 = (double)(var6 * 1) - par1Vec3.xCoord; - double var22 = (double)(var7 * 1) - par1Vec3.zCoord; + double var20 = (double)(var6.doubleValue()) - par1Vec3.xCoord; + double var22 = (double)(var7.doubleValue()) - par1Vec3.zCoord; if (var8 >= 0.0D) { @@ -404,14 +406,14 @@ public class PathNavigate var22 /= var10; int var24 = var8 < 0.0D ? -1 : 1; int var25 = var10 < 0.0D ? -1 : 1; - int var26 = MathHelper.floor_double(par2Vec3.xCoord); - int var27 = MathHelper.floor_double(par2Vec3.zCoord); - int var28 = var26 - var6; - int var29 = var27 - var7; + BigInteger var26 = MathHelper.floor_double_BigInteger(par2Vec3.xCoord); + BigInteger var27 = MathHelper.floor_double_BigInteger(par2Vec3.zCoord); + BigInteger var28 = var26.subtract(var6); + BigInteger var29 = var27.subtract(var7); do { - if (var28 * var24 <= 0 && var29 * var25 <= 0) + if (var28.multiply(BigInteger.valueOf(var24)).signum() == -1 /* <= 0 */ && var29.multiply(BigInteger.valueOf(var25)).signum() == -1 /* <= 0 */) { return true; } @@ -419,14 +421,14 @@ public class PathNavigate if (var20 < var22) { var20 += var16; - var6 += var24; - var28 = var26 - var6; + var6 = var6.add(BigInteger.valueOf(var24)); + var28 = var26.subtract(var6); } else { var22 += var18; - var7 += var25; - var29 = var27 - var7; + var7 = var7.add(BigInteger.valueOf(var25)); + var29 = var27.subtract(var7); } } while (this.isSafeToStandAt(var6, (int)par1Vec3.yCoord, var7, par3, par4, par5, par1Vec3, var8, var10)); @@ -440,27 +442,27 @@ public class PathNavigate * Returns true when an entity could stand at a position, including solid blocks under the entire entity. Args: * xOffset, yOffset, zOffset, entityXSize, entityYSize, entityZSize, originPosition, vecX, vecZ */ - private boolean isSafeToStandAt(int par1, int par2, int par3, int par4, int par5, int par6, Vec3 par7Vec3, double par8, double par10) + private boolean isSafeToStandAt(BigInteger par1, int par2, BigInteger par3, int par4, int par5, int par6, Vec3 par7Vec3, double par8, double par10) { - int var12 = par1 - par4 / 2; - int var13 = par3 - par6 / 2; + int radiusX = par4 / 2; + int radiusZ = par6 / 2; - if (!this.isPositionClear(var12, par2, var13, par4, par5, par6, par7Vec3, par8, par10)) + if (!this.isPositionClear(par1, par2, par3, par4, par5, par6, par7Vec3, par8, par10)) { return false; } else { - for (int var14 = var12; var14 < var12 + par4; ++var14) + for (int var14 = -radiusX; var14 < radiusX; ++var14) { - for (int var15 = var13; var15 < var13 + par6; ++var15) + for (int var15 = -radiusZ; var15 < radiusZ; ++var15) { double var16 = (double)var14 + 0.5D - par7Vec3.xCoord; double var18 = (double)var15 + 0.5D - par7Vec3.zCoord; if (var16 * par8 + var18 * par10 >= 0.0D) { - int var20 = this.worldObj.getBlockId(var14, par2 - 1, var15); + int var20 = this.worldObj.getBlockId(BigInteger.valueOf(var14).add(par1), par2 - 1, BigInteger.valueOf(var15).add(par3)); if (var20 <= 0) { @@ -490,22 +492,26 @@ public class PathNavigate * Returns true if an entity does not collide with any solid blocks at the position. Args: xOffset, yOffset, * zOffset, entityXSize, entityYSize, entityZSize, originPosition, vecX, vecZ */ - private boolean isPositionClear(int par1, int par2, int par3, int par4, int par5, int par6, Vec3 par7Vec3, double par8, double par10) + private boolean isPositionClear(BigInteger par1, int par2, BigInteger par3, int par4, int par5, int par6, Vec3 par7Vec3, double par8, double par10) { - for (int var12 = par1; var12 < par1 + par4; ++var12) + int radiusX = par4 / 2; + int radiusZ = par6 / 2; + for (int var12 = -radiusX; var12 < +radiusX; ++var12) { for (int var13 = par2; var13 < par2 + par5; ++var13) { - for (int var14 = par3; var14 < par3 + par6; ++var14) + for (int var14 = radiusZ; var14 < +radiusZ; ++var14) { double var15 = (double)var12 + 0.5D - par7Vec3.xCoord; double var17 = (double)var14 + 0.5D - par7Vec3.zCoord; if (var15 * par8 + var17 * par10 >= 0.0D) { - int var19 = this.worldObj.getBlockId(var12, var13, var14); + BigInteger x = BigInteger.valueOf(var12).add(par1); + BigInteger z = BigInteger.valueOf(var14).add(par3); + int var19 = this.worldObj.getBlockId(x, var13, z); - if (var19 > 0 && !Block.blocksList[var19].getBlocksMovement(this.worldObj, var12, var13, var14)) + if (var19 > 0 && !Block.blocksList[var19].getBlocksMovement(this.worldObj, x, var13, z)) { return false; } diff --git a/src/minecraft/net/minecraft/src/PlayerInstance.java b/src/minecraft/net/minecraft/src/PlayerInstance.java index 0dd026d..3dbbf2a 100644 --- a/src/minecraft/net/minecraft/src/PlayerInstance.java +++ b/src/minecraft/net/minecraft/src/PlayerInstance.java @@ -34,6 +34,7 @@ class PlayerInstance { if (this.playersInChunk.contains(par1EntityPlayerMP)) { +// System.out.println(this + " A"); throw new IllegalStateException("Failed to add player. " + par1EntityPlayerMP + " already is in chunk " + this.chunkLocation.chunkXPos + ", " + this.chunkLocation.chunkZPos); } else @@ -63,6 +64,7 @@ class PlayerInstance this.myManager.getWorldServer().theChunkProviderServer.unloadChunksIfNotNearSpawn(this.chunkLocation.chunkXPos, this.chunkLocation.chunkZPos); } } +// else System.out.println(this + " B"); } public void flagChunkForUpdate(int par1, int par2, int par3) diff --git a/src/minecraft/net/minecraft/src/PlayerManager.java b/src/minecraft/net/minecraft/src/PlayerManager.java index 454854c..bb6305f 100644 --- a/src/minecraft/net/minecraft/src/PlayerManager.java +++ b/src/minecraft/net/minecraft/src/PlayerManager.java @@ -97,8 +97,8 @@ public class PlayerManager public void func_72683_a(EntityPlayerMP par1EntityPlayerMP) { // Edited - BigInteger var2 = MathHelper.floor_double_BigInteger(par1EntityPlayerMP.posX).shiftRight(4); - BigInteger var3 = MathHelper.floor_double_BigInteger(par1EntityPlayerMP.posZ).shiftRight(4); + BigInteger var2 = MathHelper.toBigInteger(par1EntityPlayerMP.posX).shiftRight(4); + BigInteger var3 = MathHelper.toBigInteger(par1EntityPlayerMP.posZ).shiftRight(4); // int var2 = (int)par1EntityPlayerMP.posX >> 4; // int var3 = (int)par1EntityPlayerMP.posZ >> 4; par1EntityPlayerMP.field_71131_d = par1EntityPlayerMP.posX; @@ -207,8 +207,8 @@ public class PlayerManager public void func_72685_d(EntityPlayerMP par1EntityPlayerMP) { // Edited - BigInteger var2 = MathHelper.floor_double_BigInteger(par1EntityPlayerMP.posX).shiftRight(4); - BigInteger var3 = MathHelper.floor_double_BigInteger(par1EntityPlayerMP.posZ).shiftRight(4); + BigInteger var2 = MathHelper.toBigInteger(par1EntityPlayerMP.posX).shiftRight(4); + BigInteger var3 = MathHelper.toBigInteger(par1EntityPlayerMP.posZ).shiftRight(4); // int var2 = (int)par1EntityPlayerMP.posX >> 4; // int var3 = (int)par1EntityPlayerMP.posZ >> 4; double var4 = par1EntityPlayerMP.field_71131_d - par1EntityPlayerMP.posX; @@ -238,7 +238,7 @@ public class PlayerManager if (!this.func_72684_a(var15.subtract(var13), var16.subtract(var14), var2, var3, var12)) { - PlayerInstance var17 = this.getOrCreateChunkWatcher(var15.subtract(var13), var16.subtract(var14), false); + PlayerInstance var17 = this.getOrCreateChunkWatcher(var15, var16, false); if (var17 != null) { diff --git a/src/minecraft/net/minecraft/src/RandomPositionGenerator.java b/src/minecraft/net/minecraft/src/RandomPositionGenerator.java index 84c5d2c..e6f505c 100644 --- a/src/minecraft/net/minecraft/src/RandomPositionGenerator.java +++ b/src/minecraft/net/minecraft/src/RandomPositionGenerator.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class RandomPositionGenerator @@ -48,15 +49,15 @@ public class RandomPositionGenerator { Random var4 = par0EntityCreature.getRNG(); boolean var5 = false; - int var6 = 0; + BigInteger var6 = BigInteger.ZERO; int var7 = 0; - int var8 = 0; + BigInteger var8 = BigInteger.ZERO; float var9 = -99999.0F; boolean var10; if (par0EntityCreature.hasHome()) { - double var11 = (double)(par0EntityCreature.getHomePosition().getDistanceSquared(MathHelper.floor_double(par0EntityCreature.posX), MathHelper.floor_double(par0EntityCreature.posY), MathHelper.floor_double(par0EntityCreature.posZ)) + 4.0F); + double var11 = (double)(par0EntityCreature.getHomePosition().getDistanceSquared(MathHelper.floor_double_BigInteger(par0EntityCreature.posX), MathHelper.floor_double(par0EntityCreature.posY), MathHelper.floor_double_BigInteger(par0EntityCreature.posZ)) + 4.0F); double var13 = (double)(par0EntityCreature.getMaximumHomeDistance() + (float)par1); var10 = var11 < var13 * var13; } @@ -73,20 +74,20 @@ public class RandomPositionGenerator if (par3Vec3 == null || (double)var12 * par3Vec3.xCoord + (double)var14 * par3Vec3.zCoord >= 0.0D) { - var12 += MathHelper.floor_double(par0EntityCreature.posX); + BigInteger x = MathHelper.floor_double_BigInteger(par0EntityCreature.posX).add(BigInteger.valueOf(var12)); var17 += MathHelper.floor_double(par0EntityCreature.posY); - var14 += MathHelper.floor_double(par0EntityCreature.posZ); + BigInteger z = MathHelper.floor_double_BigInteger(par0EntityCreature.posZ).add(BigInteger.valueOf(var14)); - if (!var10 || par0EntityCreature.isWithinHomeDistance(var12, var17, var14)) + if (!var10 || par0EntityCreature.isWithinHomeDistance(x, var17, z)) { - float var15 = par0EntityCreature.getBlockPathWeight(var12, var17, var14); + float var15 = par0EntityCreature.getBlockPathWeight(x, var17, z); if (var15 > var9) { var9 = var15; - var6 = var12; + var6 = x; var7 = var17; - var8 = var14; + var8 = z; var5 = true; } } @@ -95,7 +96,7 @@ public class RandomPositionGenerator if (var5) { - return Vec3.getVec3Pool().getVecFromPool((double)var6, (double)var7, (double)var8); + return Vec3.getVec3Pool().getVecFromPool((double)var6.doubleValue(), (double)var7, (double)var8.doubleValue()); } else { diff --git a/src/minecraft/net/minecraft/src/RedstoneUpdateInfo.java b/src/minecraft/net/minecraft/src/RedstoneUpdateInfo.java index 53466a7..1801ae7 100644 --- a/src/minecraft/net/minecraft/src/RedstoneUpdateInfo.java +++ b/src/minecraft/net/minecraft/src/RedstoneUpdateInfo.java @@ -1,13 +1,15 @@ package net.minecraft.src; +import java.math.BigInteger; + class RedstoneUpdateInfo { - int x; + BigInteger x; int y; - int z; + BigInteger z; long updateTime; - public RedstoneUpdateInfo(int par1, int par2, int par3, long par4) + public RedstoneUpdateInfo(BigInteger par1, int par2, BigInteger par3, long par4) { this.x = par1; this.y = par2; diff --git a/src/minecraft/net/minecraft/src/Render.java b/src/minecraft/net/minecraft/src/Render.java index c6f3ce7..d7aab5b 100644 --- a/src/minecraft/net/minecraft/src/Render.java +++ b/src/minecraft/net/minecraft/src/Render.java @@ -1,5 +1,7 @@ package net.minecraft.src; +import java.math.BigInteger; + import org.lwjgl.opengl.GL11; public abstract class Render @@ -153,23 +155,24 @@ public abstract class Render double var36 = par1Entity.lastTickPosX + (par1Entity.posX - par1Entity.lastTickPosX) * (double)par9; double var15 = par1Entity.lastTickPosY + (par1Entity.posY - par1Entity.lastTickPosY) * (double)par9 + (double)par1Entity.getShadowSize(); double var17 = par1Entity.lastTickPosZ + (par1Entity.posZ - par1Entity.lastTickPosZ) * (double)par9; - int var19 = MathHelper.floor_double(var36 - (double)var12); - int var20 = MathHelper.floor_double(var36 + (double)var12); + BigInteger var19 = MathHelper.floor_double_BigInteger(var36 - (double)var12); + BigInteger var20 = MathHelper.floor_double_BigInteger(var36 + (double)var12); int var21 = MathHelper.floor_double(var15 - (double)var12); int var22 = MathHelper.floor_double(var15); - int var23 = MathHelper.floor_double(var17 - (double)var12); - int var24 = MathHelper.floor_double(var17 + (double)var12); + BigInteger var23 = MathHelper.floor_double_BigInteger(var17 - (double)var12); + BigInteger var24 = MathHelper.floor_double_BigInteger(var17 + (double)var12); double var25 = par2 - var36; double var27 = par4 - var15; double var29 = par6 - var17; Tessellator var31 = Tessellator.instance; var31.startDrawingQuads(); - - for (int var32 = var19; var32 <= var20; ++var32) + // 操你妈你妈死了Mojang天天就知道用这种循环,傻逼操你妈弱智 + // I have noting to say + for (BigInteger var32 = var19; var32.compareTo(var20) <= 0; var32 = var32.add(BigInteger.ONE)) { - for (int var33 = var21; var33 <= var22; ++var33) + for (BigInteger var34 = var23; var34.compareTo(var24) <= 0; var34 = var34.add(BigInteger.ONE)) { - for (int var34 = var23; var34 <= var24; ++var34) + for (int var33 = var21; var33 <= var22; ++var33) { int var35 = var11.getBlockId(var32, var33 - 1, var34); @@ -200,7 +203,7 @@ public abstract class Render * determines the alpha of the shadow. Args: block, centerX, centerY, centerZ, blockX, blockY, blockZ, baseAlpha, * shadowSize, xOffset, yOffset, zOffset */ - private void renderShadowOnBlock(Block par1Block, double par2, double par4, double par6, int par8, int par9, int par10, float par11, float par12, double par13, double par15, double par17) + private void renderShadowOnBlock(Block par1Block, double par2, double par4, double par6, BigInteger par8, int par9, BigInteger par10, float par11, float par12, double par13, double par15, double par17) { Tessellator var19 = Tessellator.instance; @@ -216,11 +219,11 @@ public abstract class Render } var19.setColorRGBA_F(1.0F, 1.0F, 1.0F, (float)var20); - double var22 = (double)par8 + par1Block.minX + par13; - double var24 = (double)par8 + par1Block.maxX + par13; + double var22 = (double)par8.doubleValue() + par1Block.minX + par13; + double var24 = (double)par8.doubleValue() + par1Block.maxX + par13; double var26 = (double)par9 + par1Block.minY + par15 + 0.015625D; - double var28 = (double)par10 + par1Block.minZ + par17; - double var30 = (double)par10 + par1Block.maxZ + par17; + double var28 = (double)par10.doubleValue() + par1Block.minZ + par17; + double var30 = (double)par10.doubleValue() + par1Block.maxZ + par17; float var32 = (float)((par2 - var22) / 2.0D / (double)par12 + 0.5D); float var33 = (float)((par2 - var24) / 2.0D / (double)par12 + 0.5D); float var34 = (float)((par6 - var28) / 2.0D / (double)par12 + 0.5D); diff --git a/src/minecraft/net/minecraft/src/RenderFallingSand.java b/src/minecraft/net/minecraft/src/RenderFallingSand.java index eabc9dc..2b1e60b 100644 --- a/src/minecraft/net/minecraft/src/RenderFallingSand.java +++ b/src/minecraft/net/minecraft/src/RenderFallingSand.java @@ -29,13 +29,13 @@ public class RenderFallingSand extends Render Tessellator var12 = Tessellator.instance; var12.startDrawingQuads(); var12.setTranslation((double)((float)(-MathHelper.floor_double(par1EntityFallingSand.posX)) - 0.5F), (double)((float)(-MathHelper.floor_double(par1EntityFallingSand.posY)) - 0.5F), (double)((float)(-MathHelper.floor_double(par1EntityFallingSand.posZ)) - 0.5F)); - this.renderBlocks.renderBlockByRenderType(var10, MathHelper.floor_double(par1EntityFallingSand.posX), MathHelper.floor_double(par1EntityFallingSand.posY), MathHelper.floor_double(par1EntityFallingSand.posZ)); + this.renderBlocks.renderBlockByRenderType(var10, MathHelper.floor_double_BigInteger(par1EntityFallingSand.posX), MathHelper.floor_double(par1EntityFallingSand.posY), MathHelper.floor_double_BigInteger(par1EntityFallingSand.posZ)); var12.setTranslation(0.0D, 0.0D, 0.0D); var12.draw(); } else if (var10 != null) { - this.renderBlocks.func_78588_a(var10, var11, MathHelper.floor_double(par1EntityFallingSand.posX), MathHelper.floor_double(par1EntityFallingSand.posY), MathHelper.floor_double(par1EntityFallingSand.posZ), par1EntityFallingSand.field_70285_b); + this.renderBlocks.func_78588_a(var10, var11, MathHelper.floor_double_BigInteger(par1EntityFallingSand.posX), MathHelper.floor_double(par1EntityFallingSand.posY), MathHelper.floor_double_BigInteger(par1EntityFallingSand.posZ), par1EntityFallingSand.field_70285_b); } GL11.glEnable(GL11.GL_LIGHTING); diff --git a/src/minecraft/net/minecraft/src/RenderGlobal.java b/src/minecraft/net/minecraft/src/RenderGlobal.java index 96bc4f6..d702cc9 100644 --- a/src/minecraft/net/minecraft/src/RenderGlobal.java +++ b/src/minecraft/net/minecraft/src/RenderGlobal.java @@ -53,23 +53,24 @@ public class RenderGlobal implements IWorldAccess /** OpenGL sky list 2 */ private int glSkyList2; - /** Minimum block X */ - private int minBlockX; - - /** Minimum block Y */ - private int minBlockY; - - /** Minimum block Z */ - private int minBlockZ; - - /** Maximum block X */ - private int maxBlockX; - - /** Maximum block Y */ - private int maxBlockY; - - /** Maximum block Z */ - private int maxBlockZ; +// Useless field +// /** Minimum block X */ +// private int minBlockX; +// +// /** Minimum block Y */ +// private int minBlockY; +// +// /** Minimum block Z */ +// private int minBlockZ; +// +// /** Maximum block X */ +// private int maxBlockX; +// +// /** Maximum block Y */ +// private int maxBlockY; +// +// /** Maximum block Z */ +// private int maxBlockZ; private Map field_72738_E = new HashMap(); private int renderDistance = -1; @@ -325,12 +326,12 @@ public class RenderGlobal implements IWorldAccess this.sortedWorldRenderers = new WorldRenderer[this.renderChunksWide * this.renderChunksTall * this.renderChunksDeep]; var2 = 0; var3 = 0; - this.minBlockX = 0; - this.minBlockY = 0; - this.minBlockZ = 0; - this.maxBlockX = this.renderChunksWide; - this.maxBlockY = this.renderChunksTall; - this.maxBlockZ = this.renderChunksDeep; +// this.minBlockX = 0; +// this.minBlockY = 0; +// this.minBlockZ = 0; +// this.maxBlockX = this.renderChunksWide; +// this.maxBlockY = this.renderChunksTall; +// this.maxBlockZ = this.renderChunksDeep; WorldRenderer var5; for (Iterator var8 = this.worldRenderersToUpdate.iterator(); var8.hasNext(); var5.needsUpdate = false) @@ -347,7 +348,7 @@ public class RenderGlobal implements IWorldAccess { for (int var6 = 0; var6 < this.renderChunksDeep; ++var6) { - this.worldRenderers[(var6 * this.renderChunksTall + var10) * this.renderChunksWide + var9] = new WorldRenderer(this.theWorld, this.tileEntities, var9 * 16, var10 * 16, var6 * 16, this.glRenderListBase + var2); + this.worldRenderers[(var6 * this.renderChunksTall + var10) * this.renderChunksWide + var9] = new WorldRenderer(this.theWorld, this.tileEntities, BigInteger.valueOf(var9 * 16), var10 * 16, BigInteger.valueOf(var6 * 16), this.glRenderListBase + var2); if (this.occlusionEnabled) { @@ -372,7 +373,7 @@ public class RenderGlobal implements IWorldAccess if (var11 != null) { - this.markRenderersForNewPosition(MathHelper.floor_double(var11.posX), MathHelper.floor_double(var11.posY), MathHelper.floor_double(var11.posZ)); + this.markRenderersForNewPosition(MathHelper.floor_double_BigInteger(var11.posX), MathHelper.floor_double(var11.posY), MathHelper.floor_double_BigInteger(var11.posZ)); Arrays.sort(this.sortedWorldRenderers, new EntitySorter(var11)); } } @@ -471,83 +472,83 @@ public class RenderGlobal implements IWorldAccess * Goes through all the renderers setting new positions on them and those that have their position changed are * adding to be updated */ - private void markRenderersForNewPosition(int par1, int par2, int par3) + private void markRenderersForNewPosition(BigInteger par1, int par2, BigInteger par3) { - par1 -= 8; + par1 = par1.subtract(BigInteger.valueOf(8)); par2 -= 8; - par3 -= 8; - this.minBlockX = Integer.MAX_VALUE; - this.minBlockY = Integer.MAX_VALUE; - this.minBlockZ = Integer.MAX_VALUE; - this.maxBlockX = Integer.MIN_VALUE; - this.maxBlockY = Integer.MIN_VALUE; - this.maxBlockZ = Integer.MIN_VALUE; + par3 = par1.subtract(BigInteger.valueOf(8)); +// this.minBlockX = Integer.MAX_VALUE; +// this.minBlockY = Integer.MAX_VALUE; +// this.minBlockZ = Integer.MAX_VALUE; +// this.maxBlockX = Integer.MIN_VALUE; +// this.maxBlockY = Integer.MIN_VALUE; +// this.maxBlockZ = Integer.MIN_VALUE; int var4 = this.renderChunksWide * 16; int var5 = var4 / 2; for (int var6 = 0; var6 < this.renderChunksWide; ++var6) { - int var7 = var6 * 16; - int var8 = var7 + var5 - par1; + int var7 = var6 * 16; + BigInteger var8 = BigInteger.valueOf(var7 + var5).subtract(par1); - if (var8 < 0) + if (var8.signum() == -1 /* < 0*/) { - var8 -= var4 - 1; + var8 = var8.subtract(BigInteger.valueOf(var4 - 1)); } - var8 /= var4; - var7 -= var8 * var4; + var8 = var8.divide(BigInteger.valueOf(var4)); + BigInteger x = BigInteger.valueOf(var7).subtract(var8.multiply(BigInteger.valueOf(var4))); - if (var7 < this.minBlockX) - { - this.minBlockX = var7; - } - - if (var7 > this.maxBlockX) - { - this.maxBlockX = var7; - } +// if (var7 < this.minBlockX) +// { +// this.minBlockX = var7; +// } +// +// if (var7 > this.maxBlockX) +// { +// this.maxBlockX = var7; +// } for (int var9 = 0; var9 < this.renderChunksDeep; ++var9) { int var10 = var9 * 16; - int var11 = var10 + var5 - par3; + BigInteger var11 = BigInteger.valueOf(var10 + var5).subtract(par3); - if (var11 < 0) + if (var11.signum() == -1 /* < 0*/) { - var11 -= var4 - 1; + var11 = var11.subtract(BigInteger.valueOf(var4 - 1)); } - var11 /= var4; - var10 -= var11 * var4; + var11 = var11.divide(BigInteger.valueOf(var4)); + BigInteger z = BigInteger.valueOf(var10).subtract(var11.multiply(BigInteger.valueOf(var4))); - if (var10 < this.minBlockZ) - { - this.minBlockZ = var10; - } - - if (var10 > this.maxBlockZ) - { - this.maxBlockZ = var10; - } +// if (var10 < this.minBlockZ) +// { +// this.minBlockZ = var10; +// } +// +// if (var10 > this.maxBlockZ) +// { +// this.maxBlockZ = var10; +// } for (int var12 = 0; var12 < this.renderChunksTall; ++var12) { int var13 = var12 * 16; - if (var13 < this.minBlockY) - { - this.minBlockY = var13; - } - - if (var13 > this.maxBlockY) - { - this.maxBlockY = var13; - } +// if (var13 < this.minBlockY) +// { +// this.minBlockY = var13; +// } +// +// if (var13 > this.maxBlockY) +// { +// this.maxBlockY = var13; +// } WorldRenderer var14 = this.worldRenderers[(var9 * this.renderChunksTall + var12) * this.renderChunksWide + var6]; boolean var15 = var14.needsUpdate; - var14.setPosition(var7, var13, var10); + var14.setPosition(x, var13, z); if (!var15 && var14.needsUpdate) { @@ -603,7 +604,7 @@ public class RenderGlobal implements IWorldAccess this.prevSortX = par1EntityLiving.posX; this.prevSortY = par1EntityLiving.posY; this.prevSortZ = par1EntityLiving.posZ; - this.markRenderersForNewPosition(MathHelper.floor_double(par1EntityLiving.posX), MathHelper.floor_double(par1EntityLiving.posY), MathHelper.floor_double(par1EntityLiving.posZ)); + this.markRenderersForNewPosition(MathHelper.floor_double_BigInteger(par1EntityLiving.posX), MathHelper.floor_double(par1EntityLiving.posY), MathHelper.floor_double_BigInteger(par1EntityLiving.posZ)); Arrays.sort(this.sortedWorldRenderers, new EntitySorter(par1EntityLiving)); } @@ -671,9 +672,9 @@ public class RenderGlobal implements IWorldAccess if (this.cloudOffsetX % var25 == var23 % var25) { WorldRenderer var26 = this.sortedWorldRenderers[var23]; - float var27 = (float)((double)var26.posXMinus - var33); + float var27 = (float)((double)var26.posXMinus.doubleValue() - var33); float var28 = (float)((double)var26.posYMinus - var7); - float var29 = (float)((double)var26.posZMinus - var9); + float var29 = (float)((double)var26.posZMinus.doubleValue() - var9); float var30 = var27 - var36; float var31 = var28 - var21; float var32 = var29 - var22; @@ -1655,18 +1656,20 @@ public class RenderGlobal implements IWorldAccess /** * Marks the blocks in the given range for update */ - public void markBlocksForUpdate(int par1, int par2, int par3, int par4, int par5, int par6) + public void markBlocksForUpdate(BigInteger par1, int par2, BigInteger par3, BigInteger par4, int par5, BigInteger par6) { - int var7 = MathHelper.bucketInt(par1, 16); + BigInteger range = BigInteger.valueOf(16); + BigInteger var7 = MathHelper.bucketInt(par1, range); int var8 = MathHelper.bucketInt(par2, 16); - int var9 = MathHelper.bucketInt(par3, 16); - int var10 = MathHelper.bucketInt(par4, 16); + BigInteger var9 = MathHelper.bucketInt(par3, range); + BigInteger var10 = MathHelper.bucketInt(par4, range); int var11 = MathHelper.bucketInt(par5, 16); - int var12 = MathHelper.bucketInt(par6, 16); + BigInteger var12 = MathHelper.bucketInt(par6, range); - for (int var13 = var7; var13 <= var10; ++var13) + for (BigInteger var13 = var7; var13.compareTo(var10) <= 0; var13 = var13.add(BigInteger.ONE)) { - int var14 = var13 % this.renderChunksWide; + // Safe + int var14 = var13.mod(BigInteger.valueOf(this.renderChunksWide)).intValueExact(); if (var14 < 0) { @@ -1682,9 +1685,9 @@ public class RenderGlobal implements IWorldAccess var16 += this.renderChunksTall; } - for (int var17 = var9; var17 <= var12; ++var17) + for (BigInteger var17 = var9; var17.compareTo(var12) <= 0; var17 = var17.add(BigInteger.ONE)) { - int var18 = var17 % this.renderChunksDeep; + int var18 = var17.mod(BigInteger.valueOf(this.renderChunksDeep)).intValueExact(); if (var18 < 0) { @@ -1708,26 +1711,26 @@ public class RenderGlobal implements IWorldAccess * Will mark the block and neighbors that their renderers need an update (could be all the same renderer * potentially) Args: x, y, z */ - public void markBlockNeedsUpdate(int par1, int par2, int par3) + public void markBlockNeedsUpdate(BigInteger par1, int par2, BigInteger par3) { - this.markBlocksForUpdate(par1 - 1, par2 - 1, par3 - 1, par1 + 1, par2 + 1, par3 + 1); + this.markBlocksForUpdate(par1.subtract(BigInteger.ONE), par2 - 1, par3.subtract(BigInteger.ONE), par1.add(BigInteger.ONE), par2 + 1, par3.add(BigInteger.ONE)); } /** * As of mc 1.2.3 this method has exactly the same signature and does exactly the same as markBlockNeedsUpdate */ - public void markBlockNeedsUpdate2(int par1, int par2, int par3) + public void markBlockNeedsUpdate2(BigInteger par1, int par2, BigInteger par3) { - this.markBlocksForUpdate(par1 - 1, par2 - 1, par3 - 1, par1 + 1, par2 + 1, par3 + 1); + this.markBlocksForUpdate(par1.subtract(BigInteger.ONE), par2 - 1, par3.subtract(BigInteger.ONE), par1.add(BigInteger.ONE), par2 + 1, par3.add(BigInteger.ONE)); } /** * Called across all registered IWorldAccess instances when a block range is invalidated. Args: minX, minY, minZ, * maxX, maxY, maxZ */ - public void markBlockRangeNeedsUpdate(int par1, int par2, int par3, int par4, int par5, int par6) + public void markBlockRangeNeedsUpdate(BigInteger par1, int par2, BigInteger par3, BigInteger par4, int par5, BigInteger par6) { - this.markBlocksForUpdate(par1 - 1, par2 - 1, par3 - 1, par4 + 1, par5 + 1, par6 + 1); + this.markBlocksForUpdate(par1.subtract(BigInteger.ONE), par2 - 1, par3.subtract(BigInteger.ONE), par4.add(BigInteger.ONE), par5 + 1, par6.add(BigInteger.ONE)); } /** @@ -1750,14 +1753,14 @@ public class RenderGlobal implements IWorldAccess /** * Plays the specified record. Arg: recordName, x, y, z */ - public void playRecord(String par1Str, int par2, int par3, int par4) + public void playRecord(String par1Str, BigInteger par2, int par3, BigInteger par4) { if (par1Str != null) { this.mc.ingameGUI.setRecordPlayingMessage("C418 - " + par1Str); } - this.mc.sndManager.playStreaming(par1Str, (float)par2, (float)par3, (float)par4, 1.0F, 1.0F); + this.mc.sndManager.playStreaming(par1Str, (float)par2.floatValue(), (float)par3, (float)par4.floatValue(), 1.0F, 1.0F); } /** @@ -2001,7 +2004,8 @@ public class RenderGlobal implements IWorldAccess /** * Plays a pre-canned sound effect along with potentially auxiliary data-driven one-shot behaviour (particles, etc). */ - public void playAuxSFX(EntityPlayer par1EntityPlayer, int par2, int par3, int par4, int par5, int par6) + @Override + public void playAuxSFX(EntityPlayer par1EntityPlayer, int par2, BigInteger par3, int par4, BigInteger par5, int par6) { Random var7 = this.theWorld.rand; double var8; @@ -2019,31 +2023,31 @@ public class RenderGlobal implements IWorldAccess switch (par2) { case 1000: - this.theWorld.playSound((double)par3, (double)par4, (double)par5, "random.click", 1.0F, 1.0F); + this.theWorld.playSound(par3.doubleValue(), (double)par4, par5.doubleValue(), "random.click", 1.0F, 1.0F); break; case 1001: - this.theWorld.playSound((double)par3, (double)par4, (double)par5, "random.click", 1.0F, 1.2F); + this.theWorld.playSound(par3.doubleValue(), (double)par4, par5.doubleValue(), "random.click", 1.0F, 1.2F); break; case 1002: - this.theWorld.playSound((double)par3, (double)par4, (double)par5, "random.bow", 1.0F, 1.2F); + this.theWorld.playSound(par3.doubleValue(), (double)par4, par5.doubleValue(), "random.bow", 1.0F, 1.2F); break; case 1003: if (Math.random() < 0.5D) { - this.theWorld.playSound((double)par3 + 0.5D, (double)par4 + 0.5D, (double)par5 + 0.5D, "random.door_open", 1.0F, this.theWorld.rand.nextFloat() * 0.1F + 0.9F); + this.theWorld.playSound(par3.doubleValue() + 0.5D, (double)par4 + 0.5D, par5.doubleValue() + 0.5D, "random.door_open", 1.0F, this.theWorld.rand.nextFloat() * 0.1F + 0.9F); } else { - this.theWorld.playSound((double)par3 + 0.5D, (double)par4 + 0.5D, (double)par5 + 0.5D, "random.door_close", 1.0F, this.theWorld.rand.nextFloat() * 0.1F + 0.9F); + this.theWorld.playSound(par3.doubleValue() + 0.5D, (double)par4 + 0.5D, par5.doubleValue() + 0.5D, "random.door_close", 1.0F, this.theWorld.rand.nextFloat() * 0.1F + 0.9F); } break; case 1004: - this.theWorld.playSound((double)((float)par3 + 0.5F), (double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), "random.fizz", 0.5F, 2.6F + (var7.nextFloat() - var7.nextFloat()) * 0.8F); + this.theWorld.playSound((double)((float)par3.floatValue() + 0.5F), (double)((float)par4 + 0.5F), (double)((float)par5.floatValue() + 0.5F), "random.fizz", 0.5F, 2.6F + (var7.nextFloat() - var7.nextFloat()) * 0.8F); break; case 1005: @@ -2059,31 +2063,31 @@ public class RenderGlobal implements IWorldAccess break; case 1007: - this.theWorld.playSound((double)par3 + 0.5D, (double)par4 + 0.5D, (double)par5 + 0.5D, "mob.ghast.charge", 10.0F, (var7.nextFloat() - var7.nextFloat()) * 0.2F + 1.0F); + this.theWorld.playSound(par3.doubleValue() + 0.5D, (double)par4 + 0.5D, par5.doubleValue() + 0.5D, "mob.ghast.charge", 10.0F, (var7.nextFloat() - var7.nextFloat()) * 0.2F + 1.0F); break; case 1008: - this.theWorld.playSound((double)par3 + 0.5D, (double)par4 + 0.5D, (double)par5 + 0.5D, "mob.ghast.fireball", 10.0F, (var7.nextFloat() - var7.nextFloat()) * 0.2F + 1.0F); + this.theWorld.playSound(par3.doubleValue() + 0.5D, (double)par4 + 0.5D, par5.doubleValue() + 0.5D, "mob.ghast.fireball", 10.0F, (var7.nextFloat() - var7.nextFloat()) * 0.2F + 1.0F); break; case 1010: - this.theWorld.playSound((double)par3 + 0.5D, (double)par4 + 0.5D, (double)par5 + 0.5D, "mob.zombie.wood", 2.0F, (var7.nextFloat() - var7.nextFloat()) * 0.2F + 1.0F); + this.theWorld.playSound(par3.doubleValue() + 0.5D, (double)par4 + 0.5D, par5.doubleValue() + 0.5D, "mob.zombie.wood", 2.0F, (var7.nextFloat() - var7.nextFloat()) * 0.2F + 1.0F); break; case 1011: - this.theWorld.playSound((double)par3 + 0.5D, (double)par4 + 0.5D, (double)par5 + 0.5D, "mob.zombie.metal", 2.0F, (var7.nextFloat() - var7.nextFloat()) * 0.2F + 1.0F); + this.theWorld.playSound(par3.doubleValue() + 0.5D, (double)par4 + 0.5D, par5.doubleValue() + 0.5D, "mob.zombie.metal", 2.0F, (var7.nextFloat() - var7.nextFloat()) * 0.2F + 1.0F); break; case 1012: - this.theWorld.playSound((double)par3 + 0.5D, (double)par4 + 0.5D, (double)par5 + 0.5D, "mob.zombie.woodbreak", 2.0F, (var7.nextFloat() - var7.nextFloat()) * 0.2F + 1.0F); + this.theWorld.playSound(par3.doubleValue() + 0.5D, (double)par4 + 0.5D, par5.doubleValue() + 0.5D, "mob.zombie.woodbreak", 2.0F, (var7.nextFloat() - var7.nextFloat()) * 0.2F + 1.0F); break; case 2000: int var33 = par6 % 3 - 1; int var9 = par6 / 3 % 3 - 1; - var10 = (double)par3 + (double)var33 * 0.6D + 0.5D; + var10 = par3.doubleValue() + (double)var33 * 0.6D + 0.5D; var12 = (double)par4 + 0.5D; - double var34 = (double)par5 + (double)var9 * 0.6D + 0.5D; + double var34 = par5.doubleValue() + (double)var9 * 0.6D + 0.5D; for (int var36 = 0; var36 < 10; ++var36) { @@ -2105,16 +2109,16 @@ public class RenderGlobal implements IWorldAccess if (var20 > 0) { Block var40 = Block.blocksList[var20]; - this.mc.sndManager.playSound(var40.stepSound.getBreakSound(), (float)par3 + 0.5F, (float)par4 + 0.5F, (float)par5 + 0.5F, (var40.stepSound.getVolume() + 1.0F) / 2.0F, var40.stepSound.getPitch() * 0.8F); + this.mc.sndManager.playSound(var40.stepSound.getBreakSound(), (float)par3.floatValue() + 0.5F, (float)par4 + 0.5F, (float)par5.floatValue() + 0.5F, (var40.stepSound.getVolume() + 1.0F) / 2.0F, var40.stepSound.getPitch() * 0.8F); } this.mc.effectRenderer.addBlockDestroyEffects(par3, par4, par5, par6 & 4095, par6 >> 12 & 255); break; case 2002: - var8 = (double)par3; + var8 = par3.doubleValue(); var10 = (double)par4; - var12 = (double)par5; + var12 = par5.doubleValue(); var14 = "iconcrack_" + Item.potion.shiftedIndex; for (var15 = 0; var15 < 8; ++var15) @@ -2150,13 +2154,13 @@ public class RenderGlobal implements IWorldAccess } } - this.theWorld.playSound((double)par3 + 0.5D, (double)par4 + 0.5D, (double)par5 + 0.5D, "random.glass", 1.0F, this.theWorld.rand.nextFloat() * 0.1F + 0.9F); + this.theWorld.playSound(par3.doubleValue() + 0.5D, (double)par4 + 0.5D, par5.doubleValue() + 0.5D, "random.glass", 1.0F, this.theWorld.rand.nextFloat() * 0.1F + 0.9F); break; case 2003: - var8 = (double)par3 + 0.5D; + var8 = par3.doubleValue() + 0.5D; var10 = (double)par4; - var12 = (double)par5 + 0.5D; + var12 = par5.doubleValue() + 0.5D; var14 = "iconcrack_" + Item.eyeOfEnder.shiftedIndex; for (var15 = 0; var15 < 8; ++var15) @@ -2175,9 +2179,9 @@ public class RenderGlobal implements IWorldAccess case 2004: for (int var21 = 0; var21 < 20; ++var21) { - double var22 = (double)par3 + 0.5D + ((double)this.theWorld.rand.nextFloat() - 0.5D) * 2.0D; + double var22 = par3.doubleValue() + 0.5D + ((double)this.theWorld.rand.nextFloat() - 0.5D) * 2.0D; double var24 = (double)par4 + 0.5D + ((double)this.theWorld.rand.nextFloat() - 0.5D) * 2.0D; - double var26 = (double)par5 + 0.5D + ((double)this.theWorld.rand.nextFloat() - 0.5D) * 2.0D; + double var26 = par5.doubleValue() + 0.5D + ((double)this.theWorld.rand.nextFloat() - 0.5D) * 2.0D; this.theWorld.spawnParticle("smoke", var22, var24, var26, 0.0D, 0.0D, 0.0D); this.theWorld.spawnParticle("flame", var22, var24, var26, 0.0D, 0.0D, 0.0D); } diff --git a/src/minecraft/net/minecraft/src/RenderList.java b/src/minecraft/net/minecraft/src/RenderList.java index 95e7f29..2f7ba9c 100644 --- a/src/minecraft/net/minecraft/src/RenderList.java +++ b/src/minecraft/net/minecraft/src/RenderList.java @@ -1,13 +1,14 @@ package net.minecraft.src; +import java.math.BigInteger; import java.nio.IntBuffer; import org.lwjgl.opengl.GL11; public class RenderList { - private int field_78429_a; + private BigInteger field_78429_a; private int field_78427_b; - private int field_78428_c; + private BigInteger field_78428_c; private double field_78425_d; private double field_78426_e; private double field_78423_f; @@ -15,7 +16,7 @@ public class RenderList private boolean field_78430_h = false; private boolean field_78431_i = false; - public void func_78422_a(int par1, int par2, int par3, double par4, double par6, double par8) + public void func_78422_a(BigInteger par1, int par2, BigInteger par3, double par4, double par6, double par8) { this.field_78430_h = true; this.field_78424_g.clear(); @@ -27,9 +28,9 @@ public class RenderList this.field_78423_f = par8; } - public boolean func_78418_a(int par1, int par2, int par3) + public boolean func_78418_a(BigInteger par1, int par2, BigInteger par3) { - return !this.field_78430_h ? false : par1 == this.field_78429_a && par2 == this.field_78427_b && par3 == this.field_78428_c; + return !this.field_78430_h ? false : par1.equals(this.field_78429_a) && par2 == this.field_78427_b && par3.equals(this.field_78428_c); } public void func_78420_a(int par1) @@ -55,7 +56,7 @@ public class RenderList if (this.field_78424_g.remaining() > 0) { GL11.glPushMatrix(); - GL11.glTranslatef((float)((double)this.field_78429_a - this.field_78425_d), (float)((double)this.field_78427_b - this.field_78426_e), (float)((double)this.field_78428_c - this.field_78423_f)); + GL11.glTranslatef((float)((double)this.field_78429_a.doubleValue() - this.field_78425_d), (float)((double)this.field_78427_b - this.field_78426_e), (float)((double)this.field_78428_c.doubleValue() - this.field_78423_f)); GL11.glCallLists(this.field_78424_g); GL11.glPopMatrix(); } diff --git a/src/minecraft/net/minecraft/src/RenderManager.java b/src/minecraft/net/minecraft/src/RenderManager.java index 259f267..c891b47 100644 --- a/src/minecraft/net/minecraft/src/RenderManager.java +++ b/src/minecraft/net/minecraft/src/RenderManager.java @@ -124,11 +124,11 @@ public class RenderManager if (par4EntityLiving.isPlayerSleeping()) { - int var7 = par1World.getBlockId(MathHelper.floor_double(par4EntityLiving.posX), MathHelper.floor_double(par4EntityLiving.posY), MathHelper.floor_double(par4EntityLiving.posZ)); + int var7 = par1World.getBlockId(MathHelper.floor_double_BigInteger(par4EntityLiving.posX), MathHelper.floor_double(par4EntityLiving.posY), MathHelper.floor_double_BigInteger(par4EntityLiving.posZ)); if (var7 == Block.bed.blockID) { - int var8 = par1World.getBlockMetadata(MathHelper.floor_double(par4EntityLiving.posX), MathHelper.floor_double(par4EntityLiving.posY), MathHelper.floor_double(par4EntityLiving.posZ)); + int var8 = par1World.getBlockMetadata(MathHelper.floor_double_BigInteger(par4EntityLiving.posX), MathHelper.floor_double(par4EntityLiving.posY), MathHelper.floor_double_BigInteger(par4EntityLiving.posZ)); int var9 = var8 & 3; this.playerViewY = (float)(var9 * 90 + 180); this.playerViewX = 0.0F; diff --git a/src/minecraft/net/minecraft/src/RenderPainting.java b/src/minecraft/net/minecraft/src/RenderPainting.java index 16baf50..8330bd9 100644 --- a/src/minecraft/net/minecraft/src/RenderPainting.java +++ b/src/minecraft/net/minecraft/src/RenderPainting.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; @@ -96,28 +97,28 @@ public class RenderPainting extends Render private void func_77008_a(EntityPainting par1EntityPainting, float par2, float par3) { - int var4 = MathHelper.floor_double(par1EntityPainting.posX); + BigInteger var4 = MathHelper.floor_double_BigInteger(par1EntityPainting.posX); int var5 = MathHelper.floor_double(par1EntityPainting.posY + (double)(par3 / 16.0F)); - int var6 = MathHelper.floor_double(par1EntityPainting.posZ); + BigInteger var6 = MathHelper.floor_double_BigInteger(par1EntityPainting.posZ); if (par1EntityPainting.direction == 0) { - var4 = MathHelper.floor_double(par1EntityPainting.posX + (double)(par2 / 16.0F)); + var4 = MathHelper.floor_double_BigInteger(par1EntityPainting.posX + (double)(par2 / 16.0F)); } if (par1EntityPainting.direction == 1) { - var6 = MathHelper.floor_double(par1EntityPainting.posZ - (double)(par2 / 16.0F)); + var6 = MathHelper.floor_double_BigInteger(par1EntityPainting.posZ - (double)(par2 / 16.0F)); } if (par1EntityPainting.direction == 2) { - var4 = MathHelper.floor_double(par1EntityPainting.posX - (double)(par2 / 16.0F)); + var4 = MathHelper.floor_double_BigInteger(par1EntityPainting.posX - (double)(par2 / 16.0F)); } if (par1EntityPainting.direction == 3) { - var6 = MathHelper.floor_double(par1EntityPainting.posZ + (double)(par2 / 16.0F)); + var6 = MathHelper.floor_double_BigInteger(par1EntityPainting.posZ + (double)(par2 / 16.0F)); } int var7 = this.renderManager.worldObj.getLightBrightnessForSkyBlocks(var4, var5, var6, 0); diff --git a/src/minecraft/net/minecraft/src/ServerConfigurationManager.java b/src/minecraft/net/minecraft/src/ServerConfigurationManager.java index 370aeb6..3df4e12 100644 --- a/src/minecraft/net/minecraft/src/ServerConfigurationManager.java +++ b/src/minecraft/net/minecraft/src/ServerConfigurationManager.java @@ -109,7 +109,7 @@ public abstract class ServerConfigurationManager } var3.getPlayerManager().func_72683_a(par1EntityPlayerMP); - var3.theChunkProviderServer.loadChunk((int)par1EntityPlayerMP.posX >> 4, (int)par1EntityPlayerMP.posZ >> 4); + var3.theChunkProviderServer.loadChunk(MathHelper.toBigInteger(par1EntityPlayerMP.posX).shiftRight(4), MathHelper.toBigInteger(par1EntityPlayerMP.posZ).shiftRight(4)); } public int getEntityViewDistance() @@ -311,7 +311,7 @@ public abstract class ServerConfigurationManager } } - var7.theChunkProviderServer.loadChunk((int)var6.posX >> 4, (int)var6.posZ >> 4); + var7.theChunkProviderServer.loadChunk(MathHelper.toBigInteger(var6.posX).shiftRight(4), MathHelper.toBigInteger(var6.posZ).shiftRight(4)); while (!var7.getCollidingBoundingBoxes(var6, var6.boundingBox).isEmpty()) { diff --git a/src/minecraft/net/minecraft/src/StructureComponent.java b/src/minecraft/net/minecraft/src/StructureComponent.java index 84e9beb..f89b73d 100644 --- a/src/minecraft/net/minecraft/src/StructureComponent.java +++ b/src/minecraft/net/minecraft/src/StructureComponent.java @@ -809,7 +809,7 @@ public abstract class StructureComponent if (par2StructureBoundingBox.isVecInside(var8, var9, var10)) { - ItemDoor.placeDoorBlock(par1World, var8, var9, var10, par7, Block.doorWood); + ItemDoor.placeDoorBlock(par1World, BigInteger.valueOf(var8), var9, BigInteger.valueOf(var10), par7, Block.doorWood); } } } diff --git a/src/minecraft/net/minecraft/src/Teleporter.java b/src/minecraft/net/minecraft/src/Teleporter.java index 4376cd5..0e23290 100644 --- a/src/minecraft/net/minecraft/src/Teleporter.java +++ b/src/minecraft/net/minecraft/src/Teleporter.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class Teleporter @@ -22,9 +23,9 @@ public class Teleporter } else { - int var3 = MathHelper.floor_double(par2Entity.posX); + BigInteger var3 = MathHelper.floor_double_BigInteger(par2Entity.posX); int var4 = MathHelper.floor_double(par2Entity.posY) - 1; - int var5 = MathHelper.floor_double(par2Entity.posZ); + BigInteger var5 = MathHelper.floor_double_BigInteger(par2Entity.posZ); byte var6 = 1; byte var7 = 0; @@ -34,16 +35,16 @@ public class Teleporter { for (int var10 = -1; var10 < 3; ++var10) { - int var11 = var3 + var9 * var6 + var8 * var7; + BigInteger var11 = var3.add(BigInteger.valueOf(var9 * var6 + var8 * var7)); int var12 = var4 + var10; - int var13 = var5 + var9 * var7 - var8 * var6; + BigInteger var13 = var5.add(BigInteger.valueOf(var9 * var7 - var8 * var6)); boolean var14 = var10 < 0; par1World.setBlockWithNotify(var11, var12, var13, var14 ? Block.obsidian.blockID : 0); } } } - par2Entity.setLocationAndAngles((double)var3, (double)var4, (double)var5, par2Entity.rotationYaw, 0.0F); + par2Entity.setLocationAndAngles((double)var3.doubleValue(), (double)var4, (double)var5.doubleValue(), par2Entity.rotationYaw, 0.0F); par2Entity.motionX = par2Entity.motionY = par2Entity.motionZ = 0.0D; } } @@ -55,26 +56,28 @@ public class Teleporter { short var3 = 128; double var4 = -1.0D; - int var6 = 0; + BigInteger var6 = BigInteger.ZERO; int var7 = 0; - int var8 = 0; - int var9 = MathHelper.floor_double(par2Entity.posX); - int var10 = MathHelper.floor_double(par2Entity.posZ); + BigInteger var8 = BigInteger.ZERO; + BigInteger var9 = MathHelper.floor_double_BigInteger(par2Entity.posX); + BigInteger var10 = MathHelper.floor_double_BigInteger(par2Entity.posZ); double var18; - for (int var11 = var9 - var3; var11 <= var9 + var3; ++var11) + for (int var11 = - var3; var11 <= + var3; ++var11) { - double var12 = (double)var11 + 0.5D - par2Entity.posX; + BigInteger x = BigInteger.valueOf(var11).add(var9); + double var12 = (double)x.doubleValue() + 0.5D - par2Entity.posX; - for (int var14 = var10 - var3; var14 <= var10 + var3; ++var14) + for (int var14 = - var3; var14 <= + var3; ++var14) { - double var15 = (double)var14 + 0.5D - par2Entity.posZ; + BigInteger z = BigInteger.valueOf(var14).add(var10); + double var15 = (double)z.doubleValue() + 0.5D - par2Entity.posZ; for (int var17 = par1World.getActualHeight() - 1; var17 >= 0; --var17) { - if (par1World.getBlockId(var11, var17, var14) == Block.portal.blockID) + if (par1World.getBlockId(x, var17, z) == Block.portal.blockID) { - while (par1World.getBlockId(var11, var17 - 1, var14) == Block.portal.blockID) + while (par1World.getBlockId(x, var17 - 1, z) == Block.portal.blockID) { --var17; } @@ -85,9 +88,9 @@ public class Teleporter if (var4 < 0.0D || var20 < var4) { var4 = var20; - var6 = var11; + var6 = x; var7 = var17; - var8 = var14; + var8 = z; } } } @@ -96,26 +99,26 @@ public class Teleporter if (var4 >= 0.0D) { - double var22 = (double)var6 + 0.5D; + double var22 = (double)var6.doubleValue() + 0.5D; double var16 = (double)var7 + 0.5D; - var18 = (double)var8 + 0.5D; + var18 = (double)var8.doubleValue() + 0.5D; - if (par1World.getBlockId(var6 - 1, var7, var8) == Block.portal.blockID) + if (par1World.getBlockId(var6.subtract(BigInteger.ONE), var7, var8) == Block.portal.blockID) { var22 -= 0.5D; } - if (par1World.getBlockId(var6 + 1, var7, var8) == Block.portal.blockID) + if (par1World.getBlockId(var6.add(BigInteger.ONE), var7, var8) == Block.portal.blockID) { var22 += 0.5D; } - if (par1World.getBlockId(var6, var7, var8 - 1) == Block.portal.blockID) + if (par1World.getBlockId(var6, var7, var8.subtract(BigInteger.ONE)) == Block.portal.blockID) { var18 -= 0.5D; } - if (par1World.getBlockId(var6, var7, var8 + 1) == Block.portal.blockID) + if (par1World.getBlockId(var6, var7, var8.add(BigInteger.ONE)) == Block.portal.blockID) { var18 += 0.5D; } @@ -135,228 +138,231 @@ public class Teleporter */ public boolean createPortal(World par1World, Entity par2Entity) { - byte var3 = 16; - double var4 = -1.0D; - int var6 = MathHelper.floor_double(par2Entity.posX); - int var7 = MathHelper.floor_double(par2Entity.posY); - int var8 = MathHelper.floor_double(par2Entity.posZ); - int var9 = var6; - int var10 = var7; - int var11 = var8; - int var12 = 0; - int var13 = this.random.nextInt(4); - int var14; - double var15; - int var17; - double var18; - int var20; - int var21; - int var22; - int var23; - int var24; - int var25; - int var26; - int var27; - int var28; - double var32; - double var33; - - for (var14 = var6 - var3; var14 <= var6 + var3; ++var14) - { - var15 = (double)var14 + 0.5D - par2Entity.posX; - - for (var17 = var8 - var3; var17 <= var8 + var3; ++var17) - { - var18 = (double)var17 + 0.5D - par2Entity.posZ; - label274: - - for (var20 = par1World.getActualHeight() - 1; var20 >= 0; --var20) - { - if (par1World.isAirBlock(var14, var20, var17)) - { - while (var20 > 0 && par1World.isAirBlock(var14, var20 - 1, var17)) - { - --var20; - } - - for (var21 = var13; var21 < var13 + 4; ++var21) - { - var22 = var21 % 2; - var23 = 1 - var22; - - if (var21 % 4 >= 2) - { - var22 = -var22; - var23 = -var23; - } - - for (var24 = 0; var24 < 3; ++var24) - { - for (var25 = 0; var25 < 4; ++var25) - { - for (var26 = -1; var26 < 4; ++var26) - { - var27 = var14 + (var25 - 1) * var22 + var24 * var23; - var28 = var20 + var26; - int var29 = var17 + (var25 - 1) * var23 - var24 * var22; - - if (var26 < 0 && !par1World.getBlockMaterial(var27, var28, var29).isSolid() || var26 >= 0 && !par1World.isAirBlock(var27, var28, var29)) - { - continue label274; - } - } - } - } - - var32 = (double)var20 + 0.5D - par2Entity.posY; - var33 = var15 * var15 + var32 * var32 + var18 * var18; - - if (var4 < 0.0D || var33 < var4) - { - var4 = var33; - var9 = var14; - var10 = var20; - var11 = var17; - var12 = var21 % 4; - } - } - } - } - } - } - - if (var4 < 0.0D) - { - for (var14 = var6 - var3; var14 <= var6 + var3; ++var14) - { - var15 = (double)var14 + 0.5D - par2Entity.posX; - - for (var17 = var8 - var3; var17 <= var8 + var3; ++var17) - { - var18 = (double)var17 + 0.5D - par2Entity.posZ; - label222: - - for (var20 = par1World.getActualHeight() - 1; var20 >= 0; --var20) - { - if (par1World.isAirBlock(var14, var20, var17)) - { - while (var20 > 0 && par1World.isAirBlock(var14, var20 - 1, var17)) - { - --var20; - } - - for (var21 = var13; var21 < var13 + 2; ++var21) - { - var22 = var21 % 2; - var23 = 1 - var22; - - for (var24 = 0; var24 < 4; ++var24) - { - for (var25 = -1; var25 < 4; ++var25) - { - var26 = var14 + (var24 - 1) * var22; - var27 = var20 + var25; - var28 = var17 + (var24 - 1) * var23; - - if (var25 < 0 && !par1World.getBlockMaterial(var26, var27, var28).isSolid() || var25 >= 0 && !par1World.isAirBlock(var26, var27, var28)) - { - continue label222; - } - } - } - - var32 = (double)var20 + 0.5D - par2Entity.posY; - var33 = var15 * var15 + var32 * var32 + var18 * var18; - - if (var4 < 0.0D || var33 < var4) - { - var4 = var33; - var9 = var14; - var10 = var20; - var11 = var17; - var12 = var21 % 2; - } - } - } - } - } - } - } - - int var30 = var9; - int var16 = var10; - var17 = var11; - int var31 = var12 % 2; - int var19 = 1 - var31; - - if (var12 % 4 >= 2) - { - var31 = -var31; - var19 = -var19; - } - - boolean var34; - - if (var4 < 0.0D) - { - if (var10 < 70) - { - var10 = 70; - } - - if (var10 > par1World.getActualHeight() - 10) - { - var10 = par1World.getActualHeight() - 10; - } - - var16 = var10; - - for (var20 = -1; var20 <= 1; ++var20) - { - for (var21 = 1; var21 < 3; ++var21) - { - for (var22 = -1; var22 < 3; ++var22) - { - var23 = var30 + (var21 - 1) * var31 + var20 * var19; - var24 = var16 + var22; - var25 = var17 + (var21 - 1) * var19 - var20 * var31; - var34 = var22 < 0; - par1World.setBlockWithNotify(var23, var24, var25, var34 ? Block.obsidian.blockID : 0); - } - } - } - } - - for (var20 = 0; var20 < 4; ++var20) - { - par1World.editingBlocks = true; - - for (var21 = 0; var21 < 4; ++var21) - { - for (var22 = -1; var22 < 4; ++var22) - { - var23 = var30 + (var21 - 1) * var31; - var24 = var16 + var22; - var25 = var17 + (var21 - 1) * var19; - var34 = var21 == 0 || var21 == 3 || var22 == -1 || var22 == 3; - par1World.setBlockWithNotify(var23, var24, var25, var34 ? Block.obsidian.blockID : Block.portal.blockID); - } - } - - par1World.editingBlocks = false; - - for (var21 = 0; var21 < 4; ++var21) - { - for (var22 = -1; var22 < 4; ++var22) - { - var23 = var30 + (var21 - 1) * var31; - var24 = var16 + var22; - var25 = var17 + (var21 - 1) * var19; - par1World.notifyBlocksOfNeighborChange(var23, var24, var25, par1World.getBlockId(var23, var24, var25)); - } - } - } - - return true; + return true; // bullshit +// byte var3 = 16; +// double var4 = -1.0D; +// BigInteger var6 = MathHelper.floor_double_BigInteger(par2Entity.posX); +// int var7 = MathHelper.floor_double(par2Entity.posY); +// BigInteger var8 = MathHelper.floor_double_BigInteger(par2Entity.posZ); +// BigInteger var9 = var6; +// int var10 = var7; +// BigInteger var11 = var8; +// int var12 = 0; +// int var13 = this.random.nextInt(4); +// int var14; +// double var15; +// int var17; +// double var18; +// int var20; +// int var21; +// int var22; +// int var23; +// int var24; +// int var25; +// int var26; +// int var27; +// int var28; +// double var32; +// double var33; +// +// for (var14 = - var3; var14 <= + var3; ++var14) +// { +// BigInteger x = BigInteger.valueOf(var14).add(var6); +// var15 = (double)x.doubleValue() + 0.5D - par2Entity.posX; +// +// for (var17 = - var3; var17 <= + var3; ++var17) +// { +// BigInteger z = BigInteger.valueOf(var17).add(var8); +// var18 = (double)z.doubleValue() + 0.5D - par2Entity.posZ; +// label274: +// +// for (var20 = par1World.getActualHeight() - 1; var20 >= 0; --var20) +// { +// if (par1World.isAirBlock(x, var20, z)) +// { +// while (var20 > 0 && par1World.isAirBlock(x, var20 - 1, z)) +// { +// --var20; +// } +// +// for (var21 = var13; var21 < var13 + 4; ++var21) +// { +// var22 = var21 % 2; +// var23 = 1 - var22; +// +// if (var21 % 4 >= 2) +// { +// var22 = -var22; +// var23 = -var23; +// } +// +// for (var24 = 0; var24 < 3; ++var24) +// { +// for (var25 = 0; var25 < 4; ++var25) +// { +// for (var26 = -1; var26 < 4; ++var26) +// { +// var27 = var14 + (var25 - 1) * var22 + var24 * var23; +// var28 = var20 + var26; +// int var29 = var17 + (var25 - 1) * var23 - var24 * var22; +// +// if (var26 < 0 && !par1World.getBlockMaterial(var27, var28, var29).isSolid() || var26 >= 0 && !par1World.isAirBlock(var27, var28, var29)) +// { +// continue label274; +// } +// } +// } +// } +// +// var32 = (double)var20 + 0.5D - par2Entity.posY; +// var33 = var15 * var15 + var32 * var32 + var18 * var18; +// +// if (var4 < 0.0D || var33 < var4) +// { +// var4 = var33; +// var9 = var14; +// var10 = var20; +// var11 = var17; +// var12 = var21 % 4; +// } +// } +// } +// } +// } +// } +// +// if (var4 < 0.0D) +// { +// for (var14 = var6 - var3; var14 <= var6 + var3; ++var14) +// { +// var15 = (double)var14 + 0.5D - par2Entity.posX; +// +// for (var17 = var8 - var3; var17 <= var8 + var3; ++var17) +// { +// var18 = (double)var17 + 0.5D - par2Entity.posZ; +// label222: +// +// for (var20 = par1World.getActualHeight() - 1; var20 >= 0; --var20) +// { +// if (par1World.isAirBlock(var14, var20, var17)) +// { +// while (var20 > 0 && par1World.isAirBlock(var14, var20 - 1, var17)) +// { +// --var20; +// } +// +// for (var21 = var13; var21 < var13 + 2; ++var21) +// { +// var22 = var21 % 2; +// var23 = 1 - var22; +// +// for (var24 = 0; var24 < 4; ++var24) +// { +// for (var25 = -1; var25 < 4; ++var25) +// { +// var26 = var14 + (var24 - 1) * var22; +// var27 = var20 + var25; +// var28 = var17 + (var24 - 1) * var23; +// +// if (var25 < 0 && !par1World.getBlockMaterial(var26, var27, var28).isSolid() || var25 >= 0 && !par1World.isAirBlock(var26, var27, var28)) +// { +// continue label222; +// } +// } +// } +// +// var32 = (double)var20 + 0.5D - par2Entity.posY; +// var33 = var15 * var15 + var32 * var32 + var18 * var18; +// +// if (var4 < 0.0D || var33 < var4) +// { +// var4 = var33; +// var9 = var14; +// var10 = var20; +// var11 = var17; +// var12 = var21 % 2; +// } +// } +// } +// } +// } +// } +// } +// +// int var30 = var9; +// int var16 = var10; +// var17 = var11; +// int var31 = var12 % 2; +// int var19 = 1 - var31; +// +// if (var12 % 4 >= 2) +// { +// var31 = -var31; +// var19 = -var19; +// } +// +// boolean var34; +// +// if (var4 < 0.0D) +// { +// if (var10 < 70) +// { +// var10 = 70; +// } +// +// if (var10 > par1World.getActualHeight() - 10) +// { +// var10 = par1World.getActualHeight() - 10; +// } +// +// var16 = var10; +// +// for (var20 = -1; var20 <= 1; ++var20) +// { +// for (var21 = 1; var21 < 3; ++var21) +// { +// for (var22 = -1; var22 < 3; ++var22) +// { +// var23 = var30 + (var21 - 1) * var31 + var20 * var19; +// var24 = var16 + var22; +// var25 = var17 + (var21 - 1) * var19 - var20 * var31; +// var34 = var22 < 0; +// par1World.setBlockWithNotify(var23, var24, var25, var34 ? Block.obsidian.blockID : 0); +// } +// } +// } +// } +// +// for (var20 = 0; var20 < 4; ++var20) +// { +// par1World.editingBlocks = true; +// +// for (var21 = 0; var21 < 4; ++var21) +// { +// for (var22 = -1; var22 < 4; ++var22) +// { +// var23 = var30 + (var21 - 1) * var31; +// var24 = var16 + var22; +// var25 = var17 + (var21 - 1) * var19; +// var34 = var21 == 0 || var21 == 3 || var22 == -1 || var22 == 3; +// par1World.setBlockWithNotify(var23, var24, var25, var34 ? Block.obsidian.blockID : Block.portal.blockID); +// } +// } +// +// par1World.editingBlocks = false; +// +// for (var21 = 0; var21 < 4; ++var21) +// { +// for (var22 = -1; var22 < 4; ++var22) +// { +// var23 = var30 + (var21 - 1) * var31; +// var24 = var16 + var22; +// var25 = var17 + (var21 - 1) * var19; +// par1World.notifyBlocksOfNeighborChange(var23, var24, var25, par1World.getBlockId(var23, var24, var25)); +// } +// } +// } +// +// return true; } } diff --git a/src/minecraft/net/minecraft/src/TileEntity.java b/src/minecraft/net/minecraft/src/TileEntity.java index d25f16b..b1ba803 100644 --- a/src/minecraft/net/minecraft/src/TileEntity.java +++ b/src/minecraft/net/minecraft/src/TileEntity.java @@ -69,9 +69,9 @@ public class TileEntity */ public void readFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xCoord = par1NBTTagCompound.getInteger("x"); + this.xCoord = par1NBTTagCompound.getBigInteger("x"); this.yCoord = par1NBTTagCompound.getInteger("y"); - this.zCoord = par1NBTTagCompound.getInteger("z"); + this.zCoord = par1NBTTagCompound.getBigInteger("z"); } /** @@ -88,9 +88,9 @@ public class TileEntity else { par1NBTTagCompound.setString("id", var2); - par1NBTTagCompound.setInteger("x", this.xCoord); + par1NBTTagCompound.setBigInteger("x", this.xCoord); par1NBTTagCompound.setInteger("y", this.yCoord); - par1NBTTagCompound.setInteger("z", this.zCoord); + par1NBTTagCompound.setBigInteger("z", this.zCoord); } } diff --git a/src/minecraft/net/minecraft/src/TileEntityMobSpawner.java b/src/minecraft/net/minecraft/src/TileEntityMobSpawner.java index d22247a..42e5c0c 100644 --- a/src/minecraft/net/minecraft/src/TileEntityMobSpawner.java +++ b/src/minecraft/net/minecraft/src/TileEntityMobSpawner.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Iterator; public class TileEntityMobSpawner extends TileEntity @@ -84,7 +85,7 @@ public class TileEntityMobSpawner extends TileEntity return; } - int var12 = this.worldObj.getEntitiesWithinAABB(var2.getClass(), AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)this.xCoord.doubleValue(), (double)this.yCoord, (double)this.zCoord.doubleValue(), (double)(this.xCoord + 1), (double)(this.yCoord + 1), (double)(this.zCoord + 1)).expand(8.0D, 4.0D, 8.0D)).size(); + int var12 = this.worldObj.getEntitiesWithinAABB(var2.getClass(), AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)this.xCoord.doubleValue(), (double)this.yCoord, (double)this.zCoord.doubleValue(), (double)(this.xCoord.add(BigInteger.ONE).doubleValue()), (double)(this.yCoord + 1), (double)(this.zCoord.add(BigInteger.ONE).doubleValue())).expand(8.0D, 4.0D, 8.0D)).size(); if (var12 >= 6) { diff --git a/src/minecraft/net/minecraft/src/TileEntityRendererPiston.java b/src/minecraft/net/minecraft/src/TileEntityRendererPiston.java index f44fa80..a0afb6b 100644 --- a/src/minecraft/net/minecraft/src/TileEntityRendererPiston.java +++ b/src/minecraft/net/minecraft/src/TileEntityRendererPiston.java @@ -36,19 +36,19 @@ public class TileEntityRendererPiston extends TileEntitySpecialRenderer if (var9 == Block.pistonExtension && par1TileEntityPiston.getProgress(par8) < 0.5F) { - this.blockRenderer.renderPistonExtensionAllFaces(var9, par1TileEntityPiston.xCoord.intValue(), par1TileEntityPiston.yCoord, par1TileEntityPiston.zCoord.intValue(), false); + this.blockRenderer.renderPistonExtensionAllFaces(var9, par1TileEntityPiston.xCoord, par1TileEntityPiston.yCoord, par1TileEntityPiston.zCoord, false); } else if (par1TileEntityPiston.shouldRenderHead() && !par1TileEntityPiston.isExtending()) { Block.pistonExtension.setHeadTexture(((BlockPistonBase)var9).getPistonExtensionTexture()); - this.blockRenderer.renderPistonExtensionAllFaces(Block.pistonExtension, par1TileEntityPiston.xCoord.intValue(), par1TileEntityPiston.yCoord, par1TileEntityPiston.zCoord.intValue(), par1TileEntityPiston.getProgress(par8) < 0.5F); + this.blockRenderer.renderPistonExtensionAllFaces(Block.pistonExtension, par1TileEntityPiston.xCoord, par1TileEntityPiston.yCoord, par1TileEntityPiston.zCoord, par1TileEntityPiston.getProgress(par8) < 0.5F); Block.pistonExtension.clearHeadTexture(); var10.setTranslation((double)((float)par2 - (float)par1TileEntityPiston.xCoord.floatValue()), (double)((float)par4 - (float)par1TileEntityPiston.yCoord), (double)((float)par6 - (float)par1TileEntityPiston.zCoord.floatValue())); - this.blockRenderer.renderPistonBaseAllFaces(var9, par1TileEntityPiston.xCoord.intValue(), par1TileEntityPiston.yCoord, par1TileEntityPiston.zCoord.intValue()); + this.blockRenderer.renderPistonBaseAllFaces(var9, par1TileEntityPiston.xCoord, par1TileEntityPiston.yCoord, par1TileEntityPiston.zCoord); } else { - this.blockRenderer.renderBlockAllFaces(var9, par1TileEntityPiston.xCoord.intValue(), par1TileEntityPiston.yCoord, par1TileEntityPiston.zCoord.intValue()); + this.blockRenderer.renderBlockAllFaces(var9, par1TileEntityPiston.xCoord, par1TileEntityPiston.yCoord, par1TileEntityPiston.zCoord); } var10.setTranslation(0.0D, 0.0D, 0.0D); diff --git a/src/minecraft/net/minecraft/src/World.java b/src/minecraft/net/minecraft/src/World.java index db39c0d..3bbfe8e 100644 --- a/src/minecraft/net/minecraft/src/World.java +++ b/src/minecraft/net/minecraft/src/World.java @@ -252,6 +252,7 @@ public abstract class World implements IBlockAccess */ public int getBlockId(BigInteger par1, int par2, BigInteger par3) { + if(par2 > 256 || par2 < 0) return 0; return this.getChunkFromChunkCoords(par1.shiftRight(4), par3.shiftRight(4)).getBlockID(par1.intValue() & 0xF, par2, par3.intValue() & 0xF); } @@ -1407,9 +1408,9 @@ public abstract class World implements IBlockAccess BigInteger var6 = MathHelper.floor_double_BigInteger(par1AxisAlignedBB.minZ); BigInteger var7 = MathHelper.floor_double_BigInteger(par1AxisAlignedBB.maxZ + 1.0D); - for (BigInteger var8 = var2; var8.compareTo(var3) == -1; var8 = var8.add(BigInteger.ONE)) + for (BigInteger var8 = var2; var8.compareTo(var3) <= 0; var8 = var8.add(BigInteger.ONE)) { - for (BigInteger var9 = var6; var9.compareTo(var7) == -1; var9 = var9.add(BigInteger.ONE)) + for (BigInteger var9 = var6; var9.compareTo(var7) <= 0; var9 = var9.add(BigInteger.ONE)) { if (this.blockExists(var8, 64, var9)) { @@ -1686,7 +1687,7 @@ public abstract class World implements IBlockAccess /** * Schedules a block update from the saved information in a chunk. Called when the chunk is loaded. */ - public void scheduleBlockUpdateFromLoad(int par1, int par2, int par3, int par4, int par5) {} + public void scheduleBlockUpdateFromLoad(BigInteger par1, int par2, BigInteger par3, int par4, int par5) {} /** * Updates (and cleans up) entities and tile entities @@ -3243,7 +3244,7 @@ public abstract class World implements IBlockAccess for (BigInteger var8 = var3; var8.compareTo(var4) <= 0; var8 = var8.add(BigInteger.ONE)) { - for (BigInteger var9 = var5; var8.compareTo(var6) <= 0; var9 = var9.add(BigInteger.ONE)) + for (BigInteger var9 = var5; var9.compareTo(var6) <= 0; var9 = var9.add(BigInteger.ONE)) { if (this.chunkExists(var8, var9)) { @@ -3374,35 +3375,37 @@ public abstract class World implements IBlockAccess public PathEntity getPathEntityToEntity(Entity par1Entity, Entity par2Entity, float par3, boolean par4, boolean par5, boolean par6, boolean par7) { this.theProfiler.startSection("pathfind"); - int var8 = MathHelper.floor_double(par1Entity.posX); + BigInteger var8 = MathHelper.floor_double_BigInteger(par1Entity.posX); int var9 = MathHelper.floor_double(par1Entity.posY + 1.0D); - int var10 = MathHelper.floor_double(par1Entity.posZ); + BigInteger var10 = MathHelper.floor_double_BigInteger(par1Entity.posZ); int var11 = (int)(par3 + 16.0F); - int var12 = var8 - var11; + BigInteger range = BigInteger.valueOf(var11); + BigInteger var12 = var8.subtract(range); int var13 = var9 - var11; - int var14 = var10 - var11; - int var15 = var8 + var11; + BigInteger var14 = var10.subtract(range); + BigInteger var15 = var8.add(range); int var16 = var9 + var11; - int var17 = var10 + var11; + BigInteger var17 = var10.add(range); ChunkCache var18 = new ChunkCache(this, var12, var13, var14, var15, var16, var17); PathEntity var19 = (new PathFinder(var18, par4, par5, par6, par7)).createEntityPathTo(par1Entity, par2Entity, par3); this.theProfiler.endSection(); return var19; } - public PathEntity getEntityPathToXYZ(Entity par1Entity, int par2, int par3, int par4, float par5, boolean par6, boolean par7, boolean par8, boolean par9) + public PathEntity getEntityPathToXYZ(Entity par1Entity, BigInteger par2, int par3, BigInteger par4, float par5, boolean par6, boolean par7, boolean par8, boolean par9) { this.theProfiler.startSection("pathfind"); - int var10 = MathHelper.floor_double(par1Entity.posX); + BigInteger var10 = MathHelper.floor_double_BigInteger(par1Entity.posX); int var11 = MathHelper.floor_double(par1Entity.posY); - int var12 = MathHelper.floor_double(par1Entity.posZ); + BigInteger var12 = MathHelper.floor_double_BigInteger(par1Entity.posZ); int var13 = (int)(par5 + 8.0F); - int var14 = var10 - var13; + BigInteger range = BigInteger.valueOf(var13); + BigInteger var14 = var10.subtract(range); int var15 = var11 - var13; - int var16 = var12 - var13; - int var17 = var10 + var13; + BigInteger var16 = var12.subtract(range); + BigInteger var17 = var10.add(range); int var18 = var11 + var13; - int var19 = var12 + var13; + BigInteger var19 = var12.add(range); ChunkCache var20 = new ChunkCache(this, var14, var15, var16, var17, var18, var19); PathEntity var21 = (new PathFinder(var20, par6, par7, par8, par9)).createEntityPathTo(par1Entity, par2, par3, par4, par5); this.theProfiler.endSection(); diff --git a/src/minecraft/net/minecraft/src/WorldGenBigMushroom.java b/src/minecraft/net/minecraft/src/WorldGenBigMushroom.java index 5fc6d02..6a04933 100644 --- a/src/minecraft/net/minecraft/src/WorldGenBigMushroom.java +++ b/src/minecraft/net/minecraft/src/WorldGenBigMushroom.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenBigMushroom extends WorldGenerator @@ -18,7 +19,7 @@ public class WorldGenBigMushroom extends WorldGenerator super(false); } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { int var6 = par2Random.nextInt(2); @@ -46,13 +47,13 @@ public class WorldGenBigMushroom extends WorldGenerator var10 = 0; } - for (var11 = par3 - var10; var11 <= par3 + var10 && var8; ++var11) + for (var11 = - var10; var11 <= + var10 && var8; ++var11) { - for (var12 = par5 - var10; var12 <= par5 + var10 && var8; ++var12) + for (var12 = - var10; var12 <= + var10 && var8; ++var12) { if (var9 >= 0 && var9 < 256) { - var13 = par1World.getBlockId(var11, var9, var12); + var13 = par1World.getBlockId(BigInteger.valueOf(var11).add(par3), var9, BigInteger.valueOf(var12).add(par5)); if (var13 != 0 && var13 != Block.leaves.blockID) { @@ -102,75 +103,75 @@ public class WorldGenBigMushroom extends WorldGenerator var12 = 3; } - for (var13 = par3 - var12; var13 <= par3 + var12; ++var13) + for (var13 = - var12; var13 <= + var12; ++var13) { - for (int var14 = par5 - var12; var14 <= par5 + var12; ++var14) + for (int var14 = - var12; var14 <= + var12; ++var14) { int var15 = 5; - if (var13 == par3 - var12) + if (var13 == - var12) { --var15; } - if (var13 == par3 + var12) + if (var13 == + var12) { ++var15; } - if (var14 == par5 - var12) + if (var14 == - var12) { var15 -= 3; } - if (var14 == par5 + var12) + if (var14 == + var12) { var15 += 3; } if (var6 == 0 || var11 < par4 + var7) { - if ((var13 == par3 - var12 || var13 == par3 + var12) && (var14 == par5 - var12 || var14 == par5 + var12)) + if ((var13 == - var12 || var13 == + var12) && (var14 == - var12 || var14 == + var12)) { continue; } - if (var13 == par3 - (var12 - 1) && var14 == par5 - var12) + if (var13 == - (var12 - 1) && var14 == - var12) { var15 = 1; } - if (var13 == par3 - var12 && var14 == par5 - (var12 - 1)) + if (var13 == - var12 && var14 == - (var12 - 1)) { var15 = 1; } - if (var13 == par3 + (var12 - 1) && var14 == par5 - var12) + if (var13 == + (var12 - 1) && var14 == - var12) { var15 = 3; } - if (var13 == par3 + var12 && var14 == par5 - (var12 - 1)) + if (var13 == + var12 && var14 == - (var12 - 1)) { var15 = 3; } - if (var13 == par3 - (var12 - 1) && var14 == par5 + var12) + if (var13 == - (var12 - 1) && var14 == + var12) { var15 = 7; } - if (var13 == par3 - var12 && var14 == par5 + (var12 - 1)) + if (var13 == - var12 && var14 == + (var12 - 1)) { var15 = 7; } - if (var13 == par3 + (var12 - 1) && var14 == par5 + var12) + if (var13 == + (var12 - 1) && var14 == + var12) { var15 = 9; } - if (var13 == par3 + var12 && var14 == par5 + (var12 - 1)) + if (var13 == + var12 && var14 == + (var12 - 1)) { var15 = 9; } @@ -181,9 +182,12 @@ public class WorldGenBigMushroom extends WorldGenerator var15 = 0; } - if ((var15 != 0 || par4 >= par4 + var7 - 1) && !Block.opaqueCubeLookup[par1World.getBlockId(var13, var11, var14)]) + BigInteger x = BigInteger.valueOf(var13).add(par3), + z = BigInteger.valueOf(var14).add(par5); + + if ((var15 != 0 || par4 >= par4 + var7 - 1) && !Block.opaqueCubeLookup[par1World.getBlockId(x, var11, z)]) { - this.setBlockAndMetadata(par1World, var13, var11, var14, Block.mushroomCapBrown.blockID + var6, var15); + this.setBlockAndMetadata(par1World, x, var11, z, Block.mushroomCapBrown.blockID + var6, var15); } } } diff --git a/src/minecraft/net/minecraft/src/WorldGenBigTree.java b/src/minecraft/net/minecraft/src/WorldGenBigTree.java index 340cca9..f2a4972 100644 --- a/src/minecraft/net/minecraft/src/WorldGenBigTree.java +++ b/src/minecraft/net/minecraft/src/WorldGenBigTree.java @@ -1,509 +1,513 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; +// Fuck you Mojang 傻逼Mojang你妈死了操你妈弱智 +// TODO public class WorldGenBigTree extends WorldGenerator { - /** - * Contains three sets of two values that provide complimentary indices for a given 'major' index - 1 and 2 for 0, 0 - * and 2 for 1, and 0 and 1 for 2. - */ - static final byte[] otherCoordPairs = new byte[] {(byte)2, (byte)0, (byte)0, (byte)1, (byte)2, (byte)1}; - - /** random seed for GenBigTree */ - Random rand = new Random(); - - /** Reference to the World object. */ - World worldObj; - int[] basePos = new int[] {0, 0, 0}; - int heightLimit = 0; - int height; - double heightAttenuation = 0.618D; - double branchDensity = 1.0D; - double branchSlope = 0.381D; - double scaleWidth = 1.0D; - double leafDensity = 1.0D; - - /** - * Currently always 1, can be set to 2 in the class constructor to generate a double-sized tree trunk for big trees. - */ - int trunkSize = 1; - - /** - * Sets the limit of the random value used to initialize the height limit. - */ - int heightLimitLimit = 12; - - /** - * Sets the distance limit for how far away the generator will populate leaves from the base leaf node. - */ - int leafDistanceLimit = 4; - - /** Contains a list of a points at which to generate groups of leaves. */ - int[][] leafNodes; - +// /** +// * Contains three sets of two values that provide complimentary indices for a given 'major' index - 1 and 2 for 0, 0 +// * and 2 for 1, and 0 and 1 for 2. +// */ +// static final byte[] otherCoordPairs = new byte[] {(byte)2, (byte)0, (byte)0, (byte)1, (byte)2, (byte)1}; +// +// /** random seed for GenBigTree */ +// Random rand = new Random(); +// +// /** Reference to the World object. */ +// World worldObj; +// int[] basePos = new int[] {0, 0, 0}; +// int heightLimit = 0; +// int height; +// double heightAttenuation = 0.618D; +// double branchDensity = 1.0D; +// double branchSlope = 0.381D; +// double scaleWidth = 1.0D; +// double leafDensity = 1.0D; +// +// /** +// * Currently always 1, can be set to 2 in the class constructor to generate a double-sized tree trunk for big trees. +// */ +// int trunkSize = 1; +// +// /** +// * Sets the limit of the random value used to initialize the height limit. +// */ +// int heightLimitLimit = 12; +// +// /** +// * Sets the distance limit for how far away the generator will populate leaves from the base leaf node. +// */ +// int leafDistanceLimit = 4; +// +// /** Contains a list of a points at which to generate groups of leaves. */ +// int[][] leafNodes; +// public WorldGenBigTree(boolean par1) { super(par1); } - - /** - * Generates a list of leaf nodes for the tree, to be populated by generateLeaves. - */ - void generateLeafNodeList() - { - this.height = (int)((double)this.heightLimit * this.heightAttenuation); - - if (this.height >= this.heightLimit) - { - this.height = this.heightLimit - 1; - } - - int var1 = (int)(1.382D + Math.pow(this.leafDensity * (double)this.heightLimit / 13.0D, 2.0D)); - - if (var1 < 1) - { - var1 = 1; - } - - int[][] var2 = new int[var1 * this.heightLimit][4]; - int var3 = this.basePos[1] + this.heightLimit - this.leafDistanceLimit; - int var4 = 1; - int var5 = this.basePos[1] + this.height; - int var6 = var3 - this.basePos[1]; - var2[0][0] = this.basePos[0]; - var2[0][1] = var3; - var2[0][2] = this.basePos[2]; - var2[0][3] = var5; - --var3; - - while (var6 >= 0) - { - int var7 = 0; - float var8 = this.layerSize(var6); - - if (var8 < 0.0F) - { - --var3; - --var6; - } - else - { - for (double var9 = 0.5D; var7 < var1; ++var7) - { - double var11 = this.scaleWidth * (double)var8 * ((double)this.rand.nextFloat() + 0.328D); - double var13 = (double)this.rand.nextFloat() * 2.0D * Math.PI; - int var15 = MathHelper.floor_double(var11 * Math.sin(var13) + (double)this.basePos[0] + var9); - int var16 = MathHelper.floor_double(var11 * Math.cos(var13) + (double)this.basePos[2] + var9); - int[] var17 = new int[] {var15, var3, var16}; - int[] var18 = new int[] {var15, var3 + this.leafDistanceLimit, var16}; - - if (this.checkBlockLine(var17, var18) == -1) - { - int[] var19 = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; - double var20 = Math.sqrt(Math.pow((double)Math.abs(this.basePos[0] - var17[0]), 2.0D) + Math.pow((double)Math.abs(this.basePos[2] - var17[2]), 2.0D)); - double var22 = var20 * this.branchSlope; - - if ((double)var17[1] - var22 > (double)var5) - { - var19[1] = var5; - } - else - { - var19[1] = (int)((double)var17[1] - var22); - } - - if (this.checkBlockLine(var19, var17) == -1) - { - var2[var4][0] = var15; - var2[var4][1] = var3; - var2[var4][2] = var16; - var2[var4][3] = var19[1]; - ++var4; - } - } - } - - --var3; - --var6; - } - } - - this.leafNodes = new int[var4][4]; - System.arraycopy(var2, 0, this.leafNodes, 0, var4); - } - - void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, int par6) - { - int var7 = (int)((double)par4 + 0.618D); - byte var8 = otherCoordPairs[par5]; - byte var9 = otherCoordPairs[par5 + 3]; - int[] var10 = new int[] {par1, par2, par3}; - int[] var11 = new int[] {0, 0, 0}; - int var12 = -var7; - int var13 = -var7; - - for (var11[par5] = var10[par5]; var12 <= var7; ++var12) - { - var11[var8] = var10[var8] + var12; - var13 = -var7; - - while (var13 <= var7) - { - double var15 = Math.pow((double)Math.abs(var12) + 0.5D, 2.0D) + Math.pow((double)Math.abs(var13) + 0.5D, 2.0D); - - if (var15 > (double)(par4 * par4)) - { - ++var13; - } - else - { - var11[var9] = var10[var9] + var13; - int var14 = this.worldObj.getBlockId(var11[0], var11[1], var11[2]); - - if (var14 != 0 && var14 != Block.leaves.blockID) - { - ++var13; - } - else - { - this.setBlockAndMetadata(this.worldObj, var11[0], var11[1], var11[2], par6, 0); - ++var13; - } - } - } - } - } - - /** - * Gets the rough size of a layer of the tree. - */ - float layerSize(int par1) - { - if ((double)par1 < (double)((float)this.heightLimit) * 0.3D) - { - return -1.618F; - } - else - { - float var2 = (float)this.heightLimit / 2.0F; - float var3 = (float)this.heightLimit / 2.0F - (float)par1; - float var4; - - if (var3 == 0.0F) - { - var4 = var2; - } - else if (Math.abs(var3) >= var2) - { - var4 = 0.0F; - } - else - { - var4 = (float)Math.sqrt(Math.pow((double)Math.abs(var2), 2.0D) - Math.pow((double)Math.abs(var3), 2.0D)); - } - - var4 *= 0.5F; - return var4; - } - } - - float leafSize(int par1) +// +// /** +// * Generates a list of leaf nodes for the tree, to be populated by generateLeaves. +// */ +// void generateLeafNodeList() +// { +// this.height = (int)((double)this.heightLimit * this.heightAttenuation); +// +// if (this.height >= this.heightLimit) +// { +// this.height = this.heightLimit - 1; +// } +// +// int var1 = (int)(1.382D + Math.pow(this.leafDensity * (double)this.heightLimit / 13.0D, 2.0D)); +// +// if (var1 < 1) +// { +// var1 = 1; +// } +// +// int[][] var2 = new int[var1 * this.heightLimit][4]; +// int var3 = this.basePos[1] + this.heightLimit - this.leafDistanceLimit; +// int var4 = 1; +// int var5 = this.basePos[1] + this.height; +// int var6 = var3 - this.basePos[1]; +// var2[0][0] = this.basePos[0]; +// var2[0][1] = var3; +// var2[0][2] = this.basePos[2]; +// var2[0][3] = var5; +// --var3; +// +// while (var6 >= 0) +// { +// int var7 = 0; +// float var8 = this.layerSize(var6); +// +// if (var8 < 0.0F) +// { +// --var3; +// --var6; +// } +// else +// { +// for (double var9 = 0.5D; var7 < var1; ++var7) +// { +// double var11 = this.scaleWidth * (double)var8 * ((double)this.rand.nextFloat() + 0.328D); +// double var13 = (double)this.rand.nextFloat() * 2.0D * Math.PI; +// int var15 = MathHelper.floor_double(var11 * Math.sin(var13) + (double)this.basePos[0] + var9); +// int var16 = MathHelper.floor_double(var11 * Math.cos(var13) + (double)this.basePos[2] + var9); +// int[] var17 = new int[] {var15, var3, var16}; +// int[] var18 = new int[] {var15, var3 + this.leafDistanceLimit, var16}; +// +// if (this.checkBlockLine(var17, var18) == -1) +// { +// int[] var19 = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; +// double var20 = Math.sqrt(Math.pow((double)Math.abs(this.basePos[0] - var17[0]), 2.0D) + Math.pow((double)Math.abs(this.basePos[2] - var17[2]), 2.0D)); +// double var22 = var20 * this.branchSlope; +// +// if ((double)var17[1] - var22 > (double)var5) +// { +// var19[1] = var5; +// } +// else +// { +// var19[1] = (int)((double)var17[1] - var22); +// } +// +// if (this.checkBlockLine(var19, var17) == -1) +// { +// var2[var4][0] = var15; +// var2[var4][1] = var3; +// var2[var4][2] = var16; +// var2[var4][3] = var19[1]; +// ++var4; +// } +// } +// } +// +// --var3; +// --var6; +// } +// } +// +// this.leafNodes = new int[var4][4]; +// System.arraycopy(var2, 0, this.leafNodes, 0, var4); +// } +// +// void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, int par6) +// { +// int var7 = (int)((double)par4 + 0.618D); +// byte var8 = otherCoordPairs[par5]; +// byte var9 = otherCoordPairs[par5 + 3]; +// int[] var10 = new int[] {par1, par2, par3}; +// int[] var11 = new int[] {0, 0, 0}; +// int var12 = -var7; +// int var13 = -var7; +// +// for (var11[par5] = var10[par5]; var12 <= var7; ++var12) +// { +// var11[var8] = var10[var8] + var12; +// var13 = -var7; +// +// while (var13 <= var7) +// { +// double var15 = Math.pow((double)Math.abs(var12) + 0.5D, 2.0D) + Math.pow((double)Math.abs(var13) + 0.5D, 2.0D); +// +// if (var15 > (double)(par4 * par4)) +// { +// ++var13; +// } +// else +// { +// var11[var9] = var10[var9] + var13; +// int var14 = this.worldObj.getBlockId(var11[0], var11[1], var11[2]); +// +// if (var14 != 0 && var14 != Block.leaves.blockID) +// { +// ++var13; +// } +// else +// { +// this.setBlockAndMetadata(this.worldObj, var11[0], var11[1], var11[2], par6, 0); +// ++var13; +// } +// } +// } +// } +// } +// +// /** +// * Gets the rough size of a layer of the tree. +// */ +// float layerSize(int par1) +// { +// if ((double)par1 < (double)((float)this.heightLimit) * 0.3D) +// { +// return -1.618F; +// } +// else +// { +// float var2 = (float)this.heightLimit / 2.0F; +// float var3 = (float)this.heightLimit / 2.0F - (float)par1; +// float var4; +// +// if (var3 == 0.0F) +// { +// var4 = var2; +// } +// else if (Math.abs(var3) >= var2) +// { +// var4 = 0.0F; +// } +// else +// { +// var4 = (float)Math.sqrt(Math.pow((double)Math.abs(var2), 2.0D) - Math.pow((double)Math.abs(var3), 2.0D)); +// } +// +// var4 *= 0.5F; +// return var4; +// } +// } +// +// float leafSize(int par1) +// { +// return par1 >= 0 && par1 < this.leafDistanceLimit ? (par1 != 0 && par1 != this.leafDistanceLimit - 1 ? 3.0F : 2.0F) : -1.0F; +// } +// +// /** +// * Generates the leaves surrounding an individual entry in the leafNodes list. +// */ +// void generateLeafNode(int par1, int par2, int par3) +// { +// int var4 = par2; +// +// for (int var5 = par2 + this.leafDistanceLimit; var4 < var5; ++var4) +// { +// float var6 = this.leafSize(var4 - par2); +// this.genTreeLayer(par1, var4, par3, var6, (byte)1, Block.leaves.blockID); +// } +// } +// +// /** +// * Places a line of the specified block ID into the world from the first coordinate triplet to the second. +// */ +// void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int par3) +// { +// int[] var4 = new int[] {0, 0, 0}; +// byte var5 = 0; +// byte var6; +// +// for (var6 = 0; var5 < 3; ++var5) +// { +// var4[var5] = par2ArrayOfInteger[var5] - par1ArrayOfInteger[var5]; +// +// if (Math.abs(var4[var5]) > Math.abs(var4[var6])) +// { +// var6 = var5; +// } +// } +// +// if (var4[var6] != 0) +// { +// byte var7 = otherCoordPairs[var6]; +// byte var8 = otherCoordPairs[var6 + 3]; +// byte var9; +// +// if (var4[var6] > 0) +// { +// var9 = 1; +// } +// else +// { +// var9 = -1; +// } +// +// double var10 = (double)var4[var7] / (double)var4[var6]; +// double var12 = (double)var4[var8] / (double)var4[var6]; +// int[] var14 = new int[] {0, 0, 0}; +// int var15 = 0; +// +// for (int var16 = var4[var6] + var9; var15 != var16; var15 += var9) +// { +// var14[var6] = MathHelper.floor_double((double)(par1ArrayOfInteger[var6] + var15) + 0.5D); +// var14[var7] = MathHelper.floor_double((double)par1ArrayOfInteger[var7] + (double)var15 * var10 + 0.5D); +// var14[var8] = MathHelper.floor_double((double)par1ArrayOfInteger[var8] + (double)var15 * var12 + 0.5D); +// byte var17 = 0; +// int var18 = Math.abs(var14[0] - par1ArrayOfInteger[0]); +// int var19 = Math.abs(var14[2] - par1ArrayOfInteger[2]); +// int var20 = Math.max(var18, var19); +// +// if (var20 > 0) +// { +// if (var18 == var20) +// { +// var17 = 4; +// } +// else if (var19 == var20) +// { +// var17 = 8; +// } +// } +// +// this.setBlockAndMetadata(this.worldObj, var14[0], var14[1], var14[2], par3, var17); +// } +// } +// } +// +// /** +// * Generates the leaf portion of the tree as specified by the leafNodes list. +// */ +// void generateLeaves() +// { +// int var1 = 0; +// +// for (int var2 = this.leafNodes.length; var1 < var2; ++var1) +// { +// int var3 = this.leafNodes[var1][0]; +// int var4 = this.leafNodes[var1][1]; +// int var5 = this.leafNodes[var1][2]; +// this.generateLeafNode(var3, var4, var5); +// } +// } +// +// /** +// * Indicates whether or not a leaf node requires additional wood to be added to preserve integrity. +// */ +// boolean leafNodeNeedsBase(int par1) +// { +// return (double)par1 >= (double)this.heightLimit * 0.2D; +// } +// +// /** +// * Places the trunk for the big tree that is being generated. Able to generate double-sized trunks by changing a +// * field that is always 1 to 2. +// */ +// void generateTrunk() +// { +// int var1 = this.basePos[0]; +// int var2 = this.basePos[1]; +// int var3 = this.basePos[1] + this.height; +// int var4 = this.basePos[2]; +// int[] var5 = new int[] {var1, var2, var4}; +// int[] var6 = new int[] {var1, var3, var4}; +// this.placeBlockLine(var5, var6, Block.wood.blockID); +// +// if (this.trunkSize == 2) +// { +// ++var5[0]; +// ++var6[0]; +// this.placeBlockLine(var5, var6, Block.wood.blockID); +// ++var5[2]; +// ++var6[2]; +// this.placeBlockLine(var5, var6, Block.wood.blockID); +// var5[0] += -1; +// var6[0] += -1; +// this.placeBlockLine(var5, var6, Block.wood.blockID); +// } +// } +// +// /** +// * Generates additional wood blocks to fill out the bases of different leaf nodes that would otherwise degrade. +// */ +// void generateLeafNodeBases() +// { +// int var1 = 0; +// int var2 = this.leafNodes.length; +// +// for (int[] var3 = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; var1 < var2; ++var1) +// { +// int[] var4 = this.leafNodes[var1]; +// int[] var5 = new int[] {var4[0], var4[1], var4[2]}; +// var3[1] = var4[3]; +// int var6 = var3[1] - this.basePos[1]; +// +// if (this.leafNodeNeedsBase(var6)) +// { +// this.placeBlockLine(var3, var5, (byte)Block.wood.blockID); +// } +// } +// } +// +// /** +// * Checks a line of blocks in the world from the first coordinate to triplet to the second, returning the distance +// * (in blocks) before a non-air, non-leaf block is encountered and/or the end is encountered. +// */ +// int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) +// { +// int[] var3 = new int[] {0, 0, 0}; +// byte var4 = 0; +// byte var5; +// +// for (var5 = 0; var4 < 3; ++var4) +// { +// var3[var4] = par2ArrayOfInteger[var4] - par1ArrayOfInteger[var4]; +// +// if (Math.abs(var3[var4]) > Math.abs(var3[var5])) +// { +// var5 = var4; +// } +// } +// +// if (var3[var5] == 0) +// { +// return -1; +// } +// else +// { +// byte var6 = otherCoordPairs[var5]; +// byte var7 = otherCoordPairs[var5 + 3]; +// byte var8; +// +// if (var3[var5] > 0) +// { +// var8 = 1; +// } +// else +// { +// var8 = -1; +// } +// +// double var9 = (double)var3[var6] / (double)var3[var5]; +// double var11 = (double)var3[var7] / (double)var3[var5]; +// int[] var13 = new int[] {0, 0, 0}; +// int var14 = 0; +// int var15; +// +// for (var15 = var3[var5] + var8; var14 != var15; var14 += var8) +// { +// var13[var5] = par1ArrayOfInteger[var5] + var14; +// var13[var6] = MathHelper.floor_double((double)par1ArrayOfInteger[var6] + (double)var14 * var9); +// var13[var7] = MathHelper.floor_double((double)par1ArrayOfInteger[var7] + (double)var14 * var11); +// int var16 = this.worldObj.getBlockId(var13[0], var13[1], var13[2]); +// +// if (var16 != 0 && var16 != Block.leaves.blockID) +// { +// break; +// } +// } +// +// return var14 == var15 ? -1 : Math.abs(var14); +// } +// } +// +// /** +// * Returns a boolean indicating whether or not the current location for the tree, spanning basePos to to the height +// * limit, is valid. +// */ +// boolean validTreeLocation() +// { +// int[] var1 = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; +// int[] var2 = new int[] {this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; +// int var3 = this.worldObj.getBlockId(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); +// +// if (var3 != 2 && var3 != 3) +// { +// return false; +// } +// else +// { +// int var4 = this.checkBlockLine(var1, var2); +// +// if (var4 == -1) +// { +// return true; +// } +// else if (var4 < 6) +// { +// return false; +// } +// else +// { +// this.heightLimit = var4; +// return true; +// } +// } +// } +// +// /** +// * Rescales the generator settings, only used in WorldGenBigTree +// */ +// public void setScale(double par1, double par3, double par5) +// { +// this.heightLimitLimit = (int)(par1 * 12.0D); +// +// if (par1 > 0.5D) +// { +// this.leafDistanceLimit = 5; +// } +// +// this.scaleWidth = par3; +// this.leafDensity = par5; +// } + + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { - return par1 >= 0 && par1 < this.leafDistanceLimit ? (par1 != 0 && par1 != this.leafDistanceLimit - 1 ? 3.0F : 2.0F) : -1.0F; - } - - /** - * Generates the leaves surrounding an individual entry in the leafNodes list. - */ - void generateLeafNode(int par1, int par2, int par3) - { - int var4 = par2; - - for (int var5 = par2 + this.leafDistanceLimit; var4 < var5; ++var4) - { - float var6 = this.leafSize(var4 - par2); - this.genTreeLayer(par1, var4, par3, var6, (byte)1, Block.leaves.blockID); - } - } - - /** - * Places a line of the specified block ID into the world from the first coordinate triplet to the second. - */ - void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int par3) - { - int[] var4 = new int[] {0, 0, 0}; - byte var5 = 0; - byte var6; - - for (var6 = 0; var5 < 3; ++var5) - { - var4[var5] = par2ArrayOfInteger[var5] - par1ArrayOfInteger[var5]; - - if (Math.abs(var4[var5]) > Math.abs(var4[var6])) - { - var6 = var5; - } - } - - if (var4[var6] != 0) - { - byte var7 = otherCoordPairs[var6]; - byte var8 = otherCoordPairs[var6 + 3]; - byte var9; - - if (var4[var6] > 0) - { - var9 = 1; - } - else - { - var9 = -1; - } - - double var10 = (double)var4[var7] / (double)var4[var6]; - double var12 = (double)var4[var8] / (double)var4[var6]; - int[] var14 = new int[] {0, 0, 0}; - int var15 = 0; - - for (int var16 = var4[var6] + var9; var15 != var16; var15 += var9) - { - var14[var6] = MathHelper.floor_double((double)(par1ArrayOfInteger[var6] + var15) + 0.5D); - var14[var7] = MathHelper.floor_double((double)par1ArrayOfInteger[var7] + (double)var15 * var10 + 0.5D); - var14[var8] = MathHelper.floor_double((double)par1ArrayOfInteger[var8] + (double)var15 * var12 + 0.5D); - byte var17 = 0; - int var18 = Math.abs(var14[0] - par1ArrayOfInteger[0]); - int var19 = Math.abs(var14[2] - par1ArrayOfInteger[2]); - int var20 = Math.max(var18, var19); - - if (var20 > 0) - { - if (var18 == var20) - { - var17 = 4; - } - else if (var19 == var20) - { - var17 = 8; - } - } - - this.setBlockAndMetadata(this.worldObj, var14[0], var14[1], var14[2], par3, var17); - } - } - } - - /** - * Generates the leaf portion of the tree as specified by the leafNodes list. - */ - void generateLeaves() - { - int var1 = 0; - - for (int var2 = this.leafNodes.length; var1 < var2; ++var1) - { - int var3 = this.leafNodes[var1][0]; - int var4 = this.leafNodes[var1][1]; - int var5 = this.leafNodes[var1][2]; - this.generateLeafNode(var3, var4, var5); - } - } - - /** - * Indicates whether or not a leaf node requires additional wood to be added to preserve integrity. - */ - boolean leafNodeNeedsBase(int par1) - { - return (double)par1 >= (double)this.heightLimit * 0.2D; - } - - /** - * Places the trunk for the big tree that is being generated. Able to generate double-sized trunks by changing a - * field that is always 1 to 2. - */ - void generateTrunk() - { - int var1 = this.basePos[0]; - int var2 = this.basePos[1]; - int var3 = this.basePos[1] + this.height; - int var4 = this.basePos[2]; - int[] var5 = new int[] {var1, var2, var4}; - int[] var6 = new int[] {var1, var3, var4}; - this.placeBlockLine(var5, var6, Block.wood.blockID); - - if (this.trunkSize == 2) - { - ++var5[0]; - ++var6[0]; - this.placeBlockLine(var5, var6, Block.wood.blockID); - ++var5[2]; - ++var6[2]; - this.placeBlockLine(var5, var6, Block.wood.blockID); - var5[0] += -1; - var6[0] += -1; - this.placeBlockLine(var5, var6, Block.wood.blockID); - } - } - - /** - * Generates additional wood blocks to fill out the bases of different leaf nodes that would otherwise degrade. - */ - void generateLeafNodeBases() - { - int var1 = 0; - int var2 = this.leafNodes.length; - - for (int[] var3 = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; var1 < var2; ++var1) - { - int[] var4 = this.leafNodes[var1]; - int[] var5 = new int[] {var4[0], var4[1], var4[2]}; - var3[1] = var4[3]; - int var6 = var3[1] - this.basePos[1]; - - if (this.leafNodeNeedsBase(var6)) - { - this.placeBlockLine(var3, var5, (byte)Block.wood.blockID); - } - } - } - - /** - * Checks a line of blocks in the world from the first coordinate to triplet to the second, returning the distance - * (in blocks) before a non-air, non-leaf block is encountered and/or the end is encountered. - */ - int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) - { - int[] var3 = new int[] {0, 0, 0}; - byte var4 = 0; - byte var5; - - for (var5 = 0; var4 < 3; ++var4) - { - var3[var4] = par2ArrayOfInteger[var4] - par1ArrayOfInteger[var4]; - - if (Math.abs(var3[var4]) > Math.abs(var3[var5])) - { - var5 = var4; - } - } - - if (var3[var5] == 0) - { - return -1; - } - else - { - byte var6 = otherCoordPairs[var5]; - byte var7 = otherCoordPairs[var5 + 3]; - byte var8; - - if (var3[var5] > 0) - { - var8 = 1; - } - else - { - var8 = -1; - } - - double var9 = (double)var3[var6] / (double)var3[var5]; - double var11 = (double)var3[var7] / (double)var3[var5]; - int[] var13 = new int[] {0, 0, 0}; - int var14 = 0; - int var15; - - for (var15 = var3[var5] + var8; var14 != var15; var14 += var8) - { - var13[var5] = par1ArrayOfInteger[var5] + var14; - var13[var6] = MathHelper.floor_double((double)par1ArrayOfInteger[var6] + (double)var14 * var9); - var13[var7] = MathHelper.floor_double((double)par1ArrayOfInteger[var7] + (double)var14 * var11); - int var16 = this.worldObj.getBlockId(var13[0], var13[1], var13[2]); - - if (var16 != 0 && var16 != Block.leaves.blockID) - { - break; - } - } - - return var14 == var15 ? -1 : Math.abs(var14); - } - } - - /** - * Returns a boolean indicating whether or not the current location for the tree, spanning basePos to to the height - * limit, is valid. - */ - boolean validTreeLocation() - { - int[] var1 = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; - int[] var2 = new int[] {this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; - int var3 = this.worldObj.getBlockId(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); - - if (var3 != 2 && var3 != 3) - { - return false; - } - else - { - int var4 = this.checkBlockLine(var1, var2); - - if (var4 == -1) - { - return true; - } - else if (var4 < 6) - { - return false; - } - else - { - this.heightLimit = var4; - return true; - } - } - } - - /** - * Rescales the generator settings, only used in WorldGenBigTree - */ - public void setScale(double par1, double par3, double par5) - { - this.heightLimitLimit = (int)(par1 * 12.0D); - - if (par1 > 0.5D) - { - this.leafDistanceLimit = 5; - } - - this.scaleWidth = par3; - this.leafDensity = par5; - } - - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) - { - this.worldObj = par1World; - long var6 = par2Random.nextLong(); - this.rand.setSeed(var6); - this.basePos[0] = par3; - this.basePos[1] = par4; - this.basePos[2] = par5; - - if (this.heightLimit == 0) - { - this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); - } - - if (!this.validTreeLocation()) - { - return false; - } - else - { - this.generateLeafNodeList(); - this.generateLeaves(); - this.generateTrunk(); - this.generateLeafNodeBases(); - return true; - } + return true; +// this.worldObj = par1World; +// long var6 = par2Random.nextLong(); +// this.rand.setSeed(var6); +// this.basePos[0] = par3; +// this.basePos[1] = par4; +// this.basePos[2] = par5; +// +// if (this.heightLimit == 0) +// { +// this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); +// } +// +// if (!this.validTreeLocation()) +// { +// return false; +// } +// else +// { +// this.generateLeafNodeList(); +// this.generateLeaves(); +// this.generateTrunk(); +// this.generateLeafNodeBases(); +// return true; +// } } } diff --git a/src/minecraft/net/minecraft/src/WorldGenClay.java b/src/minecraft/net/minecraft/src/WorldGenClay.java index ae99e0c..baff8b2 100644 --- a/src/minecraft/net/minecraft/src/WorldGenClay.java +++ b/src/minecraft/net/minecraft/src/WorldGenClay.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenClay extends WorldGenerator @@ -16,7 +17,7 @@ public class WorldGenClay extends WorldGenerator this.numberOfBlocks = par1; } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { if (par1World.getBlockMaterial(par3, par4, par5) != Material.water) { @@ -27,22 +28,24 @@ public class WorldGenClay extends WorldGenerator int var6 = par2Random.nextInt(this.numberOfBlocks - 2) + 2; byte var7 = 1; - for (int var8 = par3 - var6; var8 <= par3 + var6; ++var8) + for (int var8 = - var6; var8 <= + var6; ++var8) { - for (int var9 = par5 - var6; var9 <= par5 + var6; ++var9) + for (int var9 = - var6; var9 <= + var6; ++var9) { - int var10 = var8 - par3; - int var11 = var9 - par5; + int var10 = var8; + int var11 = var9; + BigInteger x = BigInteger.valueOf(var8).add(par3), + z = BigInteger.valueOf(var9).add(par5); if (var10 * var10 + var11 * var11 <= var6 * var6) { for (int var12 = par4 - var7; var12 <= par4 + var7; ++var12) { - int var13 = par1World.getBlockId(var8, var12, var9); + int var13 = par1World.getBlockId(x, var12, z); if (var13 == Block.dirt.blockID || var13 == Block.blockClay.blockID) { - par1World.setBlock(var8, var12, var9, this.clayBlockId); + par1World.setBlock(x, var12, z, this.clayBlockId); } } } diff --git a/src/minecraft/net/minecraft/src/WorldGenDesertWells.java b/src/minecraft/net/minecraft/src/WorldGenDesertWells.java index ca6ef38..73e66eb 100644 --- a/src/minecraft/net/minecraft/src/WorldGenDesertWells.java +++ b/src/minecraft/net/minecraft/src/WorldGenDesertWells.java @@ -1,10 +1,11 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenDesertWells extends WorldGenerator { - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { while (par1World.isAirBlock(par3, par4, par5) && par4 > 2) { @@ -26,7 +27,9 @@ public class WorldGenDesertWells extends WorldGenerator { for (var8 = -2; var8 <= 2; ++var8) { - if (par1World.isAirBlock(par3 + var7, par4 - 1, par5 + var8) && par1World.isAirBlock(par3 + var7, par4 - 2, par5 + var8)) + BigInteger x = BigInteger.valueOf(var7).add(par3), + z = BigInteger.valueOf(var8).add(par5); + if (par1World.isAirBlock(x, par4 - 1, z) && par1World.isAirBlock(x, par4 - 2, z)) { return false; } @@ -39,16 +42,18 @@ public class WorldGenDesertWells extends WorldGenerator { for (int var9 = -2; var9 <= 2; ++var9) { - par1World.setBlock(par3 + var8, par4 + var7, par5 + var9, Block.sandStone.blockID); + BigInteger x = BigInteger.valueOf(var8).add(par3), + z = BigInteger.valueOf(var9).add(par5); + par1World.setBlock(x, par4 + var7, z, Block.sandStone.blockID); } } } par1World.setBlock(par3, par4, par5, Block.waterMoving.blockID); - par1World.setBlock(par3 - 1, par4, par5, Block.waterMoving.blockID); - par1World.setBlock(par3 + 1, par4, par5, Block.waterMoving.blockID); - par1World.setBlock(par3, par4, par5 - 1, Block.waterMoving.blockID); - par1World.setBlock(par3, par4, par5 + 1, Block.waterMoving.blockID); + par1World.setBlock(par3.subtract(BigInteger.ONE), par4, par5, Block.waterMoving.blockID); + par1World.setBlock(par3.add(BigInteger.ONE), par4, par5, Block.waterMoving.blockID); + par1World.setBlock(par3, par4, par5.subtract(BigInteger.ONE), Block.waterMoving.blockID); + par1World.setBlock(par3, par4, par5.add(BigInteger.ONE), Block.waterMoving.blockID); for (var7 = -2; var7 <= 2; ++var7) { @@ -56,15 +61,15 @@ public class WorldGenDesertWells extends WorldGenerator { if (var7 == -2 || var7 == 2 || var8 == -2 || var8 == 2) { - par1World.setBlock(par3 + var7, par4 + 1, par5 + var8, Block.sandStone.blockID); + par1World.setBlock(par3.add(BigInteger.valueOf(var7)), par4 + 1, par5.add(BigInteger.valueOf(var8)), Block.sandStone.blockID); } } } - par1World.setBlockAndMetadata(par3 + 2, par4 + 1, par5, Block.stoneSingleSlab.blockID, 1); - par1World.setBlockAndMetadata(par3 - 2, par4 + 1, par5, Block.stoneSingleSlab.blockID, 1); - par1World.setBlockAndMetadata(par3, par4 + 1, par5 + 2, Block.stoneSingleSlab.blockID, 1); - par1World.setBlockAndMetadata(par3, par4 + 1, par5 - 2, Block.stoneSingleSlab.blockID, 1); + par1World.setBlockAndMetadata(par3.add(BigInteger.valueOf(2)), par4 + 1, par5, Block.stoneSingleSlab.blockID, 1); + par1World.setBlockAndMetadata(par3.subtract(BigInteger.valueOf(2)), par4 + 1, par5, Block.stoneSingleSlab.blockID, 1); + par1World.setBlockAndMetadata(par3, par4 + 1, par5.add(BigInteger.valueOf(2)), Block.stoneSingleSlab.blockID, 1); + par1World.setBlockAndMetadata(par3, par4 + 1, par5.subtract(BigInteger.valueOf(2)), Block.stoneSingleSlab.blockID, 1); for (var7 = -1; var7 <= 1; ++var7) { @@ -72,21 +77,21 @@ public class WorldGenDesertWells extends WorldGenerator { if (var7 == 0 && var8 == 0) { - par1World.setBlock(par3 + var7, par4 + 4, par5 + var8, Block.sandStone.blockID); + par1World.setBlock(par3.add(BigInteger.valueOf(var7)), par4 + 4, par5.add(BigInteger.valueOf(var8)), Block.sandStone.blockID); } else { - par1World.setBlockAndMetadata(par3 + var7, par4 + 4, par5 + var8, Block.stoneSingleSlab.blockID, 1); + par1World.setBlockAndMetadata(par3.add(BigInteger.valueOf(var7)), par4 + 4, par5.add(BigInteger.valueOf(var8)), Block.stoneSingleSlab.blockID, 1); } } } for (var7 = 1; var7 <= 3; ++var7) { - par1World.setBlock(par3 - 1, par4 + var7, par5 - 1, Block.sandStone.blockID); - par1World.setBlock(par3 - 1, par4 + var7, par5 + 1, Block.sandStone.blockID); - par1World.setBlock(par3 + 1, par4 + var7, par5 - 1, Block.sandStone.blockID); - par1World.setBlock(par3 + 1, par4 + var7, par5 + 1, Block.sandStone.blockID); + par1World.setBlock(par3.subtract(BigInteger.ONE), par4 + var7, par5.subtract(BigInteger.ONE), Block.sandStone.blockID); + par1World.setBlock(par3.subtract(BigInteger.ONE), par4 + var7, par5.add(BigInteger.ONE), Block.sandStone.blockID); + par1World.setBlock(par3.add(BigInteger.ONE), par4 + var7, par5.subtract(BigInteger.ONE), Block.sandStone.blockID); + par1World.setBlock(par3.add(BigInteger.ONE), par4 + var7, par5.add(BigInteger.ONE), Block.sandStone.blockID); } return true; diff --git a/src/minecraft/net/minecraft/src/WorldGenDungeons.java b/src/minecraft/net/minecraft/src/WorldGenDungeons.java index dd50d37..6c9b23d 100644 --- a/src/minecraft/net/minecraft/src/WorldGenDungeons.java +++ b/src/minecraft/net/minecraft/src/WorldGenDungeons.java @@ -7,160 +7,161 @@ public class WorldGenDungeons extends WorldGenerator { public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { - byte var6 = 3; - int var7 = par2Random.nextInt(2) + 2; - int var8 = par2Random.nextInt(2) + 2; - int var9 = 0; - int var10; - int var11; - int var12; - - for (var10 = par3 - var7 - 1; var10 <= par3 + var7 + 1; ++var10) - { - for (var11 = par4 - 1; var11 <= par4 + var6 + 1; ++var11) - { - for (var12 = par5 - var8 - 1; var12 <= par5 + var8 + 1; ++var12) - { - Material var13 = par1World.getBlockMaterial(var10, var11, var12); - - if (var11 == par4 - 1 && !var13.isSolid()) - { - return false; - } - - if (var11 == par4 + var6 + 1 && !var13.isSolid()) - { - return false; - } - - if ((var10 == par3 - var7 - 1 || var10 == par3 + var7 + 1 || var12 == par5 - var8 - 1 || var12 == par5 + var8 + 1) && var11 == par4 && par1World.isAirBlock(var10, var11, var12) && par1World.isAirBlock(var10, var11 + 1, var12)) - { - ++var9; - } - } - } - } - - if (var9 >= 1 && var9 <= 5) - { - for (var10 = par3 - var7 - 1; var10 <= par3 + var7 + 1; ++var10) - { - for (var11 = par4 + var6; var11 >= par4 - 1; --var11) - { - for (var12 = par5 - var8 - 1; var12 <= par5 + var8 + 1; ++var12) - { - if (var10 != par3 - var7 - 1 && var11 != par4 - 1 && var12 != par5 - var8 - 1 && var10 != par3 + var7 + 1 && var11 != par4 + var6 + 1 && var12 != par5 + var8 + 1) - { - par1World.setBlockWithNotify(var10, var11, var12, 0); - } - else if (var11 >= 0 && !par1World.getBlockMaterial(var10, var11 - 1, var12).isSolid()) - { - par1World.setBlockWithNotify(var10, var11, var12, 0); - } - else if (par1World.getBlockMaterial(var10, var11, var12).isSolid()) - { - if (var11 == par4 - 1 && par2Random.nextInt(4) != 0) - { - par1World.setBlockWithNotify(var10, var11, var12, Block.cobblestoneMossy.blockID); - } - else - { - par1World.setBlockWithNotify(var10, var11, var12, Block.cobblestone.blockID); - } - } - } - } - } - - var10 = 0; - - while (var10 < 2) - { - var11 = 0; - - while (true) - { - if (var11 < 3) - { - label113: - { - var12 = par3 + par2Random.nextInt(var7 * 2 + 1) - var7; - int var14 = par5 + par2Random.nextInt(var8 * 2 + 1) - var8; - - if (par1World.isAirBlock(var12, par4, var14)) - { - int var15 = 0; - - if (par1World.getBlockMaterial(var12 - 1, par4, var14).isSolid()) - { - ++var15; - } - - if (par1World.getBlockMaterial(var12 + 1, par4, var14).isSolid()) - { - ++var15; - } - - if (par1World.getBlockMaterial(var12, par4, var14 - 1).isSolid()) - { - ++var15; - } - - if (par1World.getBlockMaterial(var12, par4, var14 + 1).isSolid()) - { - ++var15; - } - - if (var15 == 1) - { - par1World.setBlockWithNotify(var12, par4, var14, Block.chest.blockID); - TileEntityChest var16 = (TileEntityChest)par1World.getBlockTileEntity(var12, par4, var14); - - if (var16 != null) - { - for (int var17 = 0; var17 < 8; ++var17) - { - ItemStack var18 = this.pickCheckLootItem(par2Random); - - if (var18 != null) - { - var16.setInventorySlotContents(par2Random.nextInt(var16.getSizeInventory()), var18); - } - } - } - - break label113; - } - } - - ++var11; - continue; - } - } - - ++var10; - break; - } - } - - par1World.setBlockWithNotify(par3, par4, par5, Block.mobSpawner.blockID); - TileEntityMobSpawner var19 = (TileEntityMobSpawner)par1World.getBlockTileEntity(par3, par4, par5); - - if (var19 != null) - { - var19.setMobID(this.pickMobSpawner(par2Random)); - } - else - { - System.err.println("Failed to fetch mob spawner entity at (" + par3 + ", " + par4 + ", " + par5 + ")"); - } - - return true; - } - else - { - return false; - } + return true; +// byte var6 = 3; +// int var7 = par2Random.nextInt(2) + 2; +// int var8 = par2Random.nextInt(2) + 2; +// int var9 = 0; +// int var10; +// int var11; +// int var12; +// +// for (var10 = par3 - var7 - 1; var10 <= par3 + var7 + 1; ++var10) +// { +// for (var11 = par4 - 1; var11 <= par4 + var6 + 1; ++var11) +// { +// for (var12 = par5 - var8 - 1; var12 <= par5 + var8 + 1; ++var12) +// { +// Material var13 = par1World.getBlockMaterial(var10, var11, var12); +// +// if (var11 == par4 - 1 && !var13.isSolid()) +// { +// return false; +// } +// +// if (var11 == par4 + var6 + 1 && !var13.isSolid()) +// { +// return false; +// } +// +// if ((var10 == par3 - var7 - 1 || var10 == par3 + var7 + 1 || var12 == par5 - var8 - 1 || var12 == par5 + var8 + 1) && var11 == par4 && par1World.isAirBlock(var10, var11, var12) && par1World.isAirBlock(var10, var11 + 1, var12)) +// { +// ++var9; +// } +// } +// } +// } +// +// if (var9 >= 1 && var9 <= 5) +// { +// for (var10 = par3 - var7 - 1; var10 <= par3 + var7 + 1; ++var10) +// { +// for (var11 = par4 + var6; var11 >= par4 - 1; --var11) +// { +// for (var12 = par5 - var8 - 1; var12 <= par5 + var8 + 1; ++var12) +// { +// if (var10 != par3 - var7 - 1 && var11 != par4 - 1 && var12 != par5 - var8 - 1 && var10 != par3 + var7 + 1 && var11 != par4 + var6 + 1 && var12 != par5 + var8 + 1) +// { +// par1World.setBlockWithNotify(var10, var11, var12, 0); +// } +// else if (var11 >= 0 && !par1World.getBlockMaterial(var10, var11 - 1, var12).isSolid()) +// { +// par1World.setBlockWithNotify(var10, var11, var12, 0); +// } +// else if (par1World.getBlockMaterial(var10, var11, var12).isSolid()) +// { +// if (var11 == par4 - 1 && par2Random.nextInt(4) != 0) +// { +// par1World.setBlockWithNotify(var10, var11, var12, Block.cobblestoneMossy.blockID); +// } +// else +// { +// par1World.setBlockWithNotify(var10, var11, var12, Block.cobblestone.blockID); +// } +// } +// } +// } +// } +// +// var10 = 0; +// +// while (var10 < 2) +// { +// var11 = 0; +// +// while (true) +// { +// if (var11 < 3) +// { +// label113: +// { +// var12 = par3 + par2Random.nextInt(var7 * 2 + 1) - var7; +// int var14 = par5 + par2Random.nextInt(var8 * 2 + 1) - var8; +// +// if (par1World.isAirBlock(var12, par4, var14)) +// { +// int var15 = 0; +// +// if (par1World.getBlockMaterial(var12 - 1, par4, var14).isSolid()) +// { +// ++var15; +// } +// +// if (par1World.getBlockMaterial(var12 + 1, par4, var14).isSolid()) +// { +// ++var15; +// } +// +// if (par1World.getBlockMaterial(var12, par4, var14 - 1).isSolid()) +// { +// ++var15; +// } +// +// if (par1World.getBlockMaterial(var12, par4, var14 + 1).isSolid()) +// { +// ++var15; +// } +// +// if (var15 == 1) +// { +// par1World.setBlockWithNotify(var12, par4, var14, Block.chest.blockID); +// TileEntityChest var16 = (TileEntityChest)par1World.getBlockTileEntity(var12, par4, var14); +// +// if (var16 != null) +// { +// for (int var17 = 0; var17 < 8; ++var17) +// { +// ItemStack var18 = this.pickCheckLootItem(par2Random); +// +// if (var18 != null) +// { +// var16.setInventorySlotContents(par2Random.nextInt(var16.getSizeInventory()), var18); +// } +// } +// } +// +// break label113; +// } +// } +// +// ++var11; +// continue; +// } +// } +// +// ++var10; +// break; +// } +// } +// +// par1World.setBlockWithNotify(par3, par4, par5, Block.mobSpawner.blockID); +// TileEntityMobSpawner var19 = (TileEntityMobSpawner)par1World.getBlockTileEntity(par3, par4, par5); +// +// if (var19 != null) +// { +// var19.setMobID(this.pickMobSpawner(par2Random)); +// } +// else +// { +// System.err.println("Failed to fetch mob spawner entity at (" + par3 + ", " + par4 + ", " + par5 + ")"); +// } +// +// return true; +// } +// else +// { +// return false; +// } } /** diff --git a/src/minecraft/net/minecraft/src/WorldGenFire.java b/src/minecraft/net/minecraft/src/WorldGenFire.java index f85f9e7..47a1b00 100644 --- a/src/minecraft/net/minecraft/src/WorldGenFire.java +++ b/src/minecraft/net/minecraft/src/WorldGenFire.java @@ -1,16 +1,17 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenFire extends WorldGenerator { - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { for (int var6 = 0; var6 < 64; ++var6) { - int var7 = par3 + par2Random.nextInt(8) - par2Random.nextInt(8); + BigInteger var7 = par3.add(BigInteger.valueOf(par2Random.nextInt(8) - par2Random.nextInt(8))); int var8 = par4 + par2Random.nextInt(4) - par2Random.nextInt(4); - int var9 = par5 + par2Random.nextInt(8) - par2Random.nextInt(8); + BigInteger var9 = par5.add(BigInteger.valueOf(par2Random.nextInt(8) - par2Random.nextInt(8))); if (par1World.isAirBlock(var7, var8, var9) && par1World.getBlockId(var7, var8 - 1, var9) == Block.netherrack.blockID) { diff --git a/src/minecraft/net/minecraft/src/WorldGenForest.java b/src/minecraft/net/minecraft/src/WorldGenForest.java index 4d48b2c..e69834c 100644 --- a/src/minecraft/net/minecraft/src/WorldGenForest.java +++ b/src/minecraft/net/minecraft/src/WorldGenForest.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenForest extends WorldGenerator @@ -9,7 +10,7 @@ public class WorldGenForest extends WorldGenerator super(par1); } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { int var6 = par2Random.nextInt(3) + 5; boolean var7 = true; @@ -35,13 +36,13 @@ public class WorldGenForest extends WorldGenerator var9 = 2; } - for (var10 = par3 - var9; var10 <= par3 + var9 && var7; ++var10) + for (var10 = - var9; var10 <= + var9 && var7; ++var10) { - for (var11 = par5 - var9; var11 <= par5 + var9 && var7; ++var11) + for (var11 = - var9; var11 <= + var9 && var7; ++var11) { if (var8 >= 0 && var8 < 256) { - var12 = par1World.getBlockId(var10, var8, var11); + var12 = par1World.getBlockId(BigInteger.valueOf(var10).add(par3), var8, BigInteger.valueOf(var11).add(par5)); if (var12 != 0 && var12 != Block.leaves.blockID) { @@ -74,17 +75,19 @@ public class WorldGenForest extends WorldGenerator var10 = var16 - (par4 + var6); var11 = 1 - var10 / 2; - for (var12 = par3 - var11; var12 <= par3 + var11; ++var12) + for (var12 = - var11; var12 <= + var11; ++var12) { - int var13 = var12 - par3; + int var13 = var12; - for (int var14 = par5 - var11; var14 <= par5 + var11; ++var14) + for (int var14 = - var11; var14 <= + var11; ++var14) { - int var15 = var14 - par5; + int var15 = var14; - if ((Math.abs(var13) != var11 || Math.abs(var15) != var11 || par2Random.nextInt(2) != 0 && var10 != 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var12, var16, var14)]) + BigInteger x = BigInteger.valueOf(var12).add(par3), + z = BigInteger.valueOf(var14).add(par5); + if ((Math.abs(var13) != var11 || Math.abs(var15) != var11 || par2Random.nextInt(2) != 0 && var10 != 0) && !Block.opaqueCubeLookup[par1World.getBlockId(x, var16, z)]) { - this.setBlockAndMetadata(par1World, var12, var16, var14, Block.leaves.blockID, 2); + this.setBlockAndMetadata(par1World, x, var16, z, Block.leaves.blockID, 2); } } } diff --git a/src/minecraft/net/minecraft/src/WorldGenGlowStone1.java b/src/minecraft/net/minecraft/src/WorldGenGlowStone1.java index 0f6f3a5..b2fc155 100644 --- a/src/minecraft/net/minecraft/src/WorldGenGlowStone1.java +++ b/src/minecraft/net/minecraft/src/WorldGenGlowStone1.java @@ -1,10 +1,11 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenGlowStone1 extends WorldGenerator { - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { if (!par1World.isAirBlock(par3, par4, par5)) { @@ -20,9 +21,9 @@ public class WorldGenGlowStone1 extends WorldGenerator for (int var6 = 0; var6 < 1500; ++var6) { - int var7 = par3 + par2Random.nextInt(8) - par2Random.nextInt(8); + BigInteger var7 = par3.add(BigInteger.valueOf(par2Random.nextInt(8) - par2Random.nextInt(8))); int var8 = par4 - par2Random.nextInt(12); - int var9 = par5 + par2Random.nextInt(8) - par2Random.nextInt(8); + BigInteger var9 = par5.add(BigInteger.valueOf(par2Random.nextInt(8) - par2Random.nextInt(8)));; if (par1World.getBlockId(var7, var8, var9) == 0) { @@ -34,12 +35,12 @@ public class WorldGenGlowStone1 extends WorldGenerator if (var11 == 0) { - var12 = par1World.getBlockId(var7 - 1, var8, var9); + var12 = par1World.getBlockId(var7.subtract(BigInteger.ONE), var8, var9); } if (var11 == 1) { - var12 = par1World.getBlockId(var7 + 1, var8, var9); + var12 = par1World.getBlockId(var7.add(BigInteger.ONE), var8, var9); } if (var11 == 2) @@ -54,12 +55,12 @@ public class WorldGenGlowStone1 extends WorldGenerator if (var11 == 4) { - var12 = par1World.getBlockId(var7, var8, var9 - 1); + var12 = par1World.getBlockId(var7, var8, var9.subtract(BigInteger.ONE)); } if (var11 == 5) { - var12 = par1World.getBlockId(var7, var8, var9 + 1); + var12 = par1World.getBlockId(var7, var8, var9.add(BigInteger.ONE)); } if (var12 == Block.glowStone.blockID) diff --git a/src/minecraft/net/minecraft/src/WorldGenGlowStone2.java b/src/minecraft/net/minecraft/src/WorldGenGlowStone2.java index 4a8b10c..7ca64ee 100644 --- a/src/minecraft/net/minecraft/src/WorldGenGlowStone2.java +++ b/src/minecraft/net/minecraft/src/WorldGenGlowStone2.java @@ -1,10 +1,11 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenGlowStone2 extends WorldGenerator { - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { if (!par1World.isAirBlock(par3, par4, par5)) { @@ -20,9 +21,9 @@ public class WorldGenGlowStone2 extends WorldGenerator for (int var6 = 0; var6 < 1500; ++var6) { - int var7 = par3 + par2Random.nextInt(8) - par2Random.nextInt(8); + BigInteger var7 = par3.add(BigInteger.valueOf(par2Random.nextInt(8) - par2Random.nextInt(8))); int var8 = par4 - par2Random.nextInt(12); - int var9 = par5 + par2Random.nextInt(8) - par2Random.nextInt(8); + BigInteger var9 = par5.add(BigInteger.valueOf(par2Random.nextInt(8) - par2Random.nextInt(8))); if (par1World.getBlockId(var7, var8, var9) == 0) { @@ -34,12 +35,12 @@ public class WorldGenGlowStone2 extends WorldGenerator if (var11 == 0) { - var12 = par1World.getBlockId(var7 - 1, var8, var9); + var12 = par1World.getBlockId(var7.subtract(BigInteger.ONE), var8, var9); } if (var11 == 1) { - var12 = par1World.getBlockId(var7 + 1, var8, var9); + var12 = par1World.getBlockId(var7.add(BigInteger.ONE), var8, var9); } if (var11 == 2) @@ -54,12 +55,12 @@ public class WorldGenGlowStone2 extends WorldGenerator if (var11 == 4) { - var12 = par1World.getBlockId(var7, var8, var9 - 1); + var12 = par1World.getBlockId(var7, var8, var9.subtract(BigInteger.ONE)); } if (var11 == 5) { - var12 = par1World.getBlockId(var7, var8, var9 + 1); + var12 = par1World.getBlockId(var7, var8, var9.add(BigInteger.ONE)); } if (var12 == Block.glowStone.blockID) diff --git a/src/minecraft/net/minecraft/src/WorldGenHellLava.java b/src/minecraft/net/minecraft/src/WorldGenHellLava.java index d5f9798..ca697b0 100644 --- a/src/minecraft/net/minecraft/src/WorldGenHellLava.java +++ b/src/minecraft/net/minecraft/src/WorldGenHellLava.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenHellLava extends WorldGenerator @@ -12,7 +13,7 @@ public class WorldGenHellLava extends WorldGenerator this.hellLavaID = par1; } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { if (par1World.getBlockId(par3, par4 + 1, par5) != Block.netherrack.blockID) { @@ -26,22 +27,22 @@ public class WorldGenHellLava extends WorldGenerator { int var6 = 0; - if (par1World.getBlockId(par3 - 1, par4, par5) == Block.netherrack.blockID) + if (par1World.getBlockId(par3.subtract(BigInteger.ONE), par4, par5) == Block.netherrack.blockID) { ++var6; } - if (par1World.getBlockId(par3 + 1, par4, par5) == Block.netherrack.blockID) + if (par1World.getBlockId(par3.add(BigInteger.ONE), par4, par5) == Block.netherrack.blockID) { ++var6; } - if (par1World.getBlockId(par3, par4, par5 - 1) == Block.netherrack.blockID) + if (par1World.getBlockId(par3, par4, par5.subtract(BigInteger.ONE)) == Block.netherrack.blockID) { ++var6; } - if (par1World.getBlockId(par3, par4, par5 + 1) == Block.netherrack.blockID) + if (par1World.getBlockId(par3, par4, par5.add(BigInteger.ONE)) == Block.netherrack.blockID) { ++var6; } @@ -53,22 +54,22 @@ public class WorldGenHellLava extends WorldGenerator int var7 = 0; - if (par1World.isAirBlock(par3 - 1, par4, par5)) + if (par1World.isAirBlock(par3.subtract(BigInteger.ONE), par4, par5)) { ++var7; } - if (par1World.isAirBlock(par3 + 1, par4, par5)) + if (par1World.isAirBlock(par3.add(BigInteger.ONE), par4, par5)) { ++var7; } - if (par1World.isAirBlock(par3, par4, par5 - 1)) + if (par1World.isAirBlock(par3, par4, par5.subtract(BigInteger.ONE))) { ++var7; } - if (par1World.isAirBlock(par3, par4, par5 + 1)) + if (par1World.isAirBlock(par3, par4, par5.add(BigInteger.ONE))) { ++var7; } diff --git a/src/minecraft/net/minecraft/src/WorldGenHugeTrees.java b/src/minecraft/net/minecraft/src/WorldGenHugeTrees.java index e6051e8..6c77ee4 100644 --- a/src/minecraft/net/minecraft/src/WorldGenHugeTrees.java +++ b/src/minecraft/net/minecraft/src/WorldGenHugeTrees.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenHugeTrees extends WorldGenerator @@ -21,207 +22,208 @@ public class WorldGenHugeTrees extends WorldGenerator this.leavesMetadata = par4; } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { - int var6 = par2Random.nextInt(3) + this.baseHeight; - boolean var7 = true; - - if (par4 >= 1 && par4 + var6 + 1 <= 256) - { - int var8; - int var10; - int var11; - int var12; - - for (var8 = par4; var8 <= par4 + 1 + var6; ++var8) - { - byte var9 = 2; - - if (var8 == par4) - { - var9 = 1; - } - - if (var8 >= par4 + 1 + var6 - 2) - { - var9 = 2; - } - - for (var10 = par3 - var9; var10 <= par3 + var9 && var7; ++var10) - { - for (var11 = par5 - var9; var11 <= par5 + var9 && var7; ++var11) - { - if (var8 >= 0 && var8 < 256) - { - var12 = par1World.getBlockId(var10, var8, var11); - - if (var12 != 0 && var12 != Block.leaves.blockID && var12 != Block.grass.blockID && var12 != Block.dirt.blockID && var12 != Block.wood.blockID && var12 != Block.sapling.blockID) - { - var7 = false; - } - } - else - { - var7 = false; - } - } - } - } - - if (!var7) - { - return false; - } - else - { - var8 = par1World.getBlockId(par3, par4 - 1, par5); - - if ((var8 == Block.grass.blockID || var8 == Block.dirt.blockID) && par4 < 256 - var6 - 1) - { - par1World.setBlock(par3, par4 - 1, par5, Block.dirt.blockID); - par1World.setBlock(par3 + 1, par4 - 1, par5, Block.dirt.blockID); - par1World.setBlock(par3, par4 - 1, par5 + 1, Block.dirt.blockID); - par1World.setBlock(par3 + 1, par4 - 1, par5 + 1, Block.dirt.blockID); - this.growLeaves(par1World, par3, par5, par4 + var6, 2, par2Random); - - for (int var14 = par4 + var6 - 2 - par2Random.nextInt(4); var14 > par4 + var6 / 2; var14 -= 2 + par2Random.nextInt(4)) - { - float var15 = par2Random.nextFloat() * (float)Math.PI * 2.0F; - var11 = par3 + (int)(0.5F + MathHelper.cos(var15) * 4.0F); - var12 = par5 + (int)(0.5F + MathHelper.sin(var15) * 4.0F); - this.growLeaves(par1World, var11, var12, var14, 0, par2Random); - - for (int var13 = 0; var13 < 5; ++var13) - { - var11 = par3 + (int)(1.5F + MathHelper.cos(var15) * (float)var13); - var12 = par5 + (int)(1.5F + MathHelper.sin(var15) * (float)var13); - this.setBlockAndMetadata(par1World, var11, var14 - 3 + var13 / 2, var12, Block.wood.blockID, this.woodMetadata); - } - } - - for (var10 = 0; var10 < var6; ++var10) - { - var11 = par1World.getBlockId(par3, par4 + var10, par5); - - if (var11 == 0 || var11 == Block.leaves.blockID) - { - this.setBlockAndMetadata(par1World, par3, par4 + var10, par5, Block.wood.blockID, this.woodMetadata); - - if (var10 > 0) - { - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 - 1, par4 + var10, par5)) - { - this.setBlockAndMetadata(par1World, par3 - 1, par4 + var10, par5, Block.vine.blockID, 8); - } - - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3, par4 + var10, par5 - 1)) - { - this.setBlockAndMetadata(par1World, par3, par4 + var10, par5 - 1, Block.vine.blockID, 1); - } - } - } - - if (var10 < var6 - 1) - { - var11 = par1World.getBlockId(par3 + 1, par4 + var10, par5); - - if (var11 == 0 || var11 == Block.leaves.blockID) - { - this.setBlockAndMetadata(par1World, par3 + 1, par4 + var10, par5, Block.wood.blockID, this.woodMetadata); - - if (var10 > 0) - { - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 + 2, par4 + var10, par5)) - { - this.setBlockAndMetadata(par1World, par3 + 2, par4 + var10, par5, Block.vine.blockID, 2); - } - - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 + 1, par4 + var10, par5 - 1)) - { - this.setBlockAndMetadata(par1World, par3 + 1, par4 + var10, par5 - 1, Block.vine.blockID, 1); - } - } - } - - var11 = par1World.getBlockId(par3 + 1, par4 + var10, par5 + 1); - - if (var11 == 0 || var11 == Block.leaves.blockID) - { - this.setBlockAndMetadata(par1World, par3 + 1, par4 + var10, par5 + 1, Block.wood.blockID, this.woodMetadata); - - if (var10 > 0) - { - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 + 2, par4 + var10, par5 + 1)) - { - this.setBlockAndMetadata(par1World, par3 + 2, par4 + var10, par5 + 1, Block.vine.blockID, 2); - } - - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 + 1, par4 + var10, par5 + 2)) - { - this.setBlockAndMetadata(par1World, par3 + 1, par4 + var10, par5 + 2, Block.vine.blockID, 4); - } - } - } - - var11 = par1World.getBlockId(par3, par4 + var10, par5 + 1); - - if (var11 == 0 || var11 == Block.leaves.blockID) - { - this.setBlockAndMetadata(par1World, par3, par4 + var10, par5 + 1, Block.wood.blockID, this.woodMetadata); - - if (var10 > 0) - { - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 - 1, par4 + var10, par5 + 1)) - { - this.setBlockAndMetadata(par1World, par3 - 1, par4 + var10, par5 + 1, Block.vine.blockID, 8); - } - - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3, par4 + var10, par5 + 2)) - { - this.setBlockAndMetadata(par1World, par3, par4 + var10, par5 + 2, Block.vine.blockID, 4); - } - } - } - } - } - - return true; - } - else - { - return false; - } - } - } - else - { - return false; - } - } - - private void growLeaves(World par1World, int par2, int par3, int par4, int par5, Random par6Random) - { - byte var7 = 2; - - for (int var8 = par4 - var7; var8 <= par4; ++var8) - { - int var9 = var8 - par4; - int var10 = par5 + 1 - var9; - - for (int var11 = par2 - var10; var11 <= par2 + var10 + 1; ++var11) - { - int var12 = var11 - par2; - - for (int var13 = par3 - var10; var13 <= par3 + var10 + 1; ++var13) - { - int var14 = var13 - par3; - - if ((var12 >= 0 || var14 >= 0 || var12 * var12 + var14 * var14 <= var10 * var10) && (var12 <= 0 && var14 <= 0 || var12 * var12 + var14 * var14 <= (var10 + 1) * (var10 + 1)) && (par6Random.nextInt(4) != 0 || var12 * var12 + var14 * var14 <= (var10 - 1) * (var10 - 1)) && !Block.opaqueCubeLookup[par1World.getBlockId(var11, var8, var13)]) - { - this.setBlockAndMetadata(par1World, var11, var8, var13, Block.leaves.blockID, this.leavesMetadata); - } - } - } - } + return false; +// int var6 = par2Random.nextInt(3) + this.baseHeight; +// boolean var7 = true; +// +// if (par4 >= 1 && par4 + var6 + 1 <= 256) +// { +// int var8; +// int var10; +// int var11; +// int var12; +// +// for (var8 = par4; var8 <= par4 + 1 + var6; ++var8) +// { +// byte var9 = 2; +// +// if (var8 == par4) +// { +// var9 = 1; +// } +// +// if (var8 >= par4 + 1 + var6 - 2) +// { +// var9 = 2; +// } +// +// for (var10 = par3 - var9; var10 <= par3 + var9 && var7; ++var10) +// { +// for (var11 = par5 - var9; var11 <= par5 + var9 && var7; ++var11) +// { +// if (var8 >= 0 && var8 < 256) +// { +// var12 = par1World.getBlockId(var10, var8, var11); +// +// if (var12 != 0 && var12 != Block.leaves.blockID && var12 != Block.grass.blockID && var12 != Block.dirt.blockID && var12 != Block.wood.blockID && var12 != Block.sapling.blockID) +// { +// var7 = false; +// } +// } +// else +// { +// var7 = false; +// } +// } +// } +// } +// +// if (!var7) +// { +// return false; +// } +// else +// { +// var8 = par1World.getBlockId(par3, par4 - 1, par5); +// +// if ((var8 == Block.grass.blockID || var8 == Block.dirt.blockID) && par4 < 256 - var6 - 1) +// { +// par1World.setBlock(par3, par4 - 1, par5, Block.dirt.blockID); +// par1World.setBlock(par3 + 1, par4 - 1, par5, Block.dirt.blockID); +// par1World.setBlock(par3, par4 - 1, par5 + 1, Block.dirt.blockID); +// par1World.setBlock(par3 + 1, par4 - 1, par5 + 1, Block.dirt.blockID); +// this.growLeaves(par1World, par3, par5, par4 + var6, 2, par2Random); +// +// for (int var14 = par4 + var6 - 2 - par2Random.nextInt(4); var14 > par4 + var6 / 2; var14 -= 2 + par2Random.nextInt(4)) +// { +// float var15 = par2Random.nextFloat() * (float)Math.PI * 2.0F; +// var11 = par3 + (int)(0.5F + MathHelper.cos(var15) * 4.0F); +// var12 = par5 + (int)(0.5F + MathHelper.sin(var15) * 4.0F); +// this.growLeaves(par1World, var11, var12, var14, 0, par2Random); +// +// for (int var13 = 0; var13 < 5; ++var13) +// { +// var11 = par3 + (int)(1.5F + MathHelper.cos(var15) * (float)var13); +// var12 = par5 + (int)(1.5F + MathHelper.sin(var15) * (float)var13); +// this.setBlockAndMetadata(par1World, var11, var14 - 3 + var13 / 2, var12, Block.wood.blockID, this.woodMetadata); +// } +// } +// +// for (var10 = 0; var10 < var6; ++var10) +// { +// var11 = par1World.getBlockId(par3, par4 + var10, par5); +// +// if (var11 == 0 || var11 == Block.leaves.blockID) +// { +// this.setBlockAndMetadata(par1World, par3, par4 + var10, par5, Block.wood.blockID, this.woodMetadata); +// +// if (var10 > 0) +// { +// if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 - 1, par4 + var10, par5)) +// { +// this.setBlockAndMetadata(par1World, par3 - 1, par4 + var10, par5, Block.vine.blockID, 8); +// } +// +// if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3, par4 + var10, par5 - 1)) +// { +// this.setBlockAndMetadata(par1World, par3, par4 + var10, par5 - 1, Block.vine.blockID, 1); +// } +// } +// } +// +// if (var10 < var6 - 1) +// { +// var11 = par1World.getBlockId(par3 + 1, par4 + var10, par5); +// +// if (var11 == 0 || var11 == Block.leaves.blockID) +// { +// this.setBlockAndMetadata(par1World, par3 + 1, par4 + var10, par5, Block.wood.blockID, this.woodMetadata); +// +// if (var10 > 0) +// { +// if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 + 2, par4 + var10, par5)) +// { +// this.setBlockAndMetadata(par1World, par3 + 2, par4 + var10, par5, Block.vine.blockID, 2); +// } +// +// if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 + 1, par4 + var10, par5 - 1)) +// { +// this.setBlockAndMetadata(par1World, par3 + 1, par4 + var10, par5 - 1, Block.vine.blockID, 1); +// } +// } +// } +// +// var11 = par1World.getBlockId(par3 + 1, par4 + var10, par5 + 1); +// +// if (var11 == 0 || var11 == Block.leaves.blockID) +// { +// this.setBlockAndMetadata(par1World, par3 + 1, par4 + var10, par5 + 1, Block.wood.blockID, this.woodMetadata); +// +// if (var10 > 0) +// { +// if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 + 2, par4 + var10, par5 + 1)) +// { +// this.setBlockAndMetadata(par1World, par3 + 2, par4 + var10, par5 + 1, Block.vine.blockID, 2); +// } +// +// if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 + 1, par4 + var10, par5 + 2)) +// { +// this.setBlockAndMetadata(par1World, par3 + 1, par4 + var10, par5 + 2, Block.vine.blockID, 4); +// } +// } +// } +// +// var11 = par1World.getBlockId(par3, par4 + var10, par5 + 1); +// +// if (var11 == 0 || var11 == Block.leaves.blockID) +// { +// this.setBlockAndMetadata(par1World, par3, par4 + var10, par5 + 1, Block.wood.blockID, this.woodMetadata); +// +// if (var10 > 0) +// { +// if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 - 1, par4 + var10, par5 + 1)) +// { +// this.setBlockAndMetadata(par1World, par3 - 1, par4 + var10, par5 + 1, Block.vine.blockID, 8); +// } +// +// if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3, par4 + var10, par5 + 2)) +// { +// this.setBlockAndMetadata(par1World, par3, par4 + var10, par5 + 2, Block.vine.blockID, 4); +// } +// } +// } +// } +// } +// +// return true; +// } +// else +// { +// return false; +// } +// } +// } +// else +// { +// return false; +// } } +// +// private void growLeaves(World par1World, int par2, int par3, int par4, int par5, Random par6Random) +// { +// byte var7 = 2; +// +// for (int var8 = par4 - var7; var8 <= par4; ++var8) +// { +// int var9 = var8 - par4; +// int var10 = par5 + 1 - var9; +// +// for (int var11 = par2 - var10; var11 <= par2 + var10 + 1; ++var11) +// { +// int var12 = var11 - par2; +// +// for (int var13 = par3 - var10; var13 <= par3 + var10 + 1; ++var13) +// { +// int var14 = var13 - par3; +// +// if ((var12 >= 0 || var14 >= 0 || var12 * var12 + var14 * var14 <= var10 * var10) && (var12 <= 0 && var14 <= 0 || var12 * var12 + var14 * var14 <= (var10 + 1) * (var10 + 1)) && (par6Random.nextInt(4) != 0 || var12 * var12 + var14 * var14 <= (var10 - 1) * (var10 - 1)) && !Block.opaqueCubeLookup[par1World.getBlockId(var11, var8, var13)]) +// { +// this.setBlockAndMetadata(par1World, var11, var8, var13, Block.leaves.blockID, this.leavesMetadata); +// } +// } +// } +// } +// } } diff --git a/src/minecraft/net/minecraft/src/WorldGenLakes.java b/src/minecraft/net/minecraft/src/WorldGenLakes.java index b25dde4..26ec686 100644 --- a/src/minecraft/net/minecraft/src/WorldGenLakes.java +++ b/src/minecraft/net/minecraft/src/WorldGenLakes.java @@ -14,12 +14,10 @@ public class WorldGenLakes extends WorldGenerator public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { - par3 -= 8; + par3 = par3.subtract(BigInteger.valueOf(8)); + par5 = par5.subtract(BigInteger.valueOf(8)); - for (par5 -= 8; par4 > 5 && par1World.isAirBlock(par3, par4, par5); --par4) - { - ; - } + while(par4 > 5 && par1World.isAirBlock(par3, par4, par5)) --par4; if (par4 <= 4) { @@ -75,14 +73,16 @@ public class WorldGenLakes extends WorldGenerator if (var33) { - Material var12 = par1World.getBlockMaterial(par3 + var8, par4 + var10, par5 + var32); + BigInteger x = BigInteger.valueOf(var8 ).add(par3), + z = BigInteger.valueOf(var32).add(par5); + Material var12 = par1World.getBlockMaterial(x, par4 + var10, z); if (var10 >= 4 && var12.isLiquid()) { return false; } - if (var10 < 4 && !var12.isSolid() && par1World.getBlockId(par3 + var8, par4 + var10, par5 + var32) != this.blockIndex) + if (var10 < 4 && !var12.isSolid() && par1World.getBlockId(x, par4 + var10, z) != this.blockIndex) { return false; } @@ -99,7 +99,7 @@ public class WorldGenLakes extends WorldGenerator { if (var6[(var8 * 16 + var32) * 8 + var10]) { - par1World.setBlock(par3 + var8, par4 + var10, par5 + var32, var10 >= 4 ? 0 : this.blockIndex); + par1World.setBlock(par3.add(BigInteger.valueOf(var8)), par4 + var10, par5.add(BigInteger.valueOf(var32)), var10 >= 4 ? 0 : this.blockIndex); } } } @@ -111,17 +111,19 @@ public class WorldGenLakes extends WorldGenerator { for (var10 = 4; var10 < 8; ++var10) { - if (var6[(var8 * 16 + var32) * 8 + var10] && par1World.getBlockId(par3 + var8, par4 + var10 - 1, par5 + var32) == Block.dirt.blockID && par1World.getSavedLightValue(EnumSkyBlock.Sky, par3 + var8, par4 + var10, par5 + var32) > 0) + BigInteger x = BigInteger.valueOf(var8 ).add(par3), + z = BigInteger.valueOf(var32).add(par5); + if (var6[(var8 * 16 + var32) * 8 + var10] && par1World.getBlockId(x, par4 + var10 - 1, z) == Block.dirt.blockID && par1World.getSavedLightValue(EnumSkyBlock.Sky, x, par4 + var10, z) > 0) { - BiomeGenBase var34 = par1World.getBiomeGenForCoords(par3 + var8, par5 + var32); + BiomeGenBase var34 = par1World.getBiomeGenForCoords(x, z); if (var34.topBlock == Block.mycelium.blockID) { - par1World.setBlock(par3 + var8, par4 + var10 - 1, par5 + var32, Block.mycelium.blockID); + par1World.setBlock(x, par4 + var10 - 1, z, Block.mycelium.blockID); } else { - par1World.setBlock(par3 + var8, par4 + var10 - 1, par5 + var32, Block.grass.blockID); + par1World.setBlock(x, par4 + var10 - 1, z, Block.grass.blockID); } } } @@ -137,10 +139,11 @@ public class WorldGenLakes extends WorldGenerator for (var10 = 0; var10 < 8; ++var10) { var33 = !var6[(var8 * 16 + var32) * 8 + var10] && (var8 < 15 && var6[((var8 + 1) * 16 + var32) * 8 + var10] || var8 > 0 && var6[((var8 - 1) * 16 + var32) * 8 + var10] || var32 < 15 && var6[(var8 * 16 + var32 + 1) * 8 + var10] || var32 > 0 && var6[(var8 * 16 + (var32 - 1)) * 8 + var10] || var10 < 7 && var6[(var8 * 16 + var32) * 8 + var10 + 1] || var10 > 0 && var6[(var8 * 16 + var32) * 8 + (var10 - 1)]); - - if (var33 && (var10 < 4 || par2Random.nextInt(2) != 0) && par1World.getBlockMaterial(par3 + var8, par4 + var10, par5 + var32).isSolid()) + BigInteger x = BigInteger.valueOf(var8 ).add(par3), + z = BigInteger.valueOf(var32).add(par5); + if (var33 && (var10 < 4 || par2Random.nextInt(2) != 0) && par1World.getBlockMaterial(x, par4 + var10, z).isSolid()) { - par1World.setBlock(par3 + var8, par4 + var10, par5 + var32, Block.stone.blockID); + par1World.setBlock(x, par4 + var10, z, Block.stone.blockID); } } } @@ -154,10 +157,11 @@ public class WorldGenLakes extends WorldGenerator for (var32 = 0; var32 < 16; ++var32) { byte var35 = 4; - - if (par1World.isBlockFreezable(par3 + var8, par4 + var35, par5 + var32)) + BigInteger x = BigInteger.valueOf(var8 ).add(par3), + z = BigInteger.valueOf(var32).add(par5); + if (par1World.isBlockFreezable(x, par4 + var35, z)) { - par1World.setBlock(par3 + var8, par4 + var35, par5 + var32, Block.ice.blockID); + par1World.setBlock(x, par4 + var35, z, Block.ice.blockID); } } } diff --git a/src/minecraft/net/minecraft/src/WorldGenLiquids.java b/src/minecraft/net/minecraft/src/WorldGenLiquids.java index 6d75dd9..f473a6c 100644 --- a/src/minecraft/net/minecraft/src/WorldGenLiquids.java +++ b/src/minecraft/net/minecraft/src/WorldGenLiquids.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenLiquids extends WorldGenerator @@ -12,7 +13,7 @@ public class WorldGenLiquids extends WorldGenerator this.liquidBlockId = par1; } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { if (par1World.getBlockId(par3, par4 + 1, par5) != Block.stone.blockID) { @@ -30,44 +31,44 @@ public class WorldGenLiquids extends WorldGenerator { int var6 = 0; - if (par1World.getBlockId(par3 - 1, par4, par5) == Block.stone.blockID) + if (par1World.getBlockId(par3.subtract(BigInteger.ONE), par4, par5) == Block.stone.blockID) { ++var6; } - if (par1World.getBlockId(par3 + 1, par4, par5) == Block.stone.blockID) + if (par1World.getBlockId(par3.add(BigInteger.ONE), par4, par5) == Block.stone.blockID) { ++var6; } - if (par1World.getBlockId(par3, par4, par5 - 1) == Block.stone.blockID) + if (par1World.getBlockId(par3, par4, par5.subtract(BigInteger.ONE)) == Block.stone.blockID) { ++var6; } - if (par1World.getBlockId(par3, par4, par5 + 1) == Block.stone.blockID) + if (par1World.getBlockId(par3, par4, par5.add(BigInteger.ONE)) == Block.stone.blockID) { ++var6; } int var7 = 0; - if (par1World.isAirBlock(par3 - 1, par4, par5)) + if (par1World.isAirBlock(par3.subtract(BigInteger.ONE), par4, par5)) { ++var7; } - if (par1World.isAirBlock(par3 + 1, par4, par5)) + if (par1World.isAirBlock(par3.add(BigInteger.ONE), par4, par5)) { ++var7; } - if (par1World.isAirBlock(par3, par4, par5 - 1)) + if (par1World.isAirBlock(par3, par4, par5.subtract(BigInteger.ONE))) { ++var7; } - if (par1World.isAirBlock(par3, par4, par5 + 1)) + if (par1World.isAirBlock(par3, par4, par5.add(BigInteger.ONE))) { ++var7; } diff --git a/src/minecraft/net/minecraft/src/WorldGenMinable.java b/src/minecraft/net/minecraft/src/WorldGenMinable.java index bbfa6de..1465afe 100644 --- a/src/minecraft/net/minecraft/src/WorldGenMinable.java +++ b/src/minecraft/net/minecraft/src/WorldGenMinable.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenMinable extends WorldGenerator @@ -16,13 +17,13 @@ public class WorldGenMinable extends WorldGenerator this.numberOfBlocks = par2; } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { float var6 = par2Random.nextFloat() * (float)Math.PI; - double var7 = (double)((float)(par3 + 8) + MathHelper.sin(var6) * (float)this.numberOfBlocks / 8.0F); - double var9 = (double)((float)(par3 + 8) - MathHelper.sin(var6) * (float)this.numberOfBlocks / 8.0F); - double var11 = (double)((float)(par5 + 8) + MathHelper.cos(var6) * (float)this.numberOfBlocks / 8.0F); - double var13 = (double)((float)(par5 + 8) - MathHelper.cos(var6) * (float)this.numberOfBlocks / 8.0F); + double var7 = (double)((float)(par3.add(BigInteger.valueOf(8)).floatValue()) + MathHelper.sin(var6) * (float)this.numberOfBlocks / 8.0F); + double var9 = (double)((float)(par3.add(BigInteger.valueOf(8)).floatValue()) - MathHelper.sin(var6) * (float)this.numberOfBlocks / 8.0F); + double var11 = (double)((float)(par5.add(BigInteger.valueOf(8)).floatValue()) + MathHelper.cos(var6) * (float)this.numberOfBlocks / 8.0F); + double var13 = (double)((float)(par5.add(BigInteger.valueOf(8)).floatValue()) - MathHelper.cos(var6) * (float)this.numberOfBlocks / 8.0F); double var15 = (double)(par4 + par2Random.nextInt(3) - 2); double var17 = (double)(par4 + par2Random.nextInt(3) - 2); @@ -34,16 +35,16 @@ public class WorldGenMinable extends WorldGenerator double var26 = par2Random.nextDouble() * (double)this.numberOfBlocks / 16.0D; double var28 = (double)(MathHelper.sin((float)var19 * (float)Math.PI / (float)this.numberOfBlocks) + 1.0F) * var26 + 1.0D; double var30 = (double)(MathHelper.sin((float)var19 * (float)Math.PI / (float)this.numberOfBlocks) + 1.0F) * var26 + 1.0D; - int var32 = MathHelper.floor_double(var20 - var28 / 2.0D); + BigInteger var32 = MathHelper.floor_double_BigInteger(var20 - var28 / 2.0D); int var33 = MathHelper.floor_double(var22 - var30 / 2.0D); - int var34 = MathHelper.floor_double(var24 - var28 / 2.0D); - int var35 = MathHelper.floor_double(var20 + var28 / 2.0D); + BigInteger var34 = MathHelper.floor_double_BigInteger(var24 - var28 / 2.0D); + BigInteger var35 = MathHelper.floor_double_BigInteger(var20 + var28 / 2.0D); int var36 = MathHelper.floor_double(var22 + var30 / 2.0D); - int var37 = MathHelper.floor_double(var24 + var28 / 2.0D); + BigInteger var37 = MathHelper.floor_double_BigInteger(var24 + var28 / 2.0D); - for (int var38 = var32; var38 <= var35; ++var38) + for (BigInteger var38 = var32; var38.compareTo(var35) <= 0; var38 = var38.add(BigInteger.ONE)) { - double var39 = ((double)var38 + 0.5D - var20) / (var28 / 2.0D); + double var39 = ((double)var38.doubleValue() + 0.5D - var20) / (var28 / 2.0D); if (var39 * var39 < 1.0D) { @@ -53,9 +54,9 @@ public class WorldGenMinable extends WorldGenerator if (var39 * var39 + var42 * var42 < 1.0D) { - for (int var44 = var34; var44 <= var37; ++var44) + for (BigInteger var44 = var34; var44.compareTo(var37) <= 0; var44 = var44.add(BigInteger.ONE)) { - double var45 = ((double)var44 + 0.5D - var24) / (var28 / 2.0D); + double var45 = ((double)var44.doubleValue() + 0.5D - var24) / (var28 / 2.0D); if (var39 * var39 + var42 * var42 + var45 * var45 < 1.0D && par1World.getBlockId(var38, var41, var44) == Block.stone.blockID) { diff --git a/src/minecraft/net/minecraft/src/WorldGenSand.java b/src/minecraft/net/minecraft/src/WorldGenSand.java index 9427374..5a55b6b 100644 --- a/src/minecraft/net/minecraft/src/WorldGenSand.java +++ b/src/minecraft/net/minecraft/src/WorldGenSand.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenSand extends WorldGenerator @@ -16,7 +17,7 @@ public class WorldGenSand extends WorldGenerator this.radius = par1; } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { if (par1World.getBlockMaterial(par3, par4, par5) != Material.water) { @@ -27,22 +28,24 @@ public class WorldGenSand extends WorldGenerator int var6 = par2Random.nextInt(this.radius - 2) + 2; byte var7 = 2; - for (int var8 = par3 - var6; var8 <= par3 + var6; ++var8) + for (int var8 = - var6; var8 <= + var6; ++var8) { - for (int var9 = par5 - var6; var9 <= par5 + var6; ++var9) + for (int var9 = - var6; var9 <= + var6; ++var9) { - int var10 = var8 - par3; - int var11 = var9 - par5; + int var10 = var8; + int var11 = var9; + BigInteger x = BigInteger.valueOf(var8).add(par3), + z = BigInteger.valueOf(var9).add(par5); if (var10 * var10 + var11 * var11 <= var6 * var6) { for (int var12 = par4 - var7; var12 <= par4 + var7; ++var12) { - int var13 = par1World.getBlockId(var8, var12, var9); + int var13 = par1World.getBlockId(x, var12, z); if (var13 == Block.dirt.blockID || var13 == Block.grass.blockID) { - par1World.setBlock(var8, var12, var9, this.sandID); + par1World.setBlock(x, var12, z, this.sandID); } } } diff --git a/src/minecraft/net/minecraft/src/WorldGenShrub.java b/src/minecraft/net/minecraft/src/WorldGenShrub.java index bff8473..ffe467f 100644 --- a/src/minecraft/net/minecraft/src/WorldGenShrub.java +++ b/src/minecraft/net/minecraft/src/WorldGenShrub.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenShrub extends WorldGenerator @@ -13,7 +14,7 @@ public class WorldGenShrub extends WorldGenerator this.field_76527_a = par2; } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { int var15; @@ -34,17 +35,19 @@ public class WorldGenShrub extends WorldGenerator int var9 = var8 - par4; int var10 = 2 - var9; - for (int var11 = par3 - var10; var11 <= par3 + var10; ++var11) + for (int var11 = - var10; var11 <= + var10; ++var11) { - int var12 = var11 - par3; + int var12 = var11; - for (int var13 = par5 - var10; var13 <= par5 + var10; ++var13) + for (int var13 = - var10; var13 <= + var10; ++var13) { - int var14 = var13 - par5; + int var14 = var13; - if ((Math.abs(var12) != var10 || Math.abs(var14) != var10 || par2Random.nextInt(2) != 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var11, var8, var13)]) + BigInteger x = BigInteger.valueOf(var11).add(par3), + z = BigInteger.valueOf(var13).add(par5); + if ((Math.abs(var12) != var10 || Math.abs(var14) != var10 || par2Random.nextInt(2) != 0) && !Block.opaqueCubeLookup[par1World.getBlockId(x, var8, z)]) { - this.setBlockAndMetadata(par1World, var11, var8, var13, Block.leaves.blockID, this.field_76527_a); + this.setBlockAndMetadata(par1World, x, var8, z, Block.leaves.blockID, this.field_76527_a); } } } diff --git a/src/minecraft/net/minecraft/src/WorldGenSpikes.java b/src/minecraft/net/minecraft/src/WorldGenSpikes.java index 5948ef2..a3d3733 100644 --- a/src/minecraft/net/minecraft/src/WorldGenSpikes.java +++ b/src/minecraft/net/minecraft/src/WorldGenSpikes.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenSpikes extends WorldGenerator @@ -14,50 +15,46 @@ public class WorldGenSpikes extends WorldGenerator this.replaceID = par1; } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { if (par1World.isAirBlock(par3, par4, par5) && par1World.getBlockId(par3, par4 - 1, par5) == this.replaceID) { int var6 = par2Random.nextInt(32) + 6; int var7 = par2Random.nextInt(4) + 1; - int var8; - int var9; - int var10; - int var11; - for (var8 = par3 - var7; var8 <= par3 + var7; ++var8) + for (int var8 = - var7; var8 <= + var7; ++var8) { - for (var9 = par5 - var7; var9 <= par5 + var7; ++var9) + for (int var9 = - var7; var9 <= + var7; ++var9) { - var10 = var8 - par3; - var11 = var9 - par5; + int var10 = var8; + int var11 = var9; - if (var10 * var10 + var11 * var11 <= var7 * var7 + 1 && par1World.getBlockId(var8, par4 - 1, var9) != this.replaceID) + if (var10 * var10 + var11 * var11 <= var7 * var7 + 1 && par1World.getBlockId(BigInteger.valueOf(var8).add(par3), par4 - 1, BigInteger.valueOf(var9).add(par5)) != this.replaceID) { return false; } } } - for (var8 = par4; var8 < par4 + var6 && var8 < 128; ++var8) + for (int var8 = par4; var8 < par4 + var6 && var8 < 128; ++var8) { - for (var9 = par3 - var7; var9 <= par3 + var7; ++var9) + for (int var9 = - var7; var9 <= + var7; ++var9) { - for (var10 = par5 - var7; var10 <= par5 + var7; ++var10) + for (int var10 = - var7; var10 <= + var7; ++var10) { - var11 = var9 - par3; - int var12 = var10 - par5; + int var11 = var9; + int var12 = var10; if (var11 * var11 + var12 * var12 <= var7 * var7 + 1) { - par1World.setBlockWithNotify(var9, var8, var10, Block.obsidian.blockID); + par1World.setBlockWithNotify(BigInteger.valueOf(var9).add(par3), var8, BigInteger.valueOf(var10).add(par5), Block.obsidian.blockID); } } } } EntityEnderCrystal var13 = new EntityEnderCrystal(par1World); - var13.setLocationAndAngles((double)((float)par3 + 0.5F), (double)(par4 + var6), (double)((float)par5 + 0.5F), par2Random.nextFloat() * 360.0F, 0.0F); + var13.setLocationAndAngles((double)((float)par3.floatValue() + 0.5F), (double)(par4 + var6), (double)((float)par5.floatValue() + 0.5F), par2Random.nextFloat() * 360.0F, 0.0F); par1World.spawnEntityInWorld(var13); par1World.setBlockWithNotify(par3, par4 + var6, par5, Block.bedrock.blockID); return true; diff --git a/src/minecraft/net/minecraft/src/WorldGenSwamp.java b/src/minecraft/net/minecraft/src/WorldGenSwamp.java index b8e7b25..71ee23a 100644 --- a/src/minecraft/net/minecraft/src/WorldGenSwamp.java +++ b/src/minecraft/net/minecraft/src/WorldGenSwamp.java @@ -1,10 +1,11 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenSwamp extends WorldGenerator { - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { int var6; @@ -36,13 +37,13 @@ public class WorldGenSwamp extends WorldGenerator var9 = 3; } - for (var10 = par3 - var9; var10 <= par3 + var9 && var7; ++var10) + for (var10 = - var9; var10 <= + var9 && var7; ++var10) { - for (var11 = par5 - var9; var11 <= par5 + var9 && var7; ++var11) + for (var11 = - var9; var11 <= + var9 && var7; ++var11) { if (var8 >= 0 && var8 < 128) { - var12 = par1World.getBlockId(var10, var8, var11); + var12 = par1World.getBlockId(BigInteger.valueOf(var10).add(par3), var8, BigInteger.valueOf(var11).add(par5)); if (var12 != 0 && var12 != Block.leaves.blockID) { @@ -83,17 +84,20 @@ public class WorldGenSwamp extends WorldGenerator var10 = var16 - (par4 + var6); var11 = 2 - var10 / 2; - for (var12 = par3 - var11; var12 <= par3 + var11; ++var12) + for (var12 = - var11; var12 <= + var11; ++var12) { - var13 = var12 - par3; + var13 = var12 ; - for (int var14 = par5 - var11; var14 <= par5 + var11; ++var14) + for (int var14 = - var11; var14 <= + var11; ++var14) { - int var15 = var14 - par5; + int var15 = var14; + + BigInteger x = BigInteger.valueOf(var12).add(par5), + z = BigInteger.valueOf(var14).add(par3); - if ((Math.abs(var13) != var11 || Math.abs(var15) != var11 || par2Random.nextInt(2) != 0 && var10 != 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var12, var16, var14)]) + if ((Math.abs(var13) != var11 || Math.abs(var15) != var11 || par2Random.nextInt(2) != 0 && var10 != 0) && !Block.opaqueCubeLookup[par1World.getBlockId(x, var16, z)]) { - this.setBlock(par1World, var12, var16, var14, Block.leaves.blockID); + this.setBlock(par1World, x, var16, z, Block.leaves.blockID); } } } @@ -114,30 +118,32 @@ public class WorldGenSwamp extends WorldGenerator var10 = var16 - (par4 + var6); var11 = 2 - var10 / 2; - for (var12 = par3 - var11; var12 <= par3 + var11; ++var12) + for (var12 = - var11; var12 <= + var11; ++var12) { - for (var13 = par5 - var11; var13 <= par5 + var11; ++var13) + for (var13 = - var11; var13 <= + var11; ++var13) { - if (par1World.getBlockId(var12, var16, var13) == Block.leaves.blockID) + BigInteger x = BigInteger.valueOf(var12).add(par3), + z = BigInteger.valueOf(var13).add(par5); + if (par1World.getBlockId(x, var16, z) == Block.leaves.blockID) { - if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var12 - 1, var16, var13) == 0) + if (par2Random.nextInt(4) == 0 && par1World.getBlockId(x.subtract(BigInteger.ONE), var16, z) == 0) { - this.generateVines(par1World, var12 - 1, var16, var13, 8); + this.generateVines(par1World, x.subtract(BigInteger.ONE), var16, z, 8); } - if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var12 + 1, var16, var13) == 0) + if (par2Random.nextInt(4) == 0 && par1World.getBlockId(x.add(BigInteger.ONE), var16, z) == 0) { - this.generateVines(par1World, var12 + 1, var16, var13, 2); + this.generateVines(par1World, x.add(BigInteger.ONE), var16, z, 2); } - if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var12, var16, var13 - 1) == 0) + if (par2Random.nextInt(4) == 0 && par1World.getBlockId(x, var16, z.subtract(BigInteger.ONE)) == 0) { - this.generateVines(par1World, var12, var16, var13 - 1, 1); + this.generateVines(par1World, x, var16, z.subtract(BigInteger.ONE), 1); } - if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var12, var16, var13 + 1) == 0) + if (par2Random.nextInt(4) == 0 && par1World.getBlockId(x, var16, z.add(BigInteger.ONE)) == 0) { - this.generateVines(par1World, var12, var16, var13 + 1, 4); + this.generateVines(par1World, x, var16, z.add(BigInteger.ONE), 4); } } } @@ -161,7 +167,7 @@ public class WorldGenSwamp extends WorldGenerator /** * Generates vines at the given position until it hits a block. */ - private void generateVines(World par1World, int par2, int par3, int par4, int par5) + private void generateVines(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { this.setBlockAndMetadata(par1World, par2, par3, par4, Block.vine.blockID, par5); int var6 = 4; diff --git a/src/minecraft/net/minecraft/src/WorldGenTaiga1.java b/src/minecraft/net/minecraft/src/WorldGenTaiga1.java index 63406ef..24221dc 100644 --- a/src/minecraft/net/minecraft/src/WorldGenTaiga1.java +++ b/src/minecraft/net/minecraft/src/WorldGenTaiga1.java @@ -1,10 +1,11 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenTaiga1 extends WorldGenerator { - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { int var6 = par2Random.nextInt(5) + 7; int var7 = var6 - par2Random.nextInt(2) - 3; @@ -33,13 +34,13 @@ public class WorldGenTaiga1 extends WorldGenerator var18 = var9; } - for (var13 = par3 - var18; var13 <= par3 + var18 && var10; ++var13) + for (var13 = - var18; var13 <= + var18 && var10; ++var13) { - for (var14 = par5 - var18; var14 <= par5 + var18 && var10; ++var14) + for (var14 = - var18; var14 <= + var18 && var10; ++var14) { if (var11 >= 0 && var11 < 128) { - var15 = par1World.getBlockId(var13, var11, var14); + var15 = par1World.getBlockId(BigInteger.valueOf(var13).add(par3), var11, BigInteger.valueOf(var14).add(par5)); if (var15 != 0 && var15 != Block.leaves.blockID) { @@ -69,17 +70,19 @@ public class WorldGenTaiga1 extends WorldGenerator for (var13 = par4 + var6; var13 >= par4 + var7; --var13) { - for (var14 = par3 - var18; var14 <= par3 + var18; ++var14) + for (var14 = - var18; var14 <= + var18; ++var14) { - var15 = var14 - par3; + var15 = var14; - for (int var16 = par5 - var18; var16 <= par5 + var18; ++var16) + for (int var16 = - var18; var16 <= + var18; ++var16) { - int var17 = var16 - par5; + int var17 = var16; + BigInteger x = BigInteger.valueOf(var14).add(par3), + z = BigInteger.valueOf(var16).add(par5); - if ((Math.abs(var15) != var18 || Math.abs(var17) != var18 || var18 <= 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var14, var13, var16)]) + if ((Math.abs(var15) != var18 || Math.abs(var17) != var18 || var18 <= 0) && !Block.opaqueCubeLookup[par1World.getBlockId(x, var13, z)]) { - this.setBlockAndMetadata(par1World, var14, var13, var16, Block.leaves.blockID, 1); + this.setBlockAndMetadata(par1World, x, var13, z, Block.leaves.blockID, 1); } } } diff --git a/src/minecraft/net/minecraft/src/WorldGenTaiga2.java b/src/minecraft/net/minecraft/src/WorldGenTaiga2.java index 527392f..641733e 100644 --- a/src/minecraft/net/minecraft/src/WorldGenTaiga2.java +++ b/src/minecraft/net/minecraft/src/WorldGenTaiga2.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenTaiga2 extends WorldGenerator @@ -9,7 +10,7 @@ public class WorldGenTaiga2 extends WorldGenerator super(par1); } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { int var6 = par2Random.nextInt(4) + 6; int var7 = 1 + par2Random.nextInt(2); @@ -37,13 +38,13 @@ public class WorldGenTaiga2 extends WorldGenerator var21 = var9; } - for (var13 = par3 - var21; var13 <= par3 + var21 && var10; ++var13) + for (var13 = - var21; var13 <= + var21 && var10; ++var13) { - for (int var14 = par5 - var21; var14 <= par5 + var21 && var10; ++var14) + for (int var14 = - var21; var14 <= + var21 && var10; ++var14) { if (var11 >= 0 && var11 < 256) { - var15 = par1World.getBlockId(var13, var11, var14); + var15 = par1World.getBlockId(BigInteger.valueOf(var13).add(par3), var11, BigInteger.valueOf(var14).add(par5)); if (var15 != 0 && var15 != Block.leaves.blockID) { @@ -79,17 +80,19 @@ public class WorldGenTaiga2 extends WorldGenerator { var16 = par4 + var6 - var15; - for (var17 = par3 - var21; var17 <= par3 + var21; ++var17) + for (var17 = - var21; var17 <= + var21; ++var17) { - int var18 = var17 - par3; + int var18 = var17; - for (int var19 = par5 - var21; var19 <= par5 + var21; ++var19) + for (int var19 = - var21; var19 <= + var21; ++var19) { - int var20 = var19 - par5; + int var20 = var19; + BigInteger x = BigInteger.valueOf(var17).add(par3), + z = BigInteger.valueOf(var19).add(par5); - if ((Math.abs(var18) != var21 || Math.abs(var20) != var21 || var21 <= 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var17, var16, var19)]) + if ((Math.abs(var18) != var21 || Math.abs(var20) != var21 || var21 <= 0) && !Block.opaqueCubeLookup[par1World.getBlockId(x, var16, z)]) { - this.setBlockAndMetadata(par1World, var17, var16, var19, Block.leaves.blockID, 1); + this.setBlockAndMetadata(par1World, x, var16, z, Block.leaves.blockID, 1); } } } diff --git a/src/minecraft/net/minecraft/src/WorldGenTrees.java b/src/minecraft/net/minecraft/src/WorldGenTrees.java index 48cc30f..ad9f815 100644 --- a/src/minecraft/net/minecraft/src/WorldGenTrees.java +++ b/src/minecraft/net/minecraft/src/WorldGenTrees.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.Random; public class WorldGenTrees extends WorldGenerator @@ -30,7 +31,7 @@ public class WorldGenTrees extends WorldGenerator this.vinesGrow = par5; } - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) + public boolean generate(World par1World, Random par2Random, BigInteger par3, int par4, BigInteger par5) { int var6 = par2Random.nextInt(3) + this.minTreeHeight; boolean var7 = true; @@ -56,13 +57,13 @@ public class WorldGenTrees extends WorldGenerator var9 = 2; } - for (int var10 = par3 - var9; var10 <= par3 + var9 && var7; ++var10) + for (int var10 = - var9; var10 <= + var9 && var7; ++var10) { - for (var11 = par5 - var9; var11 <= par5 + var9 && var7; ++var11) + for (var11 = - var9; var11 <= + var9 && var7; ++var11) { if (var8 >= 0 && var8 < 256) { - var12 = par1World.getBlockId(var10, var8, var11); + var12 = par1World.getBlockId(BigInteger.valueOf(var10).add(par3), var8, BigInteger.valueOf(var11).add(par5)); if (var12 != 0 && var12 != Block.leaves.blockID && var12 != Block.grass.blockID && var12 != Block.dirt.blockID && var12 != Block.wood.blockID) { @@ -99,17 +100,19 @@ public class WorldGenTrees extends WorldGenerator var12 = var11 - (par4 + var6); var13 = var18 + 1 - var12 / 2; - for (var14 = par3 - var13; var14 <= par3 + var13; ++var14) + for (var14 = - var13; var14 <= + var13; ++var14) { - var15 = var14 - par3; + var15 = var14; - for (int var16 = par5 - var13; var16 <= par5 + var13; ++var16) + for (int var16 = - var13; var16 <= + var13; ++var16) { - int var17 = var16 - par5; + int var17 = var16; + BigInteger x = BigInteger.valueOf(var14).add(par3), + z = BigInteger.valueOf(var16).add(par5); - if ((Math.abs(var15) != var13 || Math.abs(var17) != var13 || par2Random.nextInt(2) != 0 && var12 != 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var14, var11, var16)]) + if ((Math.abs(var15) != var13 || Math.abs(var17) != var13 || par2Random.nextInt(2) != 0 && var12 != 0) && !Block.opaqueCubeLookup[par1World.getBlockId(x, var11, z)]) { - this.setBlockAndMetadata(par1World, var14, var11, var16, Block.leaves.blockID, this.metaLeaves); + this.setBlockAndMetadata(par1World, x, var11, z, Block.leaves.blockID, this.metaLeaves); } } } @@ -125,24 +128,24 @@ public class WorldGenTrees extends WorldGenerator if (this.vinesGrow && var11 > 0) { - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 - 1, par4 + var11, par5)) + if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3.subtract(BigInteger.ONE), par4 + var11, par5)) { - this.setBlockAndMetadata(par1World, par3 - 1, par4 + var11, par5, Block.vine.blockID, 8); + this.setBlockAndMetadata(par1World, par3.subtract(BigInteger.ONE), par4 + var11, par5, Block.vine.blockID, 8); } - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3 + 1, par4 + var11, par5)) + if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3.add(BigInteger.ONE), par4 + var11, par5)) { - this.setBlockAndMetadata(par1World, par3 + 1, par4 + var11, par5, Block.vine.blockID, 2); + this.setBlockAndMetadata(par1World, par3.add(BigInteger.ONE), par4 + var11, par5, Block.vine.blockID, 2); } - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3, par4 + var11, par5 - 1)) + if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3, par4 + var11, par5.subtract(BigInteger.ONE))) { - this.setBlockAndMetadata(par1World, par3, par4 + var11, par5 - 1, Block.vine.blockID, 1); + this.setBlockAndMetadata(par1World, par3, par4 + var11, par5.subtract(BigInteger.ONE), Block.vine.blockID, 1); } - if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3, par4 + var11, par5 + 1)) + if (par2Random.nextInt(3) > 0 && par1World.isAirBlock(par3, par4 + var11, par5.add(BigInteger.ONE))) { - this.setBlockAndMetadata(par1World, par3, par4 + var11, par5 + 1, Block.vine.blockID, 4); + this.setBlockAndMetadata(par1World, par3, par4 + var11, par5.add(BigInteger.ONE), Block.vine.blockID, 4); } } } @@ -155,30 +158,32 @@ public class WorldGenTrees extends WorldGenerator var12 = var11 - (par4 + var6); var13 = 2 - var12 / 2; - for (var14 = par3 - var13; var14 <= par3 + var13; ++var14) + for (var14 = - var13; var14 <= + var13; ++var14) { - for (var15 = par5 - var13; var15 <= par5 + var13; ++var15) + for (var15 = - var13; var15 <= + var13; ++var15) { - if (par1World.getBlockId(var14, var11, var15) == Block.leaves.blockID) + BigInteger x = BigInteger.valueOf(var14).add(par3), + z = BigInteger.valueOf(var15).add(par5); + if (par1World.getBlockId(x, var11, z) == Block.leaves.blockID) { - if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var14 - 1, var11, var15) == 0) + if (par2Random.nextInt(4) == 0 && par1World.getBlockId(x.subtract(BigInteger.ONE), var11, z) == 0) { - this.growVines(par1World, var14 - 1, var11, var15, 8); + this.growVines(par1World, x.subtract(BigInteger.ONE), var11, z, 8); } - if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var14 + 1, var11, var15) == 0) + if (par2Random.nextInt(4) == 0 && par1World.getBlockId(x.add(BigInteger.ONE), var11, z) == 0) { - this.growVines(par1World, var14 + 1, var11, var15, 2); + this.growVines(par1World, x.add(BigInteger.ONE), var11, z, 2); } - if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var14, var11, var15 - 1) == 0) + if (par2Random.nextInt(4) == 0 && par1World.getBlockId(x, var11, z.subtract(BigInteger.ONE)) == 0) { - this.growVines(par1World, var14, var11, var15 - 1, 1); + this.growVines(par1World, x, var11, z.subtract(BigInteger.ONE), 1); } - if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var14, var11, var15 + 1) == 0) + if (par2Random.nextInt(4) == 0 && par1World.getBlockId(x, var11, z.add(BigInteger.ONE)) == 0) { - this.growVines(par1World, var14, var11, var15 + 1, 4); + this.growVines(par1World, x, var11, z.add(BigInteger.ONE), 4); } } } @@ -194,7 +199,7 @@ public class WorldGenTrees extends WorldGenerator if (par2Random.nextInt(4 - var11) == 0) { var13 = par2Random.nextInt(3); - this.setBlockAndMetadata(par1World, par3 + Direction.offsetX[Direction.footInvisibleFaceRemap[var12]], par4 + var6 - 5 + var11, par5 + Direction.offsetZ[Direction.footInvisibleFaceRemap[var12]], Block.cocoa.blockID, var13 << 2 | var12); + this.setBlockAndMetadata(par1World, par3.add(BigInteger.valueOf(Direction.offsetX[Direction.footInvisibleFaceRemap[var12]])), par4 + var6 - 5 + var11, par5.add(BigInteger.valueOf(Direction.offsetZ[Direction.footInvisibleFaceRemap[var12]])), Block.cocoa.blockID, var13 << 2 | var12); } } } @@ -218,7 +223,7 @@ public class WorldGenTrees extends WorldGenerator /** * Grows vines downward from the given block for a given length. Args: World, x, starty, z, vine-length */ - private void growVines(World par1World, int par2, int par3, int par4, int par5) + private void growVines(World par1World, BigInteger par2, int par3, BigInteger par4, int par5) { this.setBlockAndMetadata(par1World, par2, par3, par4, Block.vine.blockID, par5); int var6 = 4; diff --git a/src/minecraft/net/minecraft/src/WorldInfo.java b/src/minecraft/net/minecraft/src/WorldInfo.java index 88b49c4..c25722d 100644 --- a/src/minecraft/net/minecraft/src/WorldInfo.java +++ b/src/minecraft/net/minecraft/src/WorldInfo.java @@ -207,9 +207,9 @@ public class WorldInfo par1NBTTagCompound.setInteger("generatorVersion", this.terrainType.getGeneratorVersion()); par1NBTTagCompound.setInteger("GameType", this.theGameType.getID()); par1NBTTagCompound.setBoolean("MapFeatures", this.mapFeaturesEnabled); - par1NBTTagCompound.setString("SpawnX", this.spawnX.toString()); + par1NBTTagCompound.setBigInteger("SpawnX", this.spawnX); par1NBTTagCompound.setInteger("SpawnY", this.spawnY); - par1NBTTagCompound.setString("SpawnZ", this.spawnZ.toString()); + par1NBTTagCompound.setBigInteger("SpawnZ", this.spawnZ); par1NBTTagCompound.setLong("Time", this.worldTime); par1NBTTagCompound.setLong("SizeOnDisk", this.sizeOnDisk); par1NBTTagCompound.setLong("LastPlayed", System.currentTimeMillis()); diff --git a/src/minecraft/net/minecraft/src/WorldManager.java b/src/minecraft/net/minecraft/src/WorldManager.java index 73b9755..19da8e6 100644 --- a/src/minecraft/net/minecraft/src/WorldManager.java +++ b/src/minecraft/net/minecraft/src/WorldManager.java @@ -68,7 +68,7 @@ public class WorldManager implements IWorldAccess /** * Plays the specified record. Arg: recordName, x, y, z */ - public void playRecord(String par1Str, int par2, int par3, int par4) {} + public void playRecord(String par1Str, BigInteger par2, int par3, BigInteger par4) {} /** * Plays a pre-canned sound effect along with potentially auxiliary data-driven one-shot behaviour (particles, etc). diff --git a/src/minecraft/net/minecraft/src/WorldRenderer.java b/src/minecraft/net/minecraft/src/WorldRenderer.java index 3fe36f3..2367263 100644 --- a/src/minecraft/net/minecraft/src/WorldRenderer.java +++ b/src/minecraft/net/minecraft/src/WorldRenderer.java @@ -1,5 +1,6 @@ package net.minecraft.src; +import java.math.BigInteger; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -12,18 +13,18 @@ public class WorldRenderer private int glRenderList = -1; private static Tessellator tessellator = Tessellator.instance; public static int chunksUpdated = 0; - public int posX; + public BigInteger posX; public int posY; - public int posZ; + public BigInteger posZ; /** Pos X minus */ - public int posXMinus; + public BigInteger posXMinus; /** Pos Y minus */ public int posYMinus; /** Pos Z minus */ - public int posZMinus; + public BigInteger posZMinus; /** Pos X clipped */ public int posXClip; @@ -39,13 +40,13 @@ public class WorldRenderer public boolean[] skipRenderPass = new boolean[2]; /** Pos X plus */ - public int posXPlus; + public BigInteger posXPlus; /** Pos Y plus */ public int posYPlus; /** Pos Z plus */ - public int posZPlus; + public BigInteger posZPlus; /** Boolean for whether this renderer needs to be updated or not */ public boolean needsUpdate; @@ -76,12 +77,11 @@ public class WorldRenderer /** Bytes sent to the GPU */ private int bytesDrawn; - public WorldRenderer(World par1World, List par2List, int par3, int par4, int par5, int par6) + public WorldRenderer(World par1World, List par2List, BigInteger par3, int par4, BigInteger par5, int par6) { this.worldObj = par1World; this.tileEntities = par2List; this.glRenderList = par6; - this.posX = -999; this.setPosition(par3, par4, par5); this.needsUpdate = false; } @@ -89,25 +89,25 @@ public class WorldRenderer /** * Sets a new position for the renderer and setting it up so it can be reloaded with the new data for that position */ - public void setPosition(int par1, int par2, int par3) + public void setPosition(BigInteger par1, int par2, BigInteger par3) { - if (par1 != this.posX || par2 != this.posY || par3 != this.posZ) + if (!par1.equals(posX) || par2 != this.posY || !par3.equals(posZ)) { this.setDontDraw(); this.posX = par1; this.posY = par2; this.posZ = par3; - this.posXPlus = par1 + 8; + this.posXPlus = par1.add(BigInteger.valueOf(8)); this.posYPlus = par2 + 8; - this.posZPlus = par3 + 8; - this.posXClip = par1 & 1023; + this.posZPlus = par3.add(BigInteger.valueOf(8)); + this.posXClip = par1.intValue() & 1023; this.posYClip = par2; - this.posZClip = par3 & 1023; - this.posXMinus = par1 - this.posXClip; + this.posZClip = par3.intValue() & 1023; + this.posXMinus = par1.subtract(BigInteger.valueOf(posXClip)); this.posYMinus = par2 - this.posYClip; - this.posZMinus = par3 - this.posZClip; + this.posZMinus = par3.subtract(BigInteger.valueOf(posZClip)); float var4 = 6.0F; - this.rendererBoundingBox = AxisAlignedBB.getBoundingBox((double)((float)par1 - var4), (double)((float)par2 - var4), (double)((float)par3 - var4), (double)((float)(par1 + 16) + var4), (double)((float)(par2 + 16) + var4), (double)((float)(par3 + 16) + var4)); + this.rendererBoundingBox = AxisAlignedBB.getBoundingBox((double)((float)par1.floatValue() - var4), (double)((float)par2 - var4), (double)((float)par3.floatValue() - var4), (double)((float)(par1.add(BigInteger.valueOf(16)).floatValue()) + var4), (double)((float)(par2 + 16) + var4), (double)((float)(par3.add(BigInteger.valueOf(16)).floatValue()) + var4)); GL11.glNewList(this.glRenderList + 2, GL11.GL_COMPILE); RenderItem.renderAABB(AxisAlignedBB.getAABBPool().addOrModifyAABBInPool((double)((float)this.posXClip - var4), (double)((float)this.posYClip - var4), (double)((float)this.posZClip - var4), (double)((float)(this.posXClip + 16) + var4), (double)((float)(this.posYClip + 16) + var4), (double)((float)(this.posZClip + 16) + var4))); GL11.glEndList(); @@ -128,12 +128,12 @@ public class WorldRenderer if (this.needsUpdate) { this.needsUpdate = false; - int var1 = this.posX; + BigInteger var1 = this.posX; int var2 = this.posY; - int var3 = this.posZ; - int var4 = this.posX + 16; + BigInteger var3 = this.posZ; + BigInteger var4 = this.posX.add(BigInteger.valueOf(16)); int var5 = this.posY + 16; - int var6 = this.posZ + 16; + BigInteger var6 = this.posZ.add(BigInteger.valueOf(16)); for (int var7 = 0; var7 < 2; ++var7) { @@ -145,7 +145,7 @@ public class WorldRenderer var21.addAll(this.tileEntityRenderers); this.tileEntityRenderers.clear(); byte var8 = 1; - ChunkCache var9 = new ChunkCache(this.worldObj, var1 - var8, var2 - var8, var3 - var8, var4 + var8, var5 + var8, var6 + var8); + ChunkCache var9 = new ChunkCache(this.worldObj, var1.subtract(BigInteger.ONE), var2 - var8, var3.subtract(BigInteger.ONE), var4.add(BigInteger.ONE), var5 + var8, var6.add(BigInteger.ONE)); if (!var9.extendedLevelsInChunkCache()) { @@ -158,12 +158,13 @@ public class WorldRenderer boolean var12 = false; boolean var13 = false; boolean var14 = false; - - for (int var15 = var2; var15 < var5; ++var15) + + // NOTE: YZX -> ZXY + for (BigInteger var16 = var3; var16.compareTo(var6) < 0; var16 = var16.add(BigInteger.ONE)) { - for (int var16 = var3; var16 < var6; ++var16) + for (BigInteger var17 = var1; var17.compareTo(var4) < 0; var17 = var17.add(BigInteger.ONE)) { - for (int var17 = var1; var17 < var4; ++var17) + for (int var15 = var2; var15 < var5; ++var15) { int var18 = var9.getBlockId(var17, var15, var16); @@ -180,7 +181,7 @@ public class WorldRenderer GL11.glScalef(var19, var19, var19); GL11.glTranslatef(8.0F, 8.0F, 8.0F); tessellator.startDrawingQuads(); - tessellator.setTranslation((double)(-this.posX), (double)(-this.posY), (double)(-this.posZ)); + tessellator.setTranslation((double)(-this.posX.doubleValue()), (double)(-this.posY), (double)(-this.posZ.doubleValue())); } Block var23 = Block.blocksList[var18]; @@ -254,9 +255,9 @@ public class WorldRenderer */ public float distanceToEntitySquared(Entity par1Entity) { - float var2 = (float)(par1Entity.posX - (double)this.posXPlus); + float var2 = (float)(par1Entity.posX - (double)this.posXPlus.doubleValue()); float var3 = (float)(par1Entity.posY - (double)this.posYPlus); - float var4 = (float)(par1Entity.posZ - (double)this.posZPlus); + float var4 = (float)(par1Entity.posZ - (double)this.posZPlus.doubleValue()); return var2 * var2 + var3 * var3 + var4 * var4; } diff --git a/src/minecraft/net/minecraft/src/WorldServer.java b/src/minecraft/net/minecraft/src/WorldServer.java index 0592c75..1a6ff10 100644 --- a/src/minecraft/net/minecraft/src/WorldServer.java +++ b/src/minecraft/net/minecraft/src/WorldServer.java @@ -386,11 +386,11 @@ public class WorldServer extends World var6.setScheduledTime((long)par5 + this.worldInfo.getWorldTime()); } - if (!this.field_73064_N.contains(var6)) - { - this.field_73064_N.add(var6); - this.pendingTickListEntries.add(var6); - } +// if (!this.field_73064_N.contains(var6)) +// { +// this.field_73064_N.add(var6); +// this.pendingTickListEntries.add(var6); +// } } } } @@ -407,11 +407,11 @@ public class WorldServer extends World var6.setScheduledTime((long)par5 + this.worldInfo.getWorldTime()); } - if (!this.field_73064_N.contains(var6)) - { - this.field_73064_N.add(var6); - this.pendingTickListEntries.add(var6); - } +// if (!this.field_73064_N.contains(var6)) +// { +// this.field_73064_N.add(var6); +// this.pendingTickListEntries.add(var6); +// } } /**