diff --git a/paper-server/patches/sources/net/minecraft/world/entity/projectile/Projectile.java.patch b/paper-server/patches/sources/net/minecraft/world/entity/projectile/Projectile.java.patch index bbddee96ba82..dfe689e028d9 100644 --- a/paper-server/patches/sources/net/minecraft/world/entity/projectile/Projectile.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/entity/projectile/Projectile.java.patch @@ -8,7 +8,7 @@ protected Projectile(EntityType type, Level level) { super(type, level); -@@ -51,12 +_,25 @@ +@@ -51,12 +_,29 @@ protected void setOwner(@Nullable EntityReference owner) { this.owner = owner; @@ -21,6 +21,10 @@ + // Paper start - Refresh ProjectileSource for projectiles + public void refreshProjectileSource(boolean fillCache) { ++ // Prevent async owner lookup during world gen, ++ // saved structures with entity inside will cause this to throw an exception. ++ // In this situation, owner lookup will be handled by CB's AbstractProjecile#getShooter ++ if (this.generation) return; + if (fillCache) { + this.getOwner(); + }