diff options
author | Shane Freeder <[email protected]> | 2024-05-09 14:51:33 +0100 |
---|---|---|
committer | Shane Freeder <[email protected]> | 2024-05-09 14:51:33 +0100 |
commit | 3693bbdc6b65e68db10375d3eeab70f06708b729 (patch) | |
tree | 4a71a5e6e5f50b3e2937053a5d4b4196ef67665b /patches/api/0214-Player-elytra-boost-API.patch | |
parent | f2512b12385961f8ca1f69efebe5ed0e00c0caa8 (diff) | |
download | Paper-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.patch | 36 |
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 { + |