1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
@@ -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) {
|