2015-05-25 18:37:24 +08:00
|
|
|
--- a/net/minecraft/server/BlockOre.java
|
|
|
|
+++ b/net/minecraft/server/BlockOre.java
|
2016-05-10 19:47:39 +08:00
|
|
|
@@ -39,6 +39,7 @@
|
2014-11-26 05:32:16 +08:00
|
|
|
|
|
|
|
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;
|
|
|
|
|
2016-05-10 19:47:39 +08:00
|
|
|
@@ -56,13 +57,42 @@
|
2014-11-26 05:32:16 +08:00
|
|
|
|
|
|
|
this.dropExperience(world, blockposition, j);
|
|
|
|
}
|
2015-02-27 06:41:06 +08:00
|
|
|
+ // */
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2014-11-26 05:32:16 +08:00
|
|
|
+ @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;
|
|
|
|
+ }
|
2015-02-27 06:41:06 +08:00
|
|
|
+
|
2014-11-26 05:32:16 +08:00
|
|
|
+ return 0;
|
|
|
|
+ // CraftBukkit end
|
2015-02-27 06:41:06 +08:00
|
|
|
+ }
|
|
|
|
+
|
2016-03-01 05:32:46 +08:00
|
|
|
public ItemStack a(World world, BlockPosition blockposition, IBlockData iblockdata) {
|
|
|
|
return new ItemStack(this);
|
|
|
|
}
|
|
|
|
|
|
|
|
+ public int getDropData(World world, BlockPosition blockposition) {
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
public int getDropData(IBlockData iblockdata) {
|
|
|
|
return this == Blocks.LAPIS_ORE ? EnumColor.BLUE.getInvColorIndex() : 0;
|
2015-02-27 06:41:06 +08:00
|
|
|
}
|