--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java
@@ -26,6 +_,7 @@
 
     @Override
     public net.minecraft.world.entity.projectile.Arrow 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.Arrow) this.entity;
     }
 
@@ -89,6 +_,13 @@
         this.getHandle().setPotionContents(new PotionContents(old.potion(), old.customColor(), old.customEffects().stream().filter((mobEffect) -> !mobEffect.getEffect().equals(minecraft)).toList(), old.customName()));
         return true;
     }
+
+    // Folia start - region threading
+    @Override
+    public net.minecraft.world.entity.projectile.AbstractArrow getHandleRaw() {
+        return (net.minecraft.world.entity.projectile.AbstractArrow)this.entity;
+    }
+    // Folia end - region threading
 
     @Override
     public void setBasePotionData(PotionData data) {
