summaryrefslogtreecommitdiffstats
path: root/nms-patches/BlockOre.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nms-patches/BlockOre.patch')
-rw-r--r--nms-patches/BlockOre.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/nms-patches/BlockOre.patch b/nms-patches/BlockOre.patch
new file mode 100644
index 00000000..473fcbaf
--- /dev/null
+++ b/nms-patches/BlockOre.patch
@@ -0,0 +1,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) {