aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0367-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0367-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch')
-rw-r--r--patches/api/0367-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/patches/api/0367-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/api/0367-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
new file mode 100644
index 0000000000..291761dadb
--- /dev/null
+++ b/patches/api/0367-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
@@ -0,0 +1,34 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: MelnCat <[email protected]>
+Date: Mon, 19 Sep 2022 14:04:13 -0700
+Subject: [PATCH] Add a consumer parameter to ProjectileSource#launchProjectile
+
+
+diff --git a/src/main/java/org/bukkit/projectiles/ProjectileSource.java b/src/main/java/org/bukkit/projectiles/ProjectileSource.java
+index eabd8b926ec1c934cd7e77b7cc6adfae16771021..96ebd30d339060758e726e9e1e7428d1d0813c17 100644
+--- a/src/main/java/org/bukkit/projectiles/ProjectileSource.java
++++ b/src/main/java/org/bukkit/projectiles/ProjectileSource.java
+@@ -31,4 +31,23 @@ public interface ProjectileSource {
+ */
+ @NotNull
+ public <T extends Projectile> T launchProjectile(@NotNull Class<? extends T> projectile, @Nullable Vector velocity);
++
++ // Paper start - add consumer to launchProjectile
++ /**
++ * Launches a {@link Projectile} from the ProjectileSource with an
++ * initial velocity, with the supplied function run before the
++ * entity is added to the world.
++ * <br>
++ * Note that when the function is run, the entity will not be actually in
++ * the world. Any operation involving such as teleporting the entity is undefined
++ * until after this function returns.
++ *
++ * @param <T> a projectile subclass
++ * @param projectile class of the projectile to launch
++ * @param velocity the velocity with which to launch
++ * @param function the function to be run before the entity is spawned
++ * @return the launched projectile
++ */
++ <T extends Projectile> @NotNull T launchProjectile(@NotNull Class<? extends T> projectile, @Nullable Vector velocity, java.util.function.@Nullable Consumer<? super T> function);
++ // Paper end - add consumer to launchProjectile
+ }