Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@fd4c6f19 Break MushroomCow parent
PaperMC/Paper@be8889d1 getSelected to getSelectedItem
PaperMC/Paper@2db2ec9e few random compile fixes
PaperMC/Paper@98fac014 format remaining spigot code and make Dolphin#treasurePos nullable
PaperMC/Paper@33f3a111 More compilation issues
PaperMC/Paper@1e27cd9f PlayerInventory
PaperMC/Paper@b5e234d0 Unsafe block entity pos reading in ItemStack
PaperMC/Paper@955ba6c3 update block data
PaperMC/Paper@49117c0e update block states
PaperMC/Paper@6034384b make CraftCow extends CraftAbstractCow
PaperMC/Paper@e28be7d2 chore: update paperweight
PaperMC/Paper@dbc5c19c Remove mavenLocal ref for initial pw snapshots
PaperMC/Paper@2445c79f do a full clone in the action for now
PaperMC/Paper@7633dde2 move things around
PaperMC/Paper@564344fe More compiler issues
PaperMC/Paper@907f1931 bump built-in datapack version and api-version
PaperMC/Paper@bf417ba7 tag renames
PaperMC/Paper@7f6f64f4 cat and frog variants registries are now data-driven
PaperMC/Paper@3124c702 add new particles
PaperMC/Paper@17ea49c2 tag changes and update some mapping
PaperMC/Paper@8107eb0f Partial raid changes
PaperMC/Paper@a1334d3b Missed local diff
PaperMC/Paper@1a4367ed Use Holderable in more places
PaperMC/Paper@f990b858 preserve update flag for block placement around API
PaperMC/Paper@f1424fbf Compile fixes
PaperMC/Paper@c2e18c6a fixup diffs
PaperMC/Paper@960ad6e0 remove redundant flags and check place result
PaperMC/Paper@9c01f0cd fix wrong event call for cactus growth
PaperMC/Paper@4b3d802b fix broken liquid physics during structure placement
PaperMC/Paper@28fbc7b6 fix damage modifier a bit
PaperMC/Paper@c6e7ebcc re-add missed distance check
PaperMC/Paper@8e4021aa add dropped local var after decompilation in AgeableMob#ageUp
PaperMC/Paper@4d28058a make cactus max grow height config consistent with flower chance
PaperMC/Paper@d4b5936c some fixes and simplify overrides
PaperMC/Paper@57876760 Use -> uses in particle javadocs
PaperMC/Paper@43505dca Start updating feature patches
PaperMC/Paper@3ab0d4b6 misc changes
PaperMC/Paper@b80114b2 fix broken AT
PaperMC/Paper@56ed2dc6 More feature patches
PaperMC/Paper@460b99e7 Compile fixes
PaperMC/Paper@3bf99764 more misc changes
PaperMC/Paper@c2c47249 readd wrongly dropped diff
PaperMC/Paper@3459b68d fix some feature patches
This commit is contained in:
granny
2025-03-21 22:21:44 -07:00
parent ae4134c271
commit 2d3cfe0a56
32 changed files with 86 additions and 114 deletions

View File

@@ -3,7 +3,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent
plugins { plugins {
java // TODO java launcher tasks 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/" val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/"

View File

@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
version = 1.21.5-R0.1-SNAPSHOT version = 1.21.5-R0.1-SNAPSHOT
mcVersion = 1.21.5-pre1 mcVersion = 1.21.5-pre1
paperCommit = 4db94754ad4ea08f76ff8746677a20500e206bc2 paperCommit = 3459b68dc3f22653ac576b3f8b94f05b419ec611
org.gradle.configuration-cache = true org.gradle.configuration-cache = true
org.gradle.caching = true org.gradle.caching = true

View File

@@ -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 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 --- a/src/main/java/org/bukkit/Server.java
+++ b/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 // Paper end

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/Bukkit.java --- a/src/main/java/org/bukkit/Bukkit.java
+++ b/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() { public static void restart() {
server.restart(); server.restart();
} }

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/OfflinePlayer.java --- a/src/main/java/org/bukkit/OfflinePlayer.java
+++ b/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java
@@ -567,4 +_,104 @@ @@ -570,4 +_,104 @@
@Override @Override
io.papermc.paper.persistence.PersistentDataContainerView getPersistentDataContainer(); io.papermc.paper.persistence.PersistentDataContainerView getPersistentDataContainer();
// Paper end - add pdc to offline player // Paper end - add pdc to offline player

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/Server.java --- a/src/main/java/org/bukkit/Server.java
+++ b/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); void allowPausing(@NotNull org.bukkit.plugin.Plugin plugin, boolean value);
// Paper end - API to check if the server is sleeping // Paper end - API to check if the server is sleeping

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/entity/Entity.java --- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/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<Player> players); void broadcastHurtAnimation(@NotNull java.util.Collection<Player> players);
// Paper end - broadcast hurt animation // Paper end - broadcast hurt animation

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/entity/LivingEntity.java --- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/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); boolean canUseEquipmentSlot(org.bukkit.inventory.@NotNull EquipmentSlot slot);
// Paper end - Expose canUseSlot // Paper end - Expose canUseSlot

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/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 * @param score New death screen score of player
*/ */
void setDeathScreenScore(int score); void setDeathScreenScore(int score);

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java --- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java
+++ b/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, WORLD_BORDER,
/** /**
* Damage caused when an entity contacts a block such as a Cactus, * Damage caused when an entity contacts a block such as a Cactus,

View File

@@ -1,26 +1,26 @@
--- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java --- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
+++ b/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 @Override
public void transferStarted(@NotNull TransferEvent event) throws TransferCancelledException public void transferStarted(@NotNull TransferEvent event) {
{
+ if (!JavaPluginLoader.SuppressLibraryLoaderLogger) // Purpur - Add log suppression for LibraryLoader + 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; return null;
} }
+ if (!JavaPluginLoader.SuppressLibraryLoaderLogger) // Purpur - Add log suppression for LibraryLoader + if (!JavaPluginLoader.SuppressLibraryLoaderLogger) // Purpur - Add log suppression for LibraryLoader
logger.log( Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[] 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 java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), desc.getLibraries().size() // Paper - use configured log prefix
@@ -144,6 +_,7 @@ @@ -140,6 +_,7 @@
} }
jarFiles.add( url ); jarFiles.add(url);
+ if (!JavaPluginLoader.SuppressLibraryLoaderLogger) // Purpur - Add log suppression for LibraryLoader + if (!JavaPluginLoader.SuppressLibraryLoaderLogger) // Purpur - Add log suppression for LibraryLoader
logger.log( Level.INFO, "[{0}] Loaded library {1}", new Object[] logger.log(Level.INFO, "[{0}] Loaded library {1}", new Object[]
{ {
java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), file // Paper - use configured log prefix java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), file // Paper - use configured log prefix

View File

@@ -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 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 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/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 + // Purpur start - Ridables
+ @Override + @Override
@@ -37,10 +37,10 @@ index d7cf58309b3f455a18de7672fe6ee913f86bac5b..71cc3b64ee27118badcdd6214cb1c6a1
+ // Purpur end - Ridables + // 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 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 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/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 // Paper end
craftServer.getPluginManager().callEvent(event); craftServer.getPluginManager().callEvent(event);
@@ -56,7 +56,7 @@ index 57c3f8531bf85b53af3a4aad6e9e369d5cff0ce3..56afb317cef0e049aacdd36a1be5f9b7
return event; return event;
} }
@@ -1193,6 +1202,7 @@ public class CraftEventFactory { @@ -1133,6 +1142,7 @@ public class CraftEventFactory {
EntityDamageEvent event; EntityDamageEvent event;
if (damager != null) { if (damager != null) {
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical); event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical);

View File

@@ -19,10 +19,10 @@ index e48fa405d92fab221fa8331b65c8f324e801d439..e319d6337811051de478d584a37015c4
final ConfigurationTransformation.VersionedBuilder versionedBuilder = Transformations.versionedBuilder(); 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 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 --- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
+++ b/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; public boolean useVanillaWorldScoreboardNameColoring = false;
} }
@@ -30,7 +30,7 @@ index d193330bfd97767705c878e359969378d43b99d0..4bc6a6572f18b333a3c48b2a96f30799
public Environment environment; public Environment environment;
public class Environment extends ConfigurationPart { 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 disableExplosionKnockback = false;
public boolean generateFlatBedrock = false; public boolean generateFlatBedrock = false;
public FrostedIce frostedIce; public FrostedIce frostedIce;

View File

@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java 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 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/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); boolean retainPassengers = flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS);
// Don't allow teleporting between worlds while keeping 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()) { 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 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 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/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 // Paper start - Teleport passenger API
// Don't allow teleporting between worlds while keeping passengers // Don't allow teleporting between worlds while keeping passengers
if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) { if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) {
@@ -40,7 +40,7 @@ index 4dd2c2c824ffc7c6da02a3e740b4025459073295..db2cd4603c26bca59654f0a5225b18c4
return false; 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 if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev> Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java 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 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/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 // Purpur end - Fire Immunity API
@@ -24,13 +24,13 @@ index 3bb597cbce650e408273c07a7c120845c99b053b..dca2761fe4765c6e95b5db0d0cb5c818
Preconditions.checkArgument(entity != null, "Unknown entity"); 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 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 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/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)); return this.getHandle().canUseSlot(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot));
} }
// Paper end - Expose canUseSlot
+ +
+ // Purpur start - API for any mob to burn daylight + // Purpur start - API for any mob to burn daylight
+ @Override + @Override

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/com/destroystokyo/paper/Metrics.java --- a/src/main/java/com/destroystokyo/paper/Metrics.java
+++ b/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); boolean logFailedRequests = config.getBoolean("logFailedRequests", false);
// Only start Metrics, if it's enabled in the config // Only start Metrics, if it's enabled in the config
if (config.getBoolean("enabled", true)) { if (config.getBoolean("enabled", true)) {
@@ -9,7 +9,7 @@
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> { metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
String minecraftVersion = Bukkit.getVersion(); String minecraftVersion = Bukkit.getVersion();
@@ -601,16 +_,8 @@ @@ -602,16 +_,8 @@
})); }));
metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size())); metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size()));

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -366,14 +_,26 @@ @@ -339,6 +_,12 @@
@Override @Override
public Location getLocation() { public Location getLocation() {
@@ -13,36 +13,7 @@
CompoundTag data = this.getData(); CompoundTag data = this.getData();
if (data == null) { if (data == null) {
return null; return null;
} @@ -571,4 +_,191 @@
- 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 @@
manager.save(); manager.save();
} }
} }

View File

@@ -21,7 +21,7 @@
CraftRegistry.setMinecraftRegistry(console.registryAccess()); CraftRegistry.setMinecraftRegistry(console.registryAccess());
@@ -1088,6 +_,7 @@ @@ -1069,6 +_,7 @@
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console); this.console.paperConfigurations.reloadConfigs(this.console);
@@ -29,7 +29,7 @@
for (ServerLevel world : this.console.getAllLevels()) { for (ServerLevel world : this.console.getAllLevels()) {
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty // 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)) 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 world.spigotConfig.init(); // Spigot
@@ -37,7 +37,7 @@
} }
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -1120,6 +_,7 @@ @@ -1101,6 +_,7 @@
org.spigotmc.SpigotConfig.registerCommands(); // Spigot org.spigotmc.SpigotConfig.registerCommands(); // Spigot
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
this.spark.registerCommandBeforePlugins(this); // Paper - spark this.spark.registerCommandBeforePlugins(this); // Paper - spark
@@ -45,7 +45,7 @@
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -1647,6 +_,60 @@ @@ -1600,6 +_,60 @@
return true; return true;
} }
@@ -106,7 +106,7 @@
@Override @Override
public List<Recipe> getRecipesFor(ItemStack result) { public List<Recipe> getRecipesFor(ItemStack result) {
Preconditions.checkArgument(result != null, "ItemStack cannot be null"); Preconditions.checkArgument(result != null, "ItemStack cannot be null");
@@ -3052,6 +_,18 @@ @@ -2955,6 +_,18 @@
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
} }
@@ -125,7 +125,7 @@
@Override @Override
public void restart() { public void restart() {
CraftServer.this.restart(); CraftServer.this.restart();
@@ -3086,6 +_,7 @@ @@ -2988,6 +_,7 @@
@Override @Override
public double[] getTPS() { public double[] getTPS() {
return new double[] { return new double[] {
@@ -133,10 +133,10 @@
net.minecraft.server.MinecraftServer.getServer().tps1.getAverage(), net.minecraft.server.MinecraftServer.getServer().tps1.getAverage(),
net.minecraft.server.MinecraftServer.getServer().tps5.getAverage(), net.minecraft.server.MinecraftServer.getServer().tps5.getAverage(),
net.minecraft.server.MinecraftServer.getServer().tps15.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); this.console.addPluginAllowingSleep(plugin.getName(), value);
} }
// Paper end - API to check if the server is sleeping
+ +
+ // Purpur start - Bring back server name + // Purpur start - Bring back server name
+ @Override + @Override

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/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()); return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight());
} }

View File

@@ -1,8 +1,8 @@
--- a/src/main/java/org/bukkit/craftbukkit/Main.java --- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/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"); .describedAs("Jar file");
// Paper end
+ // Purpur start - Purpur config files + // Purpur start - Purpur config files
+ acceptsAll(asList("purpur", "purpur-settings"), "File for purpur settings") + acceptsAll(asList("purpur", "purpur-settings"), "File for purpur settings")
@@ -11,10 +11,11 @@
+ .defaultsTo(new File("purpur.yml")) + .defaultsTo(new File("purpur.yml"))
+ .describedAs("Yml file"); + .describedAs("Yml file");
+ // Purpur end - Purpur config files + // Purpur end - Purpur config files
// Paper start +
acceptsAll(asList("server-name"), "Name of the server") acceptsAll(asList("server-name"), "Name of the server")
.withRequiredArg() .withRequiredArg()
@@ -259,7 +_,7 @@ .ofType(String.class)
@@ -224,7 +_,7 @@
System.setProperty(net.minecrell.terminalconsole.TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper System.setProperty(net.minecrell.terminalconsole.TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper
} }

View File

@@ -6,10 +6,10 @@
+ private final List<org.purpurmc.purpur.entity.StoredEntity<Bee>> storage = new ArrayList<>(); // Purpur - Stored Bee API + private final List<org.purpurmc.purpur.entity.StoredEntity<Bee>> storage = new ArrayList<>(); // Purpur - Stored Bee API
+ +
public CraftBeehive(World world, BeehiveBlockEntity tileEntity) { public CraftBeehive(World world, BeehiveBlockEntity blockEntity) {
super(world, tileEntity); super(world, blockEntity);
+ // Purpur start - load bees to be able to modify them individually - Stored Bee API + // 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)); + storage.add(new org.purpurmc.purpur.entity.PurpurStoredBee(data, this));
+ } + }
+ // Purpur end - Stored Bee API + // Purpur end - Stored Bee API
@@ -34,7 +34,7 @@
+ } + }
+ +
+ if(isPlaced()) { + if(isPlaced()) {
+ BeehiveBlockEntity beehive = ((BeehiveBlockEntity) this.getTileEntityFromWorld()); + BeehiveBlockEntity beehive = ((BeehiveBlockEntity) this.getBlockEntityFromWorld());
+ BeehiveBlockEntity.BeeData data = ((org.purpurmc.purpur.entity.PurpurStoredBee) entity).getHandle(); + BeehiveBlockEntity.BeeData data = ((org.purpurmc.purpur.entity.PurpurStoredBee) entity).getHandle();
+ +
+ List<Entity> list = beehive.releaseBee(getHandle(), data, BeeReleaseStatus.BEE_RELEASED, true); + List<Entity> list = beehive.releaseBee(getHandle(), data, BeeReleaseStatus.BEE_RELEASED, true);

View File

@@ -3,7 +3,7 @@
@@ -73,7 +_,7 @@ @@ -73,7 +_,7 @@
public int getRange() { public int getRange() {
this.ensureNoWorldGeneration(); 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) : 0;
+ return (conduit != null) ? ConduitBlockEntity.getRange(conduit.effectBlocks, this.world.getHandle()) : 0; // Purpur - Conduit behavior configuration + return (conduit != null) ? ConduitBlockEntity.getRange(conduit.effectBlocks, this.world.getHandle()) : 0; // Purpur - Conduit behavior configuration
} }

View File

@@ -14,8 +14,8 @@
} }
@Override @Override
@@ -91,7 +_,7 @@ @@ -88,7 +_,7 @@
// Paper start
@Override @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) { 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)); - this.sendRawMessage(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(message));

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/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 @Override
public void recalculatePermissions() { public void recalculatePermissions() {
this.perm.recalculatePermissions(); this.perm.recalculatePermissions();

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
+++ b/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() { public Llama getCaravanTail() {
return this.getHandle().caravanTail == null ? null : (Llama) this.getHandle().caravanTail.getBukkitEntity(); return this.getHandle().caravanTail == null ? null : (Llama) this.getHandle().caravanTail.getBukkitEntity();
} }

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/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 @Override
public void setPlayerListName(String name) { 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 if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined
for (ServerPlayer player : (List<ServerPlayer>) this.server.getHandle().players) { for (ServerPlayer player : (List<ServerPlayer>) this.server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) { if (player.getBukkitEntity().canSee(this)) {
@@ -2749,6 +_,28 @@ @@ -2730,6 +_,28 @@
return this.getHandle().getAbilities().walkingSpeed * 2f; return this.getHandle().getAbilities().walkingSpeed * 2f;
} }
@@ -46,7 +46,7 @@
private void validateSpeed(float value) { private void validateSpeed(float value) {
Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", 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) { public void setDeathScreenScore(final int score) {
getHandle().setScore(score); getHandle().setScore(score);
} }

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/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 // Paper end - data component API

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java --- a/src/main/java/org/bukkit/craftbukkit/inventory/view/CraftAnvilView.java
+++ b/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()); this.setMaximumRepairCost(legacy.getMaximumRepairCost());
} }
} }

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java --- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
+++ b/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 { static {

View File

@@ -1,6 +1,6 @@
--- a/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java --- a/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java
+++ b/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 @@
} }
} }

View File

@@ -1,7 +1,7 @@
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -507,7 +_,7 @@ @@ -491,7 +_,7 @@
// Paper start
@Override @Override
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
- return new com.destroystokyo.paper.PaperVersionFetcher(); - return new com.destroystokyo.paper.PaperVersionFetcher();

View File

@@ -8,10 +8,10 @@
+ super("Watchdog Thread"); // Purpur - use a generic name - Rebrand + super("Watchdog Thread"); // Purpur - use a generic name - Rebrand
this.timeoutTime = timeoutTime; this.timeoutTime = timeoutTime;
this.restart = restart; this.restart = restart;
this.earlyWarningEvery = Math.min(GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); // Paper this.earlyWarningEvery = Math.min(GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime);
@@ -77,14 +_,14 @@ @@ -75,14 +_,14 @@
this.lastEarlyWarning = currentTime;
if (isLongTimeout) { if (isLongTimeout) {
// Paper end
logger.log(Level.SEVERE, "------------------------------"); 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 Paper bug."); // Paper
+ logger.log(Level.SEVERE, "The server has stopped responding! This is (probably) not a Purpur bug."); // Paper // Purpur - Rebrand + 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) { if (net.minecraft.world.level.Level.lastPhysicsProblem != null) {
logger.log(Level.SEVERE, "------------------------------"); logger.log(Level.SEVERE, "------------------------------");
@@ -104,12 +_,12 @@ @@ -102,12 +_,12 @@
} }
// Paper end // Paper end
} else { } else {
@@ -42,7 +42,7 @@
FeatureHooks.dumpAllChunkLoadInfo(MinecraftServer.getServer(), isLongTimeout); // Paper - log detailed tick information FeatureHooks.dumpAllChunkLoadInfo(MinecraftServer.getServer(), isLongTimeout); // Paper - log detailed tick information
WatchdogThread.dumpThread(ManagementFactory.getThreadMXBean().getThreadInfo(MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE), logger); WatchdogThread.dumpThread(ManagementFactory.getThreadMXBean().getThreadInfo(MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE), logger);
logger.log(Level.SEVERE, "------------------------------"); logger.log(Level.SEVERE, "------------------------------");
@@ -122,7 +_,7 @@ @@ -120,7 +_,7 @@
WatchdogThread.dumpThread(thread, logger); WatchdogThread.dumpThread(thread, logger);
} }
} else { } else {