summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/BlockVine.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/BlockVine.java')
-rw-r--r--src/main/java/net/minecraft/server/BlockVine.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/BlockVine.java b/src/main/java/net/minecraft/server/BlockVine.java
index d6bda347..633c9585 100644
--- a/src/main/java/net/minecraft/server/BlockVine.java
+++ b/src/main/java/net/minecraft/server/BlockVine.java
@@ -1,5 +1,6 @@
package net.minecraft.server;
+import java.util.ArrayList; // CraftBukkit
import java.util.Random;
public class BlockVine extends Block {
@@ -286,9 +287,25 @@ public class BlockVine extends Block {
public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) {
if (!world.isStatic && entityhuman.T() != null && entityhuman.T().id == Item.SHEARS.id) {
entityhuman.a(StatisticList.C[this.id], 1);
+ /* CraftBukkit start - moved this line into calculateDrops
this.a(world, i, j, k, new ItemStack(Block.VINE, 1, 0));
+ */
+ this.doActualDrop(world, entityhuman, i, j, k, l);
+ // CraftBukkit end
} else {
super.a(world, entityhuman, i, j, k, l);
}
}
+
+ // CraftBukkit start - Calculate drops
+ public ArrayList<ItemStack> calculateDrops(World world, EntityHuman entityhuman, int i, int j, int k, int l) {
+ if (!world.isStatic && entityhuman.T() != null && entityhuman.T().id == Item.SHEARS.id) {
+ super.dropList = new ArrayList<ItemStack>();
+ this.a(world, i, j, k, new ItemStack(Block.VINE, 1, 0));
+ return super.dropList;
+ } else {
+ return super.calculateDrops(world, entityhuman, i, j, k, l);
+ }
+ }
+ // CraftBukkit end
}