diff --git a/patches/api/Add-PlayerJumpEvent.patch b/patches/api/Add-PlayerJumpEvent.patch index 712ff53bb1..cc144c6983 100644 --- a/patches/api/Add-PlayerJumpEvent.patch +++ b/patches/api/Add-PlayerJumpEvent.patch @@ -102,7 +102,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + */ + @NotNull + public Location getTo() { -+ return this.to; ++ return this.to.clone(); + } + + @NotNull diff --git a/patches/api/Missing-Entity-API.patch b/patches/api/Missing-Entity-API.patch index ea3ea5d81b..f4a1a2dd0e 100644 --- a/patches/api/Missing-Entity-API.patch +++ b/patches/api/Missing-Entity-API.patch @@ -9,6 +9,7 @@ Co-authored-by: William Blake Galbreath Co-authored-by: SoSeDiK Co-authored-by: booky10 Co-authored-by: Amin +Co-authored-by: TrollyLoki diff --git a/src/main/java/io/papermc/paper/entity/SchoolableFish.java b/src/main/java/io/papermc/paper/entity/SchoolableFish.java new file mode 100644 @@ -413,6 +414,43 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + int getLifetimeTicks(); + // Paper end } +diff --git a/src/main/java/org/bukkit/entity/Fireball.java b/src/main/java/org/bukkit/entity/Fireball.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/entity/Fireball.java ++++ b/src/main/java/org/bukkit/entity/Fireball.java +@@ -0,0 +0,0 @@ public interface Fireball extends Projectile, Explosive { + @NotNull + public Vector getDirection(); + ++ // Paper start - Expose power on fireball projectiles ++ /** ++ * {@inheritDoc} ++ *

++ * Note: For fireball entities, their movement is also controlled by their power. ++ * ++ * @param velocity New velocity to travel with ++ * @see #setPower(Vector) ++ */ ++ @Override ++ public void setVelocity(@NotNull Vector velocity); ++ ++ /** ++ * Sets the power of a fireball. The power determines the direction and magnitude of its acceleration. ++ * ++ * @param power the power ++ */ ++ public void setPower(@NotNull Vector power); ++ ++ /** ++ * Gets the power of a fireball. The power determines the direction and magnitude of its acceleration. ++ * ++ * @return the power ++ */ ++ @NotNull ++ public Vector getPower(); ++ // Paper end - Expose power on fireball projectiles ++ + } diff --git a/src/main/java/org/bukkit/entity/Fox.java b/src/main/java/org/bukkit/entity/Fox.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/entity/Fox.java diff --git a/patches/server/Make-setVelocity-method-of-Fireballs-change-the-trav.patch b/patches/server/Make-setVelocity-method-of-Fireballs-change-the-trav.patch deleted file mode 100644 index 2d6a270440..0000000000 --- a/patches/server/Make-setVelocity-method-of-Fireballs-change-the-trav.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: TrollyLoki -Date: Tue, 10 Oct 2023 00:45:01 -0400 -Subject: [PATCH] Make setVelocity method of Fireballs change the travel - direction to an arbitrary vector - - -diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java -+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java -@@ -0,0 +0,0 @@ public class CraftFireball extends AbstractProjectile implements Fireball { - this.update(); // SPIGOT-6579 - } - -+ // Paper start - set direction without normalizing -+ @Override -+ public void setVelocity(Vector velocity) { -+ Preconditions.checkArgument(velocity != null, "Vector velocity cannot be null"); -+ velocity.checkFinite(); -+ this.getHandle().xPower = velocity.getX(); -+ this.getHandle().yPower = velocity.getY(); -+ this.getHandle().zPower = velocity.getZ(); -+ update(); -+ } -+ // Paper end - set direction without normalizing -+ - @Override - public AbstractHurtingProjectile getHandle() { - return (AbstractHurtingProjectile) this.entity; diff --git a/patches/server/Missing-Entity-API.patch b/patches/server/Missing-Entity-API.patch index ad4a041c50..b02a421c9e 100644 --- a/patches/server/Missing-Entity-API.patch +++ b/patches/server/Missing-Entity-API.patch @@ -36,6 +36,7 @@ Co-authored-by: William Blake Galbreath Co-authored-by: SoSeDiK Co-authored-by: booky10 Co-authored-by: Amin +Co-authored-by: TrollyLoki diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 @@ -666,6 +667,31 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + } + // Paper end } +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java +@@ -0,0 +0,0 @@ public class CraftFireball extends AbstractProjectile implements Fireball { + this.update(); // SPIGOT-6579 + } + ++ // Paper start - Expose power on fireball projectiles ++ @Override ++ public void setPower(final Vector power) { ++ this.getHandle().xPower = power.getX(); ++ this.getHandle().yPower = power.getY(); ++ this.getHandle().zPower = power.getZ(); ++ } ++ ++ @Override ++ public Vector getPower() { ++ return new Vector(this.getHandle().xPower, this.getHandle().yPower, this.getHandle().zPower); ++ } ++ // Paper end - Expose power on fireball projectiles ++ + @Override + public AbstractHurtingProjectile getHandle() { + return (AbstractHurtingProjectile) this.entity; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java