diff --git a/patches/api/0029-Extended-OfflinePlayer-API.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/OfflinePlayer.java.patch similarity index 88% rename from patches/api/0029-Extended-OfflinePlayer-API.patch rename to purpur-api/paper-patches/files/src/main/java/org/bukkit/OfflinePlayer.java.patch index 932732b9a..5048818d2 100644 --- a/patches/api/0029-Extended-OfflinePlayer-API.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/OfflinePlayer.java.patch @@ -1,14 +1,6 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: YouHaveTrouble -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 5622fe3165baad8138c22cfc016ed6c3834cf702..6d31b561d915180fcd473b317721064feed28f37 100644 --- a/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java -@@ -573,4 +573,106 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio +@@ -573,4 +_,106 @@ @Override io.papermc.paper.persistence.@NotNull PersistentDataContainerView getPersistentDataContainer(); // Paper end - add pdc to offline player diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/command/defaults/VersionCommand.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/command/defaults/VersionCommand.java.patch index 8f8728f83..b424f2eb9 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/command/defaults/VersionCommand.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/command/defaults/VersionCommand.java.patch @@ -5,7 +5,7 @@ // Paper start if (version.startsWith("null")) { // running from ide? - setVersionMessage(Component.text("Unknown version, custom build?", NamedTextColor.YELLOW)); -+ setVersionMessage(Component.text("* Unknown version, custom build?", NamedTextColor.RED)); // Purpur - Clean up version command output ++ setVersionMessage(Component.text("* Unknown version, custom build?", NamedTextColor.RED)); // Purpur return; } setVersionMessage(getVersionFetcher().getVersionMessage(version)); @@ -16,11 +16,11 @@ - final Component message = Component.textOfChildren( - Component.text(Bukkit.getVersionMessage(), NamedTextColor.WHITE), - Component.newline(), -+ // Purpur start - Clean up version command output ++ // Purpur start + int distance = getVersionFetcher().distance(); + final Component message = Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()), + ChatColor.parseMM("Current Purpur Version: %s%s*", distance == 0 ? "" : distance > 0 ? "" : "", Bukkit.getVersion()), -+ // Purpur end - Clean up version command output ++ // Purpur end msg ); this.versionMessage = Component.text() diff --git a/patches/server/0199-Extended-OfflinePlayer-API.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java.patch similarity index 79% rename from patches/server/0199-Extended-OfflinePlayer-API.patch rename to purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java.patch index 721d5726b..e6ecfddea 100644 --- a/patches/server/0199-Extended-OfflinePlayer-API.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java.patch @@ -1,22 +1,14 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: YouHaveTrouble -Date: Sun, 22 Aug 2021 05:12:05 +0200 -Subject: [PATCH] Extended OfflinePlayer API - - -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index 94ca0407303c4493ab4928b12ec6ecc75aaca549..a138e1b6b66d99f2035de054137a607aa6b7f0b9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -@@ -363,14 +363,26 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa +@@ -363,14 +_,26 @@ @Override public Location getLocation() { -+ // Purpur start ++ // Purpur start - OfflinePlayer API + if (this.isOnline()) { + return this.getPlayer().getLocation(); + } -+ // Purpur end ++ // Purpur end - OfflinePlayer API + CompoundTag data = this.getData(); if (data == null) { @@ -38,7 +30,7 @@ index 94ca0407303c4493ab4928b12ec6ecc75aaca549..a138e1b6b66d99f2035de054137a607a UUID uuid = new UUID(data.getLong("WorldUUIDMost"), data.getLong("WorldUUIDLeast")); -@@ -381,9 +393,9 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa +@@ -381,9 +_,9 @@ rotation.getFloat(0), rotation.getFloat(1) ); @@ -50,7 +42,7 @@ index 94ca0407303c4493ab4928b12ec6ecc75aaca549..a138e1b6b66d99f2035de054137a607a } @Override -@@ -626,4 +638,191 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa +@@ -626,4 +_,191 @@ manager.save(); } } @@ -242,36 +234,3 @@ index 94ca0407303c4493ab4928b12ec6ecc75aaca549..a138e1b6b66d99f2035de054137a607a + } + // Purpur end - OfflinePlayer API } -diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ea8b1f01b2dd626c422649488c1e605a8054dbf2..da20ebe8858b4ab5bf8ac62aeac1942320bfa91c 100644 ---- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2769,6 +2769,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - return this.getHandle().getAbilities().walkingSpeed * 2f; - } - -+ // Purpur start - OfflinePlayer API -+ @Override -+ public boolean teleportOffline(@NotNull Location destination) { -+ return this.teleport(destination); -+ } -+ -+ @Override -+ public boolean teleportOffline(Location destination, PlayerTeleportEvent.TeleportCause cause) { -+ return this.teleport(destination, cause); -+ } -+ -+ @Override -+ public java.util.concurrent.CompletableFuture teleportOfflineAsync(@NotNull Location destination) { -+ return this.teleportAsync(destination); -+ } -+ -+ @Override -+ public java.util.concurrent.CompletableFuture teleportOfflineAsync(@NotNull Location destination, PlayerTeleportEvent.TeleportCause cause) { -+ return this.teleportAsync(destination, cause); -+ } -+ // Purpur end - OfflinePlayer API -+ - private void validateSpeed(float value) { - Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value); - } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch index e2400d5f9..c3ed72725 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch @@ -17,6 +17,35 @@ if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { +@@ -2763,6 +_,28 @@ + return this.getHandle().getAbilities().walkingSpeed * 2f; + } + ++ // Purpur start - OfflinePlayer API ++ @Override ++ public boolean teleportOffline(@NotNull Location destination) { ++ return this.teleport(destination); ++ } ++ ++ @Override ++ public boolean teleportOffline(Location destination, PlayerTeleportEvent.TeleportCause cause) { ++ return this.teleport(destination, cause); ++ } ++ ++ @Override ++ public java.util.concurrent.CompletableFuture teleportOfflineAsync(@NotNull Location destination) { ++ return this.teleportAsync(destination); ++ } ++ ++ @Override ++ public java.util.concurrent.CompletableFuture teleportOfflineAsync(@NotNull Location destination, PlayerTeleportEvent.TeleportCause cause) { ++ return this.teleportAsync(destination, cause); ++ } ++ // Purpur end - OfflinePlayer API ++ + private void validateSpeed(float value) { + Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value); + } @@ -3559,4 +_,26 @@ this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundEntityEventPacket(((CraftEntity) target).getHandle(), effect.getData())); }