--- a/src/main/java/org/bukkit/craftbukkit/entity/AbstractProjectile.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/AbstractProjectile.java
@@ -1,5 +_,6 @@
 package org.bukkit.craftbukkit.entity;
 
+import net.minecraft.world.entity.Entity;
 import org.bukkit.craftbukkit.CraftServer;
 import org.bukkit.entity.Projectile;
 
@@ -38,6 +_,13 @@
         this.getHandle().hasBeenShot = beenShot;
     }
 
+    // Folia start - region threading
+    @Override
+    public net.minecraft.world.entity.projectile.Projectile getHandleRaw() {
+        return (net.minecraft.world.entity.projectile.Projectile)this.entity;
+    }
+    // Folia end - region threading
+
     @Override
     public boolean canHitEntity(org.bukkit.entity.Entity entity) {
         return this.getHandle().canHitEntityPublic(((CraftEntity) entity).getHandle());
@@ -55,6 +_,7 @@
 
     @Override
     public net.minecraft.world.entity.projectile.Projectile getHandle() {
+        ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread(this.entity, "Accessing entity state off owning region's thread"); // Folia - region threading
         return (net.minecraft.world.entity.projectile.Projectile) entity;
     }
 
