From cd0f0503a69a3bb87922c0f5505e17e1d5905917 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 21 Jul 2018 01:59:59 -0500 Subject: [PATCH] PlayerElytraBoostEvent diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java index aea46ffae5..9e86ef4ce2 100644 --- a/src/main/java/net/minecraft/server/ItemFireworks.java +++ b/src/main/java/net/minecraft/server/ItemFireworks.java @@ -35,11 +35,16 @@ public class ItemFireworks extends Item { // Paper start final EntityFireworks entityfireworks = new EntityFireworks(world, itemstack, entityhuman); entityfireworks.spawningEntity = entityhuman.getUniqueID(); - world.addEntity(entityfireworks); - // Paper end - if (!entityhuman.abilities.canInstantlyBuild) { - itemstack.subtract(1); + // Paper start + com.destroystokyo.paper.event.player.PlayerElytraBoostEvent event = new com.destroystokyo.paper.event.player.PlayerElytraBoostEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Firework) entityfireworks.getBukkitEntity()); + if (event.callEvent() && world.addEntity(entityfireworks)) { + if (event.shouldConsume() && !entityhuman.abilities.canInstantlyBuild) { + itemstack.subtract(1); + } else ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); + } else if (entityhuman instanceof EntityPlayer) { + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); } + // Paper end } return new InteractionResultWrapper<>(EnumInteractionResult.SUCCESS, entityhuman.b(enumhand)); -- 2.22.0