diff --git a/Spigot-API-Patches/Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch b/Spigot-API-Patches/Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch
new file mode 100644
index 0000000000..b2f0b6575b
--- /dev/null
+++ b/Spigot-API-Patches/Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch
@@ -0,0 +1,55 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Brokkonaut <hannos17@gmx.de>
+Date: Sat, 30 Jun 2018 05:45:04 +0200
+Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the
+ projectile has hit
+
+
+diff --git a/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java b/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java
+index 35f4148b..db105e76 100644
+--- a/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java
++++ b/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java
+@@ -0,0 +0,0 @@ public class ProjectileHitEvent extends EntityEvent {
+     private static final HandlerList handlers = new HandlerList();
+     private final Entity hitEntity;
+     private final Block hitBlock;
++    private final org.bukkit.block.BlockFace hitBlockFace; // Paper
+ 
+     public ProjectileHitEvent(final Projectile projectile) {
+         this(projectile, null, null);
+@@ -0,0 +0,0 @@ public class ProjectileHitEvent extends EntityEvent {
+     }
+ 
+     public ProjectileHitEvent(final Projectile projectile, Entity hitEntity, Block hitBlock) {
++        // Paper Start - Add a constructor that includes a BlockFace parameter
++        this(projectile, hitEntity, hitBlock, null);
++    }
++
++    public ProjectileHitEvent(final Projectile projectile, Entity hitEntity, Block hitBlock, org.bukkit.block.BlockFace hitBlockFace) {
++        // Paper End
+         super(projectile);
+         this.hitEntity = hitEntity;
+         this.hitBlock = hitBlock;
++        this.hitBlockFace = hitBlockFace; // Paper
+     }
+ 
+     @Override
+@@ -0,0 +0,0 @@ public class ProjectileHitEvent extends EntityEvent {
+         return hitBlock;
+     }
+ 
++    // Paper Start
++    /**
++     * Gets the face of the block that the projectile has hit.
++     *
++     * @return hit block face or else null
++     */
++    public org.bukkit.block.BlockFace getHitBlockFace() {
++        return hitBlockFace;
++    }
++    // Paper End
++
+     /**
+      * Gets the entity that was hit, if it was an entity that was hit.
+      *
+--
\ No newline at end of file
diff --git a/Spigot-Server-Patches/Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch b/Spigot-Server-Patches/Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch
new file mode 100644
index 0000000000..6aa4ca7209
--- /dev/null
+++ b/Spigot-Server-Patches/Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch
@@ -0,0 +1,21 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Brokkonaut <hannos17@gmx.de>
+Date: Sat, 30 Jun 2018 05:45:39 +0200
+Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the
+ projectile has hit
+
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+index 9b19c055d..248873fb4 100644
+--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
++++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+@@ -0,0 +0,0 @@ public class CraftEventFactory {
+             hitBlock = entity.getBukkitEntity().getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ());
+         }
+ 
+-        ProjectileHitEvent event = new ProjectileHitEvent((Projectile) entity.getBukkitEntity(), position.entity == null ? null : position.entity.getBukkitEntity(), hitBlock);
++        ProjectileHitEvent event = new ProjectileHitEvent((Projectile) entity.getBukkitEntity(), position.entity == null ? null : position.entity.getBukkitEntity(), hitBlock, position.direction == null ? null : CraftBlock.notchToBlockFace(position.direction)); // Paper - add BlockFace parameter
+         entity.world.getServer().getPluginManager().callEvent(event);
+         return event;
+     }
+--
\ No newline at end of file