aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0214-Player-elytra-boost-API.patch
diff options
context:
space:
mode:
authorShane Freeder <[email protected]>2024-05-09 14:51:33 +0100
committerShane Freeder <[email protected]>2024-05-09 14:51:33 +0100
commit3693bbdc6b65e68db10375d3eeab70f06708b729 (patch)
tree4a71a5e6e5f50b3e2937053a5d4b4196ef67665b /patches/api/0214-Player-elytra-boost-API.patch
parentf2512b12385961f8ca1f69efebe5ed0e00c0caa8 (diff)
downloadPaper-timings/use-internals.tar.gz
Paper-timings/use-internals.zip
Use internals for getting block/entity countstimings/use-internals
For a long time I've been meaning to move some of this logic internally as this would allow us to avoid hitting systems like block state snapshots which can create issues as many of the spigot implementations of this stuff are increasingly broken, leading to unexpected crashes during ticking, even if the API cannot properly interact with these such states/items, it's generally more preferable to not crash the server in the course, and just let those interactions fail more gracefully.
Diffstat (limited to 'patches/api/0214-Player-elytra-boost-API.patch')
-rw-r--r--patches/api/0214-Player-elytra-boost-API.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/patches/api/0214-Player-elytra-boost-API.patch b/patches/api/0214-Player-elytra-boost-API.patch
new file mode 100644
index 0000000000..29d5923494
--- /dev/null
+++ b/patches/api/0214-Player-elytra-boost-API.patch
@@ -0,0 +1,36 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Trigary <[email protected]>
+Date: Tue, 14 Apr 2020 12:06:14 +0200
+Subject: [PATCH] Player elytra boost API
+
+
+diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
+index b0c0fd6687af5676d85094304ced25c1c444bc90..28a811be93b29f105dad1db91a8adccbdf9fcaf7 100644
+--- a/src/main/java/org/bukkit/entity/Player.java
++++ b/src/main/java/org/bukkit/entity/Player.java
+@@ -3289,6 +3289,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+ <T> @NotNull T getClientOption(com.destroystokyo.paper.@NotNull ClientOption<T> option);
+ // Paper end - client option API
+
++ // Paper start - elytra boost API
++ /**
++ * Boost a Player that's {@link #isGliding()} using a {@link Firework}.
++ * If the creation of the entity is cancelled, no boosting is done.
++ * This method does not fire {@link com.destroystokyo.paper.event.player.PlayerElytraBoostEvent}.
++ *
++ * @param firework The {@link Material#FIREWORK_ROCKET} to boost the player with
++ * @return The {@link Firework} boosting the Player or null if the spawning of the entity was cancelled
++ * @throws IllegalArgumentException if {@link #isGliding()} is false
++ * or if the {@code firework} isn't a {@link Material#FIREWORK_ROCKET}
++ * @deprecated use {@link HumanEntity#fireworkBoost(ItemStack)} instead. Note that this method <b>does not</b>
++ * check if the player is gliding or not.
++ */
++ default @Nullable Firework boostElytra(final @NotNull ItemStack firework) {
++ com.google.common.base.Preconditions.checkState(this.isGliding(), "Player must be gliding");
++ return this.fireworkBoost(firework);
++ }
++ // Paper end - elytra boost API
++
+ // Spigot start
+ public class Spigot extends Entity.Spigot {
+