summaryrefslogtreecommitdiffstats
path: root/nms-patches/BlockDispenser.patch
blob: 9cc5c12a94dc27b94c6326b4699ee3639f2a2c39 (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
--- /home/matt/mc-dev-private//net/minecraft/server/BlockDispenser.java	2015-02-26 22:40:22.103608145 +0000
+++ src/main/java/net/minecraft/server/BlockDispenser.java	2015-02-26 22:40:22.103608145 +0000
@@ -8,6 +8,7 @@
     public static final BlockStateBoolean TRIGGERED = BlockStateBoolean.of("triggered");
     public static final RegistryDefault<Item, IDispenseBehavior> N = new RegistryDefault(new DispenseBehaviorItem());
     protected Random O = new Random();
+    public static boolean eventFired = false; // CraftBukkit
 
     protected BlockDispenser() {
         super(Material.STONE);
@@ -68,7 +69,7 @@
         }
     }
 
-    protected void dispense(World world, BlockPosition blockposition) {
+    public void dispense(World world, BlockPosition blockposition) { // CraftBukkit - public
         SourceBlock sourceblock = new SourceBlock(world, blockposition);
         TileEntityDispenser tileentitydispenser = (TileEntityDispenser) sourceblock.getTileEntity();
 
@@ -83,6 +84,7 @@
 
                 if (idispensebehavior != IDispenseBehavior.a) {
                     ItemStack itemstack1 = idispensebehavior.a(sourceblock, itemstack);
+                    eventFired = false; // CraftBukkit - reset event status
 
                     tileentitydispenser.setItem(i, itemstack1.count == 0 ? null : itemstack1);
                 }