--- ../src_base/common/net/minecraft/src/BlockSnow.java +++ ../src_work/common/net/minecraft/src/BlockSnow.java @@ -57,7 +57,8 @@ public boolean canPlaceBlockAt(World par1World, int par2, int par3, int 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; + Block block = Block.blocksList[var5]; + return block != null && (block.isLeaves(par1World, par2, par3 - 1, par4) || Block.blocksList[var5].isOpaqueCube()) ? par1World.getBlockMaterial(par2, par3 - 1, par4).blocksMovement() : false; } /** @@ -76,7 +77,6 @@ { if (!this.canPlaceBlockAt(par1World, par2, par3, par4)) { - this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); par1World.setBlockWithNotify(par2, par3, par4, 0); return false; } @@ -92,15 +92,7 @@ */ public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int 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)); - var15.delayBeforeCanPickup = 10; - par1World.spawnEntityInWorld(var15); - par1World.setBlockWithNotify(par3, par4, par5, 0); + dropBlockAsItem(par1World, par3, par4, par5, par6, 0); par2EntityPlayer.addStat(StatList.mineBlockStatArray[this.blockID], 1); } @@ -117,7 +109,7 @@ */ public int quantityDropped(Random par1Random) { - return 0; + return 1; } /** @@ -127,7 +119,6 @@ { if (par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { - this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); par1World.setBlockWithNotify(par2, par3, par4, 0); } }