for(DiggingRecipe r : RECIPES) {
if(e.getEntityPlayer() != null) {
if(!(e.getWorld().isRemote)) {
if(b == r.getMainBlock() && i.getItem() instanceof ItemMiniShovel) {
if(e.getEntityPlayer().isSneaking()) {
e.getEntityPlayer().dropItem(new ItemStack(r.getBallOutput(), 1), false);
e.getEntityLiving().getHeldItemMainhand().damageItem(1, e.getEntityPlayer());
e.getWorld().playSound(null, e.getPos(), b.getSoundType().getBreakSound(), SoundCategory.BLOCKS,b.getSoundType().getVolume() * 0.4F, b.getSoundType().getPitch() + (float) (Math.random() * 0.2 - 0.1));
}
}
}
}
}
nooooo
dont do it like this first check if the player is null and if the world if remote and then loop over your recipes
and now on topic:
have you placed a breakpoint on it ??