diff --git a/paper-server/patches/sources/net/minecraft/server/level/ServerLevel.java.patch b/paper-server/patches/sources/net/minecraft/server/level/ServerLevel.java.patch index 3845d17a6..181ca0c6e 100644 --- a/paper-server/patches/sources/net/minecraft/server/level/ServerLevel.java.patch +++ b/paper-server/patches/sources/net/minecraft/server/level/ServerLevel.java.patch @@ -139,7 +139,7 @@ Executor dispatcher, LevelStorageSource.LevelStorageAccess levelStorageAccess, - ServerLevelData serverLevelData, -+ PrimaryLevelData serverLevelData, // CraftBukkit ++ net.minecraft.world.level.storage.PrimaryLevelData serverLevelData, // CraftBukkit ResourceKey dimension, LevelStem levelStem, ChunkProgressListener progressListener, 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 637335db7..1df6bae85 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 @@ -78,30 +78,20 @@ factory.create(level, owner, spawnedFrom), level, spawnedFrom, -@@ -200,7 +_,22 @@ - float velocity, - float inaccuracy +@@ -206,7 +_,12 @@ + public static T spawnProjectileUsingShoot( + T projectile, ServerLevel level, ItemStack spawnedFrom, double x, double y, double z, float velocity, float inaccuracy ) { -- return spawnProjectile(factory.create(level, owner, spawnedFrom), level, spawnedFrom, projectile -> projectile.shoot(x, y, z, velocity, inaccuracy)); -+ // Paper start - fixes and addition to spawn reason API -+ return Projectile.spawnProjectileUsingShootDelayed(factory, level, spawnedFrom, owner, x, y, z, velocity, inaccuracy).spawn(); +- return spawnProjectile(projectile, level, spawnedFrom, projectile1 -> projectile.shoot(x, y, z, velocity, inaccuracy)); ++ // Paper start - fixes and addition to spawn reason API ++ return spawnProjectileUsingShootDelayed(projectile, level, spawnedFrom, x, y, z, velocity, inaccuracy).spawn(); + } -+ public static Delayed spawnProjectileUsingShootDelayed( -+ Projectile.ProjectileFactory factory, -+ ServerLevel level, -+ ItemStack spawnedFrom, -+ LivingEntity owner, -+ double x, -+ double y, -+ double z, -+ float velocity, -+ float inaccuracy -+ ) { -+ return spawnProjectileDelayed(factory.create(level, owner, spawnedFrom), level, spawnedFrom, projectile -> projectile.shoot(x, y, z, velocity, inaccuracy)); -+ // Paper end - fixes and addition to spawn reason API ++ public static Delayed spawnProjectileUsingShootDelayed(T projectile, ServerLevel level, ItemStack spawnedFrom, double x, double y, double z, float velocity, float inaccuracy) { ++ return spawnProjectileDelayed(projectile, level, spawnedFrom, projectile1 -> projectile.shoot(x, y, z, velocity, inaccuracy)); ++ // Paper end - fixes and addition to spawn reason API } - public static T spawnProjectileUsingShoot( + public static T spawnProjectile(T projectile, ServerLevel level, ItemStack spawnedFrom) { @@ -214,11 +_,45 @@ }