54 lines
2.4 KiB
Diff
54 lines
2.4 KiB
Diff
--- ../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);
|
|
}
|
|
}
|