--- ../work/decompile-8eb82bde//net/minecraft/server/BlockOre.java 2014-11-28 17:43:42.929707439 +0000 +++ src/main/java/net/minecraft/server/BlockOre.java 2014-11-28 17:38:23.000000000 +0000 @@ -33,6 +33,7 @@ public void dropNaturally(World world, BlockPosition blockposition, IBlockData iblockdata, float f, int i) { super.dropNaturally(world, blockposition, iblockdata, f, i); + /* CraftBukkit start - Delegated to getExpDrop if (this.getDropType(iblockdata, world.random, i) != Item.getItemOf(this)) { int j = 0; @@ -50,7 +51,31 @@ this.dropExperience(world, blockposition, j); } + // */ + } + + @Override + public int getExpDrop(World world, IBlockData iblockdata, int i) { + if (this.getDropType(iblockdata, world.random, i) != Item.getItemOf(this)) { + int j = 0; + + if (this == Blocks.COAL_ORE) { + j = MathHelper.nextInt(world.random, 0, 2); + } else if (this == Blocks.DIAMOND_ORE) { + j = MathHelper.nextInt(world.random, 3, 7); + } else if (this == Blocks.EMERALD_ORE) { + j = MathHelper.nextInt(world.random, 3, 7); + } else if (this == Blocks.LAPIS_ORE) { + j = MathHelper.nextInt(world.random, 2, 5); + } else if (this == Blocks.QUARTZ_ORE) { + j = MathHelper.nextInt(world.random, 2, 5); + } + + return j; + } + return 0; + // CraftBukkit end } public int getDropData(World world, BlockPosition blockposition) {