mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@c1b4899 Fix dupe uuid check on entity add (#6735) PaperMC/Paper@3f043f7 Async catch modifications to critical entity state PaperMC/Paper@bc43f40 Update jline and TCA (#6829) PaperMC/Paper@d9e2817 Update paperweight to 1.1.13 (#6866) PaperMC/Paper@3e310e0 Remove redundant and unneeded repos, reorder repos (#6867) PaperMC/Paper@485d15f Update paperweight to 1.1.14 (#6868) PaperMC/Paper@09d50a9 Added missing mappings (#6810) PaperMC/Paper@0968cdd Move async catches back to where they were (#6869) PaperMC/Paper@6f71b7c Deduplicate strings in ObfHelper (#6841) PaperMC/Paper@ada930b Updated Upstream (Bukkit/CraftBukkit) (#6872) PaperMC/Paper@06d82e0 Cache palette array (#6767) PaperMC/Paper@70fe58d Expose the potential player cause of a lightning (#6782) PaperMC/Paper@c20c9d3 Fix CraftNamespacedKey shenanigans (#6825) PaperMC/Paper@29bb5a9 Add PlayerDeathEvent#getPlayer for clarity (#6859) PaperMC/Paper@124d079 Fix issues with mob conversion (#6831) PaperMC/Paper@22b0238 Add API for checking if a zombie has the option to break doors (#6855) PaperMC/Paper@5af80b0 Add isCollidable methods to various places (#6870) PaperMC/Paper@32ba088 Fix setPatternColor on tropical fish bucket meta (#6877) PaperMC/Paper@87121ce Move `getTrackedPlayers` up from Player to Entity (#6569) PaperMC/Paper@a923e33 Make despawn distance configs per-category, improve per category spawn limit config (#6717) PaperMC/Paper@3f17694 Goat ram API (#6336) PaperMC/Paper@cc2ecbc Add Raw Byte Entity Serialization (#6826) Airplane Changes: TECHNOVE/Airplane@e47949b Ty Penple <3 TECHNOVE/Airplane@86fee6b Update upstream
126 lines
4.4 KiB
Diff
126 lines
4.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: YouHaveTrouble <youhavetrouble@youhavetrouble.me>
|
|
Date: Sun, 22 Aug 2021 05:11:09 +0200
|
|
Subject: [PATCH] Extended OfflinePlayer API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
|
|
index 7838731e0e16bdccfb79e74ceb64148f7c52db79..8ea59406ddb2293af66719a893e6f13d8377b81e 100644
|
|
--- a/src/main/java/org/bukkit/OfflinePlayer.java
|
|
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
|
|
@@ -437,4 +437,114 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
|
|
* for the statistic
|
|
*/
|
|
public void setStatistic(@NotNull Statistic statistic, @NotNull EntityType entityType, int newValue);
|
|
+
|
|
+ // Purpur start - OfflinePlayer API
|
|
+ /**
|
|
+ * Determines if the OfflinePlayer is allowed to fly via jump key double-tap like
|
|
+ * in creative mode.
|
|
+ *
|
|
+ * @return True if the player is allowed to fly.
|
|
+ */
|
|
+ public boolean getAllowFlight();
|
|
+
|
|
+ /**
|
|
+ * Sets if the OfflinePlayer is allowed to fly via jump key double-tap like in
|
|
+ * creative mode.
|
|
+ *
|
|
+ * @param flight If flight should be allowed.
|
|
+ */
|
|
+ public void setAllowFlight(boolean flight);
|
|
+
|
|
+ /**
|
|
+ * Checks to see if this player is currently flying or not.
|
|
+ *
|
|
+ * @return True if the player is flying, else false.
|
|
+ */
|
|
+ public boolean isFlying();
|
|
+
|
|
+ /**
|
|
+ * Makes this player start or stop flying.
|
|
+ *
|
|
+ * @param value True to fly.
|
|
+ */
|
|
+ public void setFlying(boolean value);
|
|
+
|
|
+ /**
|
|
+ * Sets the speed at which a client will fly. Negative values indicate
|
|
+ * reverse directions.
|
|
+ *
|
|
+ * @param value The new speed, from -1 to 1.
|
|
+ * @throws IllegalArgumentException If new speed is less than -1 or
|
|
+ * greater than 1
|
|
+ */
|
|
+ public void setFlySpeed(float value) throws IllegalArgumentException;
|
|
+
|
|
+ /**
|
|
+ * Sets the speed at which a client will walk. Negative values indicate
|
|
+ * reverse directions.
|
|
+ *
|
|
+ * @param value The new speed, from -1 to 1.
|
|
+ * @throws IllegalArgumentException If new speed is less than -1 or
|
|
+ * greater than 1
|
|
+ */
|
|
+ public void setWalkSpeed(float value) throws IllegalArgumentException;
|
|
+
|
|
+ /**
|
|
+ * Gets the current allowed speed that a client can fly.
|
|
+ *
|
|
+ * @return The current allowed speed, from -1 to 1
|
|
+ */
|
|
+ public float getFlySpeed();
|
|
+
|
|
+ /**
|
|
+ * Gets the current allowed speed that a client can walk.
|
|
+ *
|
|
+ * @return The current allowed speed, from -1 to 1
|
|
+ */
|
|
+ public float getWalkSpeed();
|
|
+
|
|
+ /**
|
|
+ * Gets the entity's current position
|
|
+ *
|
|
+ * @return a new copy of Location containing the position of this offline player
|
|
+ */
|
|
+ @Nullable
|
|
+ public Location getLocation();
|
|
+
|
|
+ /**
|
|
+ * Sets OfflinePlayer's location. If player is online, it falls back to the Player#teleport implementation.
|
|
+ *
|
|
+ * @param destination
|
|
+ * @return true if teleportation was successful
|
|
+ */
|
|
+ public boolean teleportOffline(@NotNull org.bukkit.Location destination);
|
|
+
|
|
+ /**
|
|
+ * Sets OfflinePlayer's location. If player is online, it falls back to the Player#teleport implementation.
|
|
+ *
|
|
+ * @param destination
|
|
+ * @param cause Teleport cause used if player is online
|
|
+ * @return true if teleportation was successful
|
|
+ */
|
|
+ public boolean teleportOffline(@NotNull org.bukkit.Location destination, @NotNull org.bukkit.event.player.PlayerTeleportEvent.TeleportCause cause);
|
|
+
|
|
+ /**
|
|
+ * Sets OfflinePlayer's location. If player is online, it falls back to the Player#teleportAsync implementation.
|
|
+ *
|
|
+ * @param destination
|
|
+ * @return <code>true</code> if teleportation successful
|
|
+ */
|
|
+ @NotNull
|
|
+ public java.util.concurrent.CompletableFuture<Boolean> teleportOfflineAsync(@NotNull Location destination);
|
|
+
|
|
+ /**
|
|
+ * Sets OfflinePlayer's location. If player is online, it falls back to the Player#teleportAsync implementation.
|
|
+ *
|
|
+ * @param destination
|
|
+ * @param cause Teleport cause used if player is online
|
|
+ * @return <code>true</code> if teleportation successful
|
|
+ */
|
|
+ @NotNull
|
|
+ public java.util.concurrent.CompletableFuture<Boolean> teleportOfflineAsync(@NotNull Location destination, @NotNull org.bukkit.event.player.PlayerTeleportEvent.TeleportCause cause);
|
|
+ // Purpur end - OfflinePlayer API
|
|
}
|