/// <summary>
        /// Called when a player completes the destruction of a block
        /// </summary>
        public override bool OnPlayerDestroyBlock(int par1, int par2, int par3, int par4)
        {
            int       i         = Mc.TheWorld.GetBlockId(par1, par2, par3);
            int       j         = Mc.TheWorld.GetBlockMetadata(par1, par2, par3);
            bool      flag      = base.OnPlayerDestroyBlock(par1, par2, par3, par4);
            ItemStack itemstack = Mc.ThePlayer.GetCurrentEquippedItem();
            bool      flag1     = Mc.ThePlayer.CanHarvestBlock(Block.BlocksList[i]);

            if (itemstack != null)
            {
                itemstack.OnDestroyBlock(i, par1, par2, par3, Mc.ThePlayer);

                if (itemstack.StackSize == 0)
                {
                    itemstack.OnItemDestroyedByUse(Mc.ThePlayer);
                    Mc.ThePlayer.DestroyCurrentEquippedItem();
                }
            }

            if (flag && flag1)
            {
                Block.BlocksList[i].HarvestBlock(Mc.TheWorld, Mc.ThePlayer, par1, par2, par3, j);
            }

            return(flag);
        }
        /// <summary>
        /// Called when a player completes the destruction of a block
        /// </summary>
        public override bool OnPlayerDestroyBlock(int par1, int par2, int par3, int par4)
        {
            if (CreativeMode)
            {
                return(base.OnPlayerDestroyBlock(par1, par2, par3, par4));
            }

            int       i         = Mc.TheWorld.GetBlockId(par1, par2, par3);
            bool      flag      = base.OnPlayerDestroyBlock(par1, par2, par3, par4);
            ItemStack itemstack = Mc.ThePlayer.GetCurrentEquippedItem();

            if (itemstack != null)
            {
                itemstack.OnDestroyBlock(i, par1, par2, par3, Mc.ThePlayer);

                if (itemstack.StackSize == 0)
                {
                    itemstack.OnItemDestroyedByUse(Mc.ThePlayer);
                    Mc.ThePlayer.DestroyCurrentEquippedItem();
                }
            }

            return(flag);
        }