Commits
md_5 authored 6d4b25bf197
189 189 | } |
190 190 | |
191 191 | entityhorsechestedabstract = (EntityHorseChestedAbstract) iterator1.next(); |
192 192 | - } while (!entityhorsechestedabstract.isTamed() || !entityhorsechestedabstract.getSlot(499).set(itemstack)); |
193 193 | + // CraftBukkit start |
194 194 | + } while (!entityhorsechestedabstract.isTamed()); |
195 195 | + ItemStack itemstack1 = itemstack.split(1); |
196 196 | + World world = sourceblock.level(); |
197 197 | + org.bukkit.block.Block block = CraftBlock.at(world, sourceblock.pos()); |
198 198 | + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1); |
199 - | + |
199 + | |
200 + | - itemstack.shrink(1); |
200 201 | + BlockDispenseArmorEvent event = new BlockDispenseArmorEvent(block, craftItem.clone(), (org.bukkit.craftbukkit.entity.CraftLivingEntity) entityhorsechestedabstract.getBukkitEntity()); |
201 202 | + if (!BlockDispenser.eventFired) { |
202 203 | + world.getCraftServer().getPluginManager().callEvent(event); |
203 204 | + } |
204 - | |
205 - | - itemstack.shrink(1); |
205 + | + |
206 206 | + if (event.isCancelled()) { |
207 207 | + return itemstack; |
208 208 | + } |
209 209 | + |
210 210 | + if (!event.getItem().equals(craftItem)) { |
211 211 | + // Chain to handler for new item |
212 212 | + ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); |
213 213 | + IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.DISPENSER_REGISTRY.get(eventStack.getItem()); |
214 214 | + if (idispensebehavior != IDispenseBehavior.NOOP && idispensebehavior != ItemArmor.DISPENSE_ITEM_BEHAVIOR) { |
215 215 | + idispensebehavior.dispense(sourceblock, eventStack); |