Handing Mining Laser Block Drops

  • Or more specifically, I have a block that I don't want to have destroyed instantly when it gets hit with a mining laser as it is supposed to drop one item, then replace itself at a lower metadata (I'm making an ore that drops partial ingots without changing the vein size or resource rate, but rather increasing the mining time without making the block hardness absurd).

    From piecing together what the mining laser does when it encounters a block is call "dropBlockAsItemWithChance" and then "setBlockToAir" which means that my block can never make sure it's not destroyed in the intended manner (as the location its at is still not-air when dropBlockAsItem is called, blockDestroyedByPlayer is never called, blockRemovedByPlayer is never called...) so the mining laser is actually reducing the amount of item drops the player would be expecting by a factor of 8 to 16 (depending on the metadata of the block to start with, modified slightly by random chance).

    I've managed to somewhat detect the behavior, but I'd still rather the mining laser have to burn through all of the remaining metas one after the other so that the block hardness is appropriately counted towards the beam degradation. Is there a way to do this?