diff --git a/Spigot-API-Patches/0251-Add-EntityLoadCrossbowEvent.patch b/Spigot-API-Patches/0251-Add-EntityLoadCrossbowEvent.patch
new file mode 100644
index 000000000..b96905bcd
--- /dev/null
+++ b/Spigot-API-Patches/0251-Add-EntityLoadCrossbowEvent.patch
@@ -0,0 +1,96 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: JRoy <joshroy126@gmail.com>
+Date: Wed, 7 Oct 2020 12:04:17 -0400
+Subject: [PATCH] Add EntityLoadCrossbowEvent
+
+
+diff --git a/src/main/java/io/papermc/paper/event/entity/EntityLoadCrossbowEvent.java b/src/main/java/io/papermc/paper/event/entity/EntityLoadCrossbowEvent.java
+new file mode 100644
+index 0000000000000000000000000000000000000000..8ba1c04af4058e70bf5925b9ccd36c3c8f8f8250
+--- /dev/null
++++ b/src/main/java/io/papermc/paper/event/entity/EntityLoadCrossbowEvent.java
+@@ -0,0 +1,84 @@
++package io.papermc.paper.event.entity;
++
++import org.bukkit.entity.LivingEntity;
++import org.bukkit.entity.Player;
++import org.bukkit.event.Cancellable;
++import org.bukkit.event.HandlerList;
++import org.bukkit.event.entity.EntityEvent;
++import org.bukkit.inventory.EquipmentSlot;
++import org.bukkit.inventory.ItemStack;
++import org.jetbrains.annotations.NotNull;
++import org.jetbrains.annotations.Nullable;
++
++/**
++ * Called when a LivingEntity loads a crossbow with a projectile.
++ */
++public class EntityLoadCrossbowEvent extends EntityEvent implements Cancellable {
++    private static final HandlerList handlers = new HandlerList();
++    private final ItemStack crossbow;
++    private final EquipmentSlot hand;
++    private boolean cancelled;
++
++    public EntityLoadCrossbowEvent(@NotNull LivingEntity entity, @Nullable ItemStack crossbow, @NotNull EquipmentSlot hand) {
++        super(entity);
++        this.crossbow = crossbow;
++        this.hand = hand;
++    }
++
++    @NotNull
++    @Override
++    public LivingEntity getEntity() {
++        return (LivingEntity) entity;
++    }
++
++    /**
++     * Gets the crossbow {@link ItemStack} being loaded.
++     *
++     * @return the crossbow involved in this event
++     */
++    @Nullable
++    public ItemStack getCrossbow() {
++        return crossbow;
++    }
++
++    /**
++     * Gets the hand from which the crossbow was loaded.
++     *
++     * @return the hand
++     */
++    @NotNull
++    public EquipmentSlot getHand() {
++        return hand;
++    }
++
++    @Override
++    public boolean isCancelled() {
++        return cancelled;
++    }
++
++    /**
++     * Set whether or not to cancel the crossbow being loaded. If canceled, the
++     * projectile that would be loaded into the crossbow will not be consumed.
++     *
++     * If set to false, and this event is pertaining to a player entity,
++     * it's recommended that a call to {@link Player#updateInventory()} is made
++     * as the client may think the server still loaded an item into the crossbow.
++     *
++     * @param cancel true if you wish to cancel this event
++     */
++    @Override
++    public void setCancelled(boolean cancel) {
++        this.cancelled = cancel;
++    }
++
++    @NotNull
++    @Override
++    public HandlerList getHandlers() {
++        return handlers;
++    }
++
++    @NotNull
++    public static HandlerList getHandlerList() {
++        return handlers;
++    }
++}
diff --git a/Spigot-Server-Patches/0636-Add-EntityLoadCrossbowEvent.patch b/Spigot-Server-Patches/0636-Add-EntityLoadCrossbowEvent.patch
new file mode 100644
index 000000000..125bbdaed
--- /dev/null
+++ b/Spigot-Server-Patches/0636-Add-EntityLoadCrossbowEvent.patch
@@ -0,0 +1,38 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: JRoy <joshroy126@gmail.com>
+Date: Wed, 7 Oct 2020 12:04:01 -0400
+Subject: [PATCH] Add EntityLoadCrossbowEvent
+
+
+diff --git a/src/main/java/net/minecraft/server/ItemCrossbow.java b/src/main/java/net/minecraft/server/ItemCrossbow.java
+index 14c0e7382292b3d39858d4d957df8016c301c712..9bf5d77db3bca4073867139844fbcdcc4d3f7c83 100644
+--- a/src/main/java/net/minecraft/server/ItemCrossbow.java
++++ b/src/main/java/net/minecraft/server/ItemCrossbow.java
+@@ -1,6 +1,7 @@
+ package net.minecraft.server;
+ 
+ import com.google.common.collect.Lists;
++import io.papermc.paper.event.entity.EntityLoadCrossbowEvent; // Paper - EntityLoadCrossbowEvent namespace conflicts
+ import java.util.List;
+ import java.util.Random;
+ import java.util.function.Predicate;
+@@ -50,7 +51,10 @@ public class ItemCrossbow extends ItemProjectileWeapon implements ItemVanishable
+         int j = this.e_(itemstack) - i;
+         float f = a(j, itemstack);
+ 
+-        if (f >= 1.0F && !d(itemstack) && a(entityliving, itemstack)) {
++        // Paper start - EntityLoadCrossbowEvent
++        if (f >= 1.0F && !d(itemstack) /*&& a(entityliving, itemstack)*/) {
++            if (!new EntityLoadCrossbowEvent(entityliving.getBukkitLivingEntity(), itemstack.asBukkitMirror(), entityliving.getRaisedHand() == EnumHand.MAIN_HAND ? org.bukkit.inventory.EquipmentSlot.HAND : org.bukkit.inventory.EquipmentSlot.OFF_HAND).callEvent() || !attemptProjectileLoad(entityliving, itemstack)) return;
++        // Paper end
+             a(itemstack, true);
+             SoundCategory soundcategory = entityliving instanceof EntityHuman ? SoundCategory.PLAYERS : SoundCategory.HOSTILE;
+ 
+@@ -59,6 +63,7 @@ public class ItemCrossbow extends ItemProjectileWeapon implements ItemVanishable
+ 
+     }
+ 
++    private static boolean attemptProjectileLoad(EntityLiving ent, ItemStack bow) { return a(ent, bow); } // Paper - EntityLoadCrossbowEvent - OBFHELPER
+     private static boolean a(EntityLiving entityliving, ItemStack itemstack) {
+         int i = EnchantmentManager.getEnchantmentLevel(Enchantments.MULTISHOT, itemstack);
+         int j = i == 0 ? 1 : 3;