summaryrefslogtreecommitdiffstats
path: root/nms-patches/BlockOre.patch
blob: 473fcbafd898a099006304d5f2698785cfb3265c (plain)
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
41
42
--- ../work/decompile-bb26c12b/net/minecraft/server/BlockOre.java	2014-11-27 08:59:46.549422516 +1100
+++ src/main/java/net/minecraft/server/BlockOre.java	2014-11-27 08:42:10.144850927 +1100
@@ -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) {