|
|
|
@ -41,7 +41,7 @@ public class BlockLeaves extends BlockLeavesBase
|
|
|
|
|
* 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 = par1IBlockAccess.getBlockMetadata(par2, par3, par4);
|
|
|
|
|
|
|
|
|
@ -63,7 +63,7 @@ public class BlockLeaves extends BlockLeavesBase
|
|
|
|
|
{
|
|
|
|
|
for (int var10 = -1; var10 <= 1; ++var10)
|
|
|
|
|
{
|
|
|
|
|
int var11 = par1IBlockAccess.getBiomeGenForCoords(par2 + var10, par4 + var9).getBiomeFoliageColor();
|
|
|
|
|
int var11 = par1IBlockAccess.getBiomeGenForCoords(par2.add(BigInteger.valueOf(var10)), par4.add(BigInteger.valueOf(var9))).getBiomeFoliageColor();
|
|
|
|
|
var6 += (var11 & 16711680) >> 16;
|
|
|
|
|
var7 += (var11 & 65280) >> 8;
|
|
|
|
|
var8 += var11 & 255;
|
|
|
|
@ -82,20 +82,22 @@ public class BlockLeaves extends BlockLeavesBase
|
|
|
|
|
byte var7 = 1;
|
|
|
|
|
int var8 = var7 + 1;
|
|
|
|
|
|
|
|
|
|
if (par1World.checkChunksExist(par2 - var8, par3 - var8, par4 - var8, par2 + var8, par3 + var8, par4 + var8))
|
|
|
|
|
if (par1World.checkChunksExist(par2.subtract(BigInteger.valueOf(var8)), par3 - var8, par4.subtract(BigInteger.valueOf(var8)), par2.add(BigInteger.valueOf(var8)), par3 + var8, par4.add(BigInteger.valueOf(var8))))
|
|
|
|
|
{
|
|
|
|
|
// Thank you very much, Mojang, You are using correct loop method.
|
|
|
|
|
// 谢谢您,Mojang,您使用了正确的循环方式。
|
|
|
|
|
for (int var9 = -var7; var9 <= var7; ++var9)
|
|
|
|
|
{
|
|
|
|
|
for (int var10 = -var7; var10 <= var7; ++var10)
|
|
|
|
|
{
|
|
|
|
|
for (int var11 = -var7; var11 <= var7; ++var11)
|
|
|
|
|
{
|
|
|
|
|
int var12 = par1World.getBlockId(par2 + var9, par3 + var10, par4 + var11);
|
|
|
|
|
int var12 = par1World.getBlockId(par2.add(BigInteger.valueOf(var9)), par3 + var10, par4.add(BigInteger.valueOf(var11)));
|
|
|
|
|
|
|
|
|
|
if (var12 == Block.leaves.blockID)
|
|
|
|
|
{
|
|
|
|
|
int var13 = par1World.getBlockMetadata(par2 + var9, par3 + var10, par4 + var11);
|
|
|
|
|
par1World.setBlockMetadata(par2 + var9, par3 + var10, par4 + var11, var13 | 8);
|
|
|
|
|
int var13 = par1World.getBlockMetadata(par2.add(BigInteger.valueOf(var9)), par3 + var10, par4.add(BigInteger.valueOf(var11)));
|
|
|
|
|
par1World.setBlockMetadata(par2.add(BigInteger.valueOf(var9)), par3 + var10, par4.add(BigInteger.valueOf(var11)), var13 | 8);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -106,7 +108,7 @@ public class BlockLeaves extends BlockLeavesBase
|
|
|
|
|
/**
|
|
|
|
|
* 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)
|
|
|
|
|
{
|
|
|
|
@ -127,7 +129,7 @@ public class BlockLeaves extends BlockLeavesBase
|
|
|
|
|
|
|
|
|
|
int var12;
|
|
|
|
|
|
|
|
|
|
if (par1World.checkChunksExist(par2 - var8, par3 - var8, par4 - var8, par2 + var8, par3 + var8, par4 + var8))
|
|
|
|
|
if (par1World.checkChunksExist(par2.subtract(BigInteger.valueOf(var8)), par3 - var8, par4.subtract(BigInteger.valueOf(var8)), par2.add(BigInteger.valueOf(var8)), par3 + var8, par4.add(BigInteger.valueOf(var8))))
|
|
|
|
|
{
|
|
|
|
|
int var13;
|
|
|
|
|
int var14;
|
|
|
|
@ -139,7 +141,7 @@ public class BlockLeaves extends BlockLeavesBase
|
|
|
|
|
{
|
|
|
|
|
for (var14 = -var7; var14 <= var7; ++var14)
|
|
|
|
|
{
|
|
|
|
|
var15 = par1World.getBlockId(par2 + var12, par3 + var13, par4 + var14);
|
|
|
|
|
var15 = par1World.getBlockId(par2.add(BigInteger.valueOf(var12)), par3 + var13, par4.add(BigInteger.valueOf(var14)));
|
|
|
|
|
|
|
|
|
|
if (var15 == Block.wood.blockID)
|
|
|
|
|
{
|
|
|
|
@ -220,18 +222,18 @@ public class BlockLeaves extends BlockLeavesBase
|
|
|
|
|
/**
|
|
|
|
|
* 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 (par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) && par5Random.nextInt(15) == 1)
|
|
|
|
|
{
|
|
|
|
|
double var6 = (double)((float)par2 + par5Random.nextFloat());
|
|
|
|
|
double var6 = (double)((float)par2.floatValue() + par5Random.nextFloat());
|
|
|
|
|
double var8 = (double)par3 - 0.05D;
|
|
|
|
|
double var10 = (double)((float)par4 + par5Random.nextFloat());
|
|
|
|
|
double var10 = (double)((float)par4.floatValue() + par5Random.nextFloat());
|
|
|
|
|
par1World.spawnParticle("dripWater", var6, var8, var10, 0.0D, 0.0D, 0.0D);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void removeLeaves(World par1World, int par2, int par3, int par4)
|
|
|
|
|
private void removeLeaves(World par1World, BigInteger par2, int par3, BigInteger par4)
|
|
|
|
|
{
|
|
|
|
|
this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0);
|
|
|
|
|
par1World.setBlockWithNotify(par2, par3, par4, 0);
|
|
|
|
@ -256,7 +258,7 @@ public class BlockLeaves extends BlockLeavesBase
|
|
|
|
|
/**
|
|
|
|
|
* Drops the block items with a specified chance of dropping the specified items
|
|
|
|
|
*/
|
|
|
|
|
public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7)
|
|
|
|
|
public void dropBlockAsItemWithChance(World par1World, BigInteger par2, int par3, BigInteger par4, int par5, float par6, int par7)
|
|
|
|
|
{
|
|
|
|
|
if (!par1World.isRemote)
|
|
|
|
|
{
|
|
|
|
@ -284,7 +286,7 @@ public class BlockLeaves extends BlockLeavesBase
|
|
|
|
|
* 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)
|
|
|
|
|
{
|
|
|
|
|
if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.shiftedIndex)
|
|
|
|
|
{
|
|
|
|
|