diff --git a/build.gradle.kts b/build.gradle.kts index 08d29ffea..63881e1bc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,7 +3,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { java // TODO java launcher tasks - id("io.papermc.paperweight.patcher") version "2.0.0-beta.15" + id("io.papermc.paperweight.patcher") version "2.0.0-beta.16" } val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/" diff --git a/gradle.properties b/gradle.properties index e47ae97ea..30d437c80 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21.5-R0.1-SNAPSHOT mcVersion = 1.21.5-pre1 -paperCommit = 4db94754ad4ea08f76ff8746677a20500e206bc2 +paperCommit = 3459b68dc3f22653ac576b3f8b94f05b419ec611 org.gradle.configuration-cache = true org.gradle.caching = true diff --git a/purpur-api/paper-patches/features/0002-Purpur-config-files.patch b/purpur-api/paper-patches/features/0002-Purpur-config-files.patch index fa472591e..9f797dcc8 100644 --- a/purpur-api/paper-patches/features/0002-Purpur-config-files.patch +++ b/purpur-api/paper-patches/features/0002-Purpur-config-files.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 4d821f25903ff800cc21a4eb35332677a5992635..51f22c887ef610b339953115f69bbf1316b667aa 100644 +index ab71ddde526f80b52169ac7ea6feb9b6c987d8d4..4e516fc82bf4bf03e8d561a629bc712527d1f4bb 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2362,6 +2362,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2369,6 +2369,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Paper end diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch index 795880bef..b36882456 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2995,4 +_,133 @@ +@@ -2996,4 +_,133 @@ public static void restart() { server.restart(); } diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/OfflinePlayer.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/OfflinePlayer.java.patch index 4abee8d53..0f821e6ad 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/OfflinePlayer.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/OfflinePlayer.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java -@@ -567,4 +_,104 @@ +@@ -570,4 +_,104 @@ @Override io.papermc.paper.persistence.PersistentDataContainerView getPersistentDataContainer(); // Paper end - add pdc to offline player diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch index 2a232cab8..5b53e005a 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2698,4 +_,111 @@ +@@ -2705,4 +_,111 @@ */ void allowPausing(@NotNull org.bukkit.plugin.Plugin plugin, boolean value); // Paper end - API to check if the server is sleeping diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Entity.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Entity.java.patch index 2ee29df0c..d50ed3e9e 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Entity.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Entity.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -1196,4 +_,59 @@ +@@ -1192,4 +_,59 @@ */ void broadcastHurtAnimation(@NotNull java.util.Collection players); // Paper end - broadcast hurt animation diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/LivingEntity.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/LivingEntity.java.patch index 2ec452396..62363164e 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/LivingEntity.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/LivingEntity.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1468,4 +_,20 @@ +@@ -1452,4 +_,20 @@ */ boolean canUseEquipmentSlot(org.bukkit.inventory.@NotNull EquipmentSlot slot); // Paper end - Expose canUseSlot diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch index 8998eac18..673702252 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3918,4 +_,123 @@ +@@ -3894,4 +_,123 @@ * @param score New death screen score of player */ void setDeathScreenScore(int score); diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java.patch index 0d86a78ae..7c449dcc4 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java -@@ -308,7 +_,8 @@ +@@ -306,7 +_,8 @@ WORLD_BORDER, /** * Damage caused when an entity contacts a block such as a Cactus, diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/plugin/java/LibraryLoader.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/plugin/java/LibraryLoader.java.patch index f8702315d..f9c0e19bb 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/plugin/java/LibraryLoader.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/plugin/java/LibraryLoader.java.patch @@ -1,26 +1,26 @@ --- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java +++ b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java -@@ -68,6 +_,7 @@ +@@ -63,6 +_,7 @@ + session.setTransferListener(new AbstractTransferListener() { @Override - public void transferStarted(@NotNull TransferEvent event) throws TransferCancelledException - { + public void transferStarted(@NotNull TransferEvent event) { + if (!JavaPluginLoader.SuppressLibraryLoaderLogger) // Purpur - Add log suppression for LibraryLoader - logger.log( Level.INFO, "Downloading {0}", event.getResource().getRepositoryUrl() + event.getResource().getResourceName() ); + logger.log(Level.INFO, "Downloading {0}", event.getResource().getRepositoryUrl() + event.getResource().getResourceName()); } - } ); -@@ -94,6 +_,7 @@ - { + }); +@@ -88,6 +_,7 @@ + // Paper end - plugin loader api return null; } + if (!JavaPluginLoader.SuppressLibraryLoaderLogger) // Purpur - Add log suppression for LibraryLoader - logger.log( Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[] - { - java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), desc.getLibraries().size() // Paper - use configured log prefix -@@ -144,6 +_,7 @@ + logger.log(Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[] + { + java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), desc.getLibraries().size() // Paper - use configured log prefix +@@ -140,6 +_,7 @@ } - jarFiles.add( url ); + jarFiles.add(url); + if (!JavaPluginLoader.SuppressLibraryLoaderLogger) // Purpur - Add log suppression for LibraryLoader - logger.log( Level.INFO, "[{0}] Loaded library {1}", new Object[] - { - java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), file // Paper - use configured log prefix + logger.log(Level.INFO, "[{0}] Loaded library {1}", new Object[] + { + java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), file // Paper - use configured log prefix diff --git a/purpur-server/paper-patches/features/0002-Ridables.patch b/purpur-server/paper-patches/features/0002-Ridables.patch index 7ad33ac8c..c4b0efc57 100644 --- a/purpur-server/paper-patches/features/0002-Ridables.patch +++ b/purpur-server/paper-patches/features/0002-Ridables.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Ridables diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index d7cf58309b3f455a18de7672fe6ee913f86bac5b..71cc3b64ee27118badcdd6214cb1c6a120202f44 100644 +index 227a2cdc6dbca17d4771aff3a0f62c424c4b06c9..65c4c0690874c29814098448b6cc6077a1e8c566 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1345,4 +1345,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1295,4 +1295,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { + ((CraftPlayer) player).sendHurtAnimation(0, this); } } - // Paper end - broadcast hurt animation + + // Purpur start - Ridables + @Override @@ -37,10 +37,10 @@ index d7cf58309b3f455a18de7672fe6ee913f86bac5b..71cc3b64ee27118badcdd6214cb1c6a1 + // Purpur end - Ridables } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 57c3f8531bf85b53af3a4aad6e9e369d5cff0ce3..56afb317cef0e049aacdd36a1be5f9b7af4d0c77 100644 +index 951048a9f73993f39468f18ea63bfc1baadfc274..0448037c7f14707586b65c1998476d1d11b9b6cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -602,6 +602,15 @@ public class CraftEventFactory { +@@ -560,6 +560,15 @@ public class CraftEventFactory { // Paper end craftServer.getPluginManager().callEvent(event); @@ -56,7 +56,7 @@ index 57c3f8531bf85b53af3a4aad6e9e369d5cff0ce3..56afb317cef0e049aacdd36a1be5f9b7 return event; } -@@ -1193,6 +1202,7 @@ public class CraftEventFactory { +@@ -1133,6 +1142,7 @@ public class CraftEventFactory { EntityDamageEvent event; if (damager != null) { event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical); diff --git a/purpur-server/paper-patches/features/0004-Configurable-void-damage-height-and-damage.patch b/purpur-server/paper-patches/features/0004-Configurable-void-damage-height-and-damage.patch index 47c0419c8..01ab6babe 100644 --- a/purpur-server/paper-patches/features/0004-Configurable-void-damage-height-and-damage.patch +++ b/purpur-server/paper-patches/features/0004-Configurable-void-damage-height-and-damage.patch @@ -19,10 +19,10 @@ index e48fa405d92fab221fa8331b65c8f324e801d439..e319d6337811051de478d584a37015c4 final ConfigurationTransformation.VersionedBuilder versionedBuilder = Transformations.versionedBuilder(); diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -index d193330bfd97767705c878e359969378d43b99d0..4bc6a6572f18b333a3c48b2a96f3079998e7d77f 100644 +index 9511f978f6c7da506f67928f5a5a92ecf28e5930..65f6839fe75340a4b58894ad50c6eda7b59128c0 100644 --- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -@@ -401,6 +401,7 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -402,6 +402,7 @@ public class WorldConfiguration extends ConfigurationPart { public boolean useVanillaWorldScoreboardNameColoring = false; } @@ -30,7 +30,7 @@ index d193330bfd97767705c878e359969378d43b99d0..4bc6a6572f18b333a3c48b2a96f30799 public Environment environment; public class Environment extends ConfigurationPart { -@@ -410,7 +411,9 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -411,7 +412,9 @@ public class WorldConfiguration extends ConfigurationPart { public boolean disableExplosionKnockback = false; public boolean generateFlatBedrock = false; public FrostedIce frostedIce; diff --git a/purpur-server/paper-patches/features/0005-Add-EntityTeleportHinderedEvent.patch b/purpur-server/paper-patches/features/0005-Add-EntityTeleportHinderedEvent.patch index 828db575c..aca6d53ee 100644 --- a/purpur-server/paper-patches/features/0005-Add-EntityTeleportHinderedEvent.patch +++ b/purpur-server/paper-patches/features/0005-Add-EntityTeleportHinderedEvent.patch @@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 71cc3b64ee27118badcdd6214cb1c6a120202f44..623e4c9985e04edeeac1cdf1d8f89be4849bab33 100644 +index 65c4c0690874c29814098448b6cc6077a1e8c566..549f6fcf5ded0563e665673a797fa92496786c3b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -261,6 +261,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -264,6 +264,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { boolean retainPassengers = flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS); // Don't allow teleporting between worlds while keeping passengers if (flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS) && this.entity.isVehicle() && location.getWorld() != this.getWorld()) { @@ -29,10 +29,10 @@ index 71cc3b64ee27118badcdd6214cb1c6a120202f44..623e4c9985e04edeeac1cdf1d8f89be4 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4dd2c2c824ffc7c6da02a3e740b4025459073295..db2cd4603c26bca59654f0a5225b18c446a7f612 100644 +index d53cc5f0952be042629cd8e6e319157d0afb14c7..9b72d1e90ceb531088ace34ff11db12a4bcba2b7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1441,6 +1441,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1420,6 +1420,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start - Teleport passenger API // Don't allow teleporting between worlds while keeping passengers if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) { @@ -40,7 +40,7 @@ index 4dd2c2c824ffc7c6da02a3e740b4025459073295..db2cd4603c26bca59654f0a5225b18c4 return false; } -@@ -1462,6 +1463,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1441,6 +1442,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API diff --git a/purpur-server/paper-patches/features/0006-API-for-any-mob-to-burn-daylight.patch b/purpur-server/paper-patches/features/0006-API-for-any-mob-to-burn-daylight.patch index 98be00b6e..61d0f4e7e 100644 --- a/purpur-server/paper-patches/features/0006-API-for-any-mob-to-burn-daylight.patch +++ b/purpur-server/paper-patches/features/0006-API-for-any-mob-to-burn-daylight.patch @@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 3bb597cbce650e408273c07a7c120845c99b053b..dca2761fe4765c6e95b5db0d0cb5c818eb8697b4 100644 +index 549f6fcf5ded0563e665673a797fa92496786c3b..852938bc4007c4f4ef5b51330d13b0fbc624102b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -102,6 +102,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -107,6 +107,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } // Purpur end - Fire Immunity API @@ -24,13 +24,13 @@ index 3bb597cbce650e408273c07a7c120845c99b053b..dca2761fe4765c6e95b5db0d0cb5c818 Preconditions.checkArgument(entity != null, "Unknown entity"); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 459366331971d09e4cd00fb2035be01b4257477a..3a9d9b7526b2bf0fbd4e0d7886b3d849a6dcfee9 100644 +index b1cc7d90912b0ee1e2b57bb85c595a4f5d49e9aa..74e1e1751a2c3a25d44dec59c104f27980a057ae 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1211,4 +1211,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1176,4 +1176,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { + public boolean canUseEquipmentSlot(org.bukkit.inventory.EquipmentSlot slot) { return this.getHandle().canUseSlot(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot)); } - // Paper end - Expose canUseSlot + + // Purpur start - API for any mob to burn daylight + @Override diff --git a/purpur-server/paper-patches/files/src/main/java/com/destroystokyo/paper/Metrics.java.patch b/purpur-server/paper-patches/files/src/main/java/com/destroystokyo/paper/Metrics.java.patch index fc55c48ff..da7e3f288 100644 --- a/purpur-server/paper-patches/files/src/main/java/com/destroystokyo/paper/Metrics.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/com/destroystokyo/paper/Metrics.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java -@@ -592,7 +_,7 @@ +@@ -593,7 +_,7 @@ boolean logFailedRequests = config.getBoolean("logFailedRequests", false); // Only start Metrics, if it's enabled in the config if (config.getBoolean("enabled", true)) { @@ -9,7 +9,7 @@ metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> { String minecraftVersion = Bukkit.getVersion(); -@@ -601,16 +_,8 @@ +@@ -602,16 +_,8 @@ })); metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size())); diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java.patch index 844f937c4..070fe7474 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -@@ -366,14 +_,26 @@ +@@ -339,6 +_,12 @@ @Override public Location getLocation() { @@ -13,36 +13,7 @@ CompoundTag data = this.getData(); if (data == null) { return null; - } - -- if (data.contains("Pos") && data.contains("Rotation")) { -- ListTag position = (ListTag) data.get("Pos"); -- ListTag rotation = (ListTag) data.get("Rotation"); -+ // Purpur start - OfflinePlayer API -+ //if (data.contains("Pos") && data.contains("Rotation")) { -+ ListTag position = data.getList("Pos", net.minecraft.nbt.Tag.TAG_DOUBLE); -+ ListTag rotation = data.getList("Rotation", net.minecraft.nbt.Tag.TAG_FLOAT); -+ -+ if (position.isEmpty() && rotation.isEmpty()) { -+ return null; -+ } -+ // Purpur end - OfflinePlayer API - - UUID uuid = new UUID(data.getLong("WorldUUIDMost"), data.getLong("WorldUUIDLeast")); - -@@ -384,9 +_,9 @@ - rotation.getFloat(0), - rotation.getFloat(1) - ); -- } -+ //} // Purpur - OfflinePlayer API - -- return null; -+ //return null; // Purpur - OfflinePlayer API - } - - @Override -@@ -620,4 +_,191 @@ +@@ -571,4 +_,191 @@ manager.save(); } } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch index 89a9146e7..f604bc70e 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch @@ -21,7 +21,7 @@ CraftRegistry.setMinecraftRegistry(console.registryAccess()); -@@ -1088,6 +_,7 @@ +@@ -1069,6 +_,7 @@ org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); @@ -29,7 +29,7 @@ for (ServerLevel world : this.console.getAllLevels()) { // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean)) -@@ -1103,6 +_,7 @@ +@@ -1084,6 +_,7 @@ } } world.spigotConfig.init(); // Spigot @@ -37,7 +37,7 @@ } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -1120,6 +_,7 @@ +@@ -1101,6 +_,7 @@ org.spigotmc.SpigotConfig.registerCommands(); // Spigot io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper this.spark.registerCommandBeforePlugins(this); // Paper - spark @@ -45,7 +45,7 @@ this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -1647,6 +_,60 @@ +@@ -1600,6 +_,60 @@ return true; } @@ -106,7 +106,7 @@ @Override public List getRecipesFor(ItemStack result) { Preconditions.checkArgument(result != null, "ItemStack cannot be null"); -@@ -3052,6 +_,18 @@ +@@ -2955,6 +_,18 @@ return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); } @@ -125,7 +125,7 @@ @Override public void restart() { CraftServer.this.restart(); -@@ -3086,6 +_,7 @@ +@@ -2988,6 +_,7 @@ @Override public double[] getTPS() { return new double[] { @@ -133,10 +133,10 @@ net.minecraft.server.MinecraftServer.getServer().tps1.getAverage(), net.minecraft.server.MinecraftServer.getServer().tps5.getAverage(), net.minecraft.server.MinecraftServer.getServer().tps15.getAverage() -@@ -3296,4 +_,18 @@ +@@ -3195,4 +_,18 @@ + public void allowPausing(final Plugin plugin, final boolean value) { this.console.addPluginAllowingSleep(plugin.getName(), value); } - // Paper end - API to check if the server is sleeping + + // Purpur start - Bring back server name + @Override diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch index 35b519694..4e6e154b7 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2346,6 +_,50 @@ +@@ -2347,6 +_,50 @@ return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/Main.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/Main.java.patch index e86001e4b..ed8da8e31 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/Main.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/Main.java.patch @@ -1,8 +1,8 @@ --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -176,6 +_,13 @@ +@@ -165,6 +_,14 @@ + .defaultsTo(new File[] {}) .describedAs("Jar file"); - // Paper end + // Purpur start - Purpur config files + acceptsAll(asList("purpur", "purpur-settings"), "File for purpur settings") @@ -11,10 +11,11 @@ + .defaultsTo(new File("purpur.yml")) + .describedAs("Yml file"); + // Purpur end - Purpur config files - // Paper start ++ acceptsAll(asList("server-name"), "Name of the server") .withRequiredArg() -@@ -259,7 +_,7 @@ + .ofType(String.class) +@@ -224,7 +_,7 @@ System.setProperty(net.minecrell.terminalconsole.TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java.patch index 39590b5cd..e8bb09a96 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java.patch @@ -6,10 +6,10 @@ + private final List> storage = new ArrayList<>(); // Purpur - Stored Bee API + - public CraftBeehive(World world, BeehiveBlockEntity tileEntity) { - super(world, tileEntity); + public CraftBeehive(World world, BeehiveBlockEntity blockEntity) { + super(world, blockEntity); + // Purpur start - load bees to be able to modify them individually - Stored Bee API -+ for(BeehiveBlockEntity.BeeData data : tileEntity.getStored()) { ++ for(BeehiveBlockEntity.BeeData data : blockEntity.getStored()) { + storage.add(new org.purpurmc.purpur.entity.PurpurStoredBee(data, this)); + } + // Purpur end - Stored Bee API @@ -34,7 +34,7 @@ + } + + if(isPlaced()) { -+ BeehiveBlockEntity beehive = ((BeehiveBlockEntity) this.getTileEntityFromWorld()); ++ BeehiveBlockEntity beehive = ((BeehiveBlockEntity) this.getBlockEntityFromWorld()); + BeehiveBlockEntity.BeeData data = ((org.purpurmc.purpur.entity.PurpurStoredBee) entity).getHandle(); + + List list = beehive.releaseBee(getHandle(), data, BeeReleaseStatus.BEE_RELEASED, true); diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/block/CraftConduit.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/block/CraftConduit.java.patch index e60687bc8..355e42fa4 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/block/CraftConduit.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/block/CraftConduit.java.patch @@ -3,7 +3,7 @@ @@ -73,7 +_,7 @@ public int getRange() { this.ensureNoWorldGeneration(); - ConduitBlockEntity conduit = (ConduitBlockEntity) this.getTileEntityFromWorld(); + ConduitBlockEntity conduit = (ConduitBlockEntity) this.getBlockEntityFromWorld(); - return (conduit != null) ? ConduitBlockEntity.getRange(conduit.effectBlocks) : 0; + return (conduit != null) ? ConduitBlockEntity.getRange(conduit.effectBlocks, this.world.getHandle()) : 0; // Purpur - Conduit behavior configuration } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java.patch index 411f8ce59..18d1a9162 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java.patch @@ -14,8 +14,8 @@ } @Override -@@ -91,7 +_,7 @@ - // Paper start +@@ -88,7 +_,7 @@ + @Override public void sendMessage(final net.kyori.adventure.identity.Identity identity, final net.kyori.adventure.text.Component message, final net.kyori.adventure.audience.MessageType type) { - this.sendRawMessage(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(message)); diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java.patch index 248c285af..01fc3ac5b 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -274,6 +_,7 @@ +@@ -273,6 +_,7 @@ @Override public void recalculatePermissions() { this.perm.recalculatePermissions(); diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java.patch index a4b4e0b77..c5db6e7ee 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java -@@ -88,4 +_,17 @@ +@@ -89,4 +_,17 @@ public Llama getCaravanTail() { return this.getHandle().caravanTail == null ? null : (Llama) this.getHandle().caravanTail.getBukkitEntity(); } 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 2d301d9d4..511f97b31 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 @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -588,10 +_,15 @@ +@@ -590,10 +_,15 @@ @Override public void setPlayerListName(String name) { @@ -17,7 +17,7 @@ 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)) { -@@ -2749,6 +_,28 @@ +@@ -2730,6 +_,28 @@ return this.getHandle().getAbilities().walkingSpeed * 2f; } @@ -46,7 +46,7 @@ private void validateSpeed(float value) { Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value); } -@@ -3602,4 +_,76 @@ +@@ -3576,4 +_,76 @@ public void setDeathScreenScore(final int score) { getHandle().setScore(score); } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch index 6c51193da..9203db018 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -693,4 +_,285 @@ +@@ -649,4 +_,285 @@ } // Paper end - data component API diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java.patch index f2659f49e..5d9234b7b 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java -@@ -75,4 +_,26 @@ +@@ -73,4 +_,26 @@ this.setMaximumRepairCost(legacy.getMaximumRepairCost()); } } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java.patch index 9061089d2..973b60688 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java +++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java -@@ -265,6 +_,7 @@ +@@ -261,6 +_,7 @@ } static { diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java.patch index c9e34b3ad..33ae859ed 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java +++ b/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java -@@ -49,4 +_,10 @@ +@@ -46,4 +_,10 @@ } } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch index 43252e3f2..32ef5cc86 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch @@ -1,7 +1,7 @@ --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -507,7 +_,7 @@ - // Paper start +@@ -491,7 +_,7 @@ + @Override public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { - return new com.destroystokyo.paper.PaperVersionFetcher(); diff --git a/purpur-server/paper-patches/files/src/main/java/org/spigotmc/WatchdogThread.java.patch b/purpur-server/paper-patches/files/src/main/java/org/spigotmc/WatchdogThread.java.patch index 03e3a05ad..1d6ab6004 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/spigotmc/WatchdogThread.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/spigotmc/WatchdogThread.java.patch @@ -8,10 +8,10 @@ + super("Watchdog Thread"); // Purpur - use a generic name - Rebrand this.timeoutTime = timeoutTime; this.restart = restart; - this.earlyWarningEvery = Math.min(GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); // Paper -@@ -77,14 +_,14 @@ + this.earlyWarningEvery = Math.min(GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); +@@ -75,14 +_,14 @@ + this.lastEarlyWarning = currentTime; if (isLongTimeout) { - // Paper end logger.log(Level.SEVERE, "------------------------------"); - logger.log(Level.SEVERE, "The server has stopped responding! This is (probably) not a Paper bug."); // Paper + logger.log(Level.SEVERE, "The server has stopped responding! This is (probably) not a Purpur bug."); // Paper // Purpur - Rebrand @@ -27,7 +27,7 @@ if (net.minecraft.world.level.Level.lastPhysicsProblem != null) { logger.log(Level.SEVERE, "------------------------------"); -@@ -104,12 +_,12 @@ +@@ -102,12 +_,12 @@ } // Paper end } else { @@ -42,7 +42,7 @@ FeatureHooks.dumpAllChunkLoadInfo(MinecraftServer.getServer(), isLongTimeout); // Paper - log detailed tick information WatchdogThread.dumpThread(ManagementFactory.getThreadMXBean().getThreadInfo(MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE), logger); logger.log(Level.SEVERE, "------------------------------"); -@@ -122,7 +_,7 @@ +@@ -120,7 +_,7 @@ WatchdogThread.dumpThread(thread, logger); } } else {