Final 1.20.6 Paper Upstream \o/

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@79e2cb6 Update upstream (Bukkit/CraftBukkit/Spigot) (#10875)
This commit is contained in:
granny
2024-06-13 16:27:38 -07:00
parent 72192634b0
commit cc56332b4e
37 changed files with 162 additions and 117 deletions

View File

@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
version = 1.20.6-R0.1-SNAPSHOT
mcVersion = 1.20.6
paperCommit = 906df69f05d0779906377abb809bfec9fc3c3546
paperCommit = 79e2cb620ef03539390d97940824b38b707918f5
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 6c327a07bf8a6aa11a2d7dad12b2830acc539484..d972cb242102a3ee7c017299aed64340628c79d8 100644
index eb34f22e973fe46529eb93f435f5bf7f85091404..813096eee6a09419209baca9139d9aac1593d8ca 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3806,4 +3806,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3854,4 +3854,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override
Spigot spigot();
// Spigot end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index d972cb242102a3ee7c017299aed64340628c79d8..972cca3e02296f94099f965a4f7662ec63a067ea 100644
index 813096eee6a09419209baca9139d9aac1593d8ca..a03f473dee39eb160196e2468e4c26c6f8f6ce2a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3814,5 +3814,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3862,5 +3862,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return True if Player uses Purpur Client
*/
public boolean usesPurpurClient();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] ExecuteCommandEvent
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
index c3a9cf65db73ed534bf20996c7f05b5eb0aaebe1..83f84a76cbfdf5138ecccf3a886d38151a500bf2 100644
index 5df19bd701c67506689fc7f49d91f99ebfbc83f0..a09b5458191eb5df4787859b72a37fa1fa2bffba 100644
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
@@ -152,6 +152,19 @@ public class SimpleCommandMap implements CommandMap {
@@ -153,6 +153,19 @@ public class SimpleCommandMap implements CommandMap {
return false;
}
@@ -28,7 +28,7 @@ index c3a9cf65db73ed534bf20996c7f05b5eb0aaebe1..83f84a76cbfdf5138ecccf3a886d3815
// Paper start - Plugins do weird things to workaround normal registration
if (target.timings == null) {
target.timings = co.aikar.timings.TimingsManager.getCommandTiming(null, target);
@@ -161,7 +174,7 @@ public class SimpleCommandMap implements CommandMap {
@@ -162,7 +175,7 @@ public class SimpleCommandMap implements CommandMap {
try {
try (co.aikar.timings.Timing ignored = target.timings.startTiming()) { // Paper - use try with resources
// Note: we don't return the result of target.execute as thats success / failure, we return handled (true) or not handled (false)

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack convenience methods
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index 4f7f91b5e2903ce3b180c637cb463e01a860271e..5b14cea8d246f31c51b09baa731e673f305aea6e 100644
index 762216a117145676d3df2b74036799b024461fb7..54c080d650f807b05e5d8347f78e2bc243791172 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -5733,4 +5733,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -5764,4 +5764,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
}
return Registry.BLOCK.get(material.key);
}
@@ -50,7 +50,7 @@ index 4f7f91b5e2903ce3b180c637cb463e01a860271e..5b14cea8d246f31c51b09baa731e673f
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index c64413a6740b604282984dea2a8430a6e7478d68..5c609d916e2d2f08ba90ebd23f13c5c9a14bc73c 100644
index 40cde68c7b73a0a92e2a96667a90138d67ce66ff..fee2469bdedff0e55ef4dcda410cac35c6319258 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -19,6 +19,17 @@ import org.bukkit.inventory.meta.ItemMeta;
@@ -71,7 +71,7 @@ index c64413a6740b604282984dea2a8430a6e7478d68..5c609d916e2d2f08ba90ebd23f13c5c9
/**
* Represents a stack of items.
@@ -1079,4 +1090,565 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -1081,4 +1092,565 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return Bukkit.getUnsafe().computeTooltipLines(this, tooltipContext, player);
}
// Paper end - expose itemstack tooltip lines

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add predicate to recipe's ExactChoice ingredient
diff --git a/src/main/java/org/bukkit/inventory/RecipeChoice.java b/src/main/java/org/bukkit/inventory/RecipeChoice.java
index 1cd6601c9d2e86ef850011fcb9e59811207b4af7..81c563d44c311ea1b49425d93c57f46beb4a2ef9 100644
index e7796054f3f65f5bea7f93c75320195f6c2f0561..1b1d05b77e93abe93ed782883f8d791f6559f778 100644
--- a/src/main/java/org/bukkit/inventory/RecipeChoice.java
+++ b/src/main/java/org/bukkit/inventory/RecipeChoice.java
@@ -180,6 +180,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
@@ -191,6 +191,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
public static class ExactChoice implements RecipeChoice {
private List<ItemStack> choices;
@@ -16,7 +16,7 @@ index 1cd6601c9d2e86ef850011fcb9e59811207b4af7..81c563d44c311ea1b49425d93c57f46b
public ExactChoice(@NotNull ItemStack stack) {
this(Arrays.asList(stack));
@@ -229,6 +230,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
@@ -241,6 +242,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
@Override
public boolean test(@NotNull ItemStack t) {
@@ -24,7 +24,7 @@ index 1cd6601c9d2e86ef850011fcb9e59811207b4af7..81c563d44c311ea1b49425d93c57f46b
for (ItemStack match : choices) {
if (t.isSimilar(match)) {
return true;
@@ -238,6 +240,17 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
@@ -250,6 +252,17 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
return false;
}

View File

@@ -5,25 +5,25 @@ Subject: [PATCH] Fix default permission system
diff --git a/src/main/java/org/bukkit/permissions/PermissibleBase.java b/src/main/java/org/bukkit/permissions/PermissibleBase.java
index cd3296fea01648592d2af89b3d80135acb6d0958..45797a6fbae1d8edc4211cb30def24ad4f59bd49 100644
index 75b77cc4fe189b4b6baa1af3663dc492e992a266..30b98d1645c571ba5c18e5cc93b0bec3f74b1d3b 100644
--- a/src/main/java/org/bukkit/permissions/PermissibleBase.java
+++ b/src/main/java/org/bukkit/permissions/PermissibleBase.java
@@ -168,7 +168,7 @@ public class PermissibleBase implements Permissible {
@@ -169,7 +169,7 @@ public class PermissibleBase implements Permissible {
for (Permission perm : defaults) {
String name = perm.getName().toLowerCase(java.util.Locale.ENGLISH);
String name = perm.getName().toLowerCase(Locale.ROOT);
- permissions.put(name, new PermissionAttachmentInfo(parent, name, null, true));
+ permissions.put(name, new PermissionAttachmentInfo(parent, name, null, perm.getDefault().getValue(isOp()))); // Purpur
Bukkit.getServer().getPluginManager().subscribeToPermission(name, parent);
calculateChildPermissions(perm.getChildren(), false, null);
}
@@ -196,7 +196,7 @@ public class PermissibleBase implements Permissible {
@@ -197,7 +197,7 @@ public class PermissibleBase implements Permissible {
String name = entry.getKey();
Permission perm = Bukkit.getServer().getPluginManager().getPermission(name);
- boolean value = entry.getValue() ^ invert;
+ boolean value = (entry.getValue() == null && perm != null ? perm.getDefault().getValue(isOp()) : entry.getValue()) ^ invert; // Purpur
String lname = name.toLowerCase(java.util.Locale.ENGLISH);
String lname = name.toLowerCase(Locale.ROOT);
permissions.put(lname, new PermissionAttachmentInfo(parent, lname, attachment, value));
diff --git a/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java b/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java

View File

@@ -22,10 +22,10 @@ index a736d7bcdc5861a01b66ba36158db1c716339346..22fc165fd9c95f0f3ae1be7a0857e48c
@Override
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
index fd5d9881abfd930bb883120f018f76dc78b62b14..3d29c47ac0620af82d990faf5dfc266c6f0235f1 100644
index e64bb57f74e6d6f78927be228825b3e0bdf41f48..c880d0010849ab733ad13bbd18fab3c864d0cf61 100644
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
@@ -214,7 +214,7 @@ public class VersionCommand extends BukkitCommand {
@@ -215,7 +215,7 @@ public class VersionCommand extends BukkitCommand {
String version = Bukkit.getVersion();
// Paper start
if (version.startsWith("null")) { // running from ide?
@@ -34,7 +34,7 @@ index fd5d9881abfd930bb883120f018f76dc78b62b14..3d29c47ac0620af82d990faf5dfc266c
return;
}
setVersionMessage(getVersionFetcher().getVersionMessage(version));
@@ -255,9 +255,11 @@ public class VersionCommand extends BukkitCommand {
@@ -256,9 +256,11 @@ public class VersionCommand extends BukkitCommand {
// Paper start
private void setVersionMessage(final @NotNull Component msg) {
lastCheck = System.currentTimeMillis();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 97f97ea5c6aa513c439f86a9c82821e0f7d9cd1e..099516b90c504205b894b387542221e8c0c98b40 100644
index fdb87adfb8d6eff2bfabe7a41398c53d15d4cd98..25a049040a982194e7337d283898b252568f09e0 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -4249,6 +4249,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -4276,6 +4276,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public DragonBattle getEnderDragonBattle();

View File

@@ -136,10 +136,10 @@ index e801e79fa57c44b2e5d359647c920f88064826f1..1abfcee0f6d632f4cd8d74b4994a90c9
new ArrayList<String>(TIMINGS_SUBCOMMANDS.size()));
}
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
index 83f84a76cbfdf5138ecccf3a886d38151a500bf2..fdedac32544be6534288c8ba28abe7f5c4c56f3b 100644
index a09b5458191eb5df4787859b72a37fa1fa2bffba..7740ad53796d08584bb0110f99af5639993e4d71 100644
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
@@ -172,10 +172,10 @@ public class SimpleCommandMap implements CommandMap {
@@ -173,10 +173,10 @@ public class SimpleCommandMap implements CommandMap {
// Paper end
try {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Debug Marker API
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 0b298161d8b94d655113328ebc0cd19a65619c72..83b979fbb8c0dd64f0a19feef654af2b165bd603 100644
index ad5f2a8991c3b7925626fd463110765ff964beb9..bb09c468ab1261ea4eaf59012d30a2e45199caf7 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2951,5 +2951,89 @@ public final class Bukkit {
@@ -99,7 +99,7 @@ index 0b298161d8b94d655113328ebc0cd19a65619c72..83b979fbb8c0dd64f0a19feef654af2b
// Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index cecf7b49e3858359ae7eaa4318180d7f11728a7a..916db0d6096338c4f1b8707048eb38b50a2b027d 100644
index e75cccea44c9a693dfe52a419c742da9a62da42a..36d8ce7a21513600ab10b7e6f47c9f1d2cc51947 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2588,5 +2588,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -179,10 +179,10 @@ index cecf7b49e3858359ae7eaa4318180d7f11728a7a..916db0d6096338c4f1b8707048eb38b5
// Purpur end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 099516b90c504205b894b387542221e8c0c98b40..83a5b68c785a88594e6e3824ed282844086f7f1a 100644
index 25a049040a982194e7337d283898b252568f09e0..0f2f7cb8acb226d6f9a1085ec9cac3f8faa77813 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -4257,6 +4257,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -4284,6 +4284,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return The local difficulty
*/
public float getLocalDifficultyAt(@NotNull Location location);
@@ -260,10 +260,10 @@ index 099516b90c504205b894b387542221e8c0c98b40..83a5b68c785a88594e6e3824ed282844
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 972cca3e02296f94099f965a4f7662ec63a067ea..ec49be86fa9b2612ae2853f06f503bffa3a1271d 100644
index a03f473dee39eb160196e2468e4c26c6f8f6ce2a..2443f32d5a832b8913cd00042b94fda96658a3c2 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3834,5 +3834,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3882,5 +3882,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @deprecated Use {@link #resetIdleDuration()} instead
*/
void resetIdleTimer();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index ec49be86fa9b2612ae2853f06f503bffa3a1271d..d057743b8f6a463434c1f76398c7a98614b19d47 100644
index 2443f32d5a832b8913cd00042b94fda96658a3c2..c41b5e13c519b3f48cbc866ad77b153cdde13136 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3904,5 +3904,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3952,5 +3952,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Clears all debug block highlights
*/
void clearBlockHighlights();

View File

@@ -199,7 +199,7 @@ index 4f3cc14d48690bb183d09bb7a5ba1e23e8a0c08a..c366d84518979e842a6f10f969a59515
stringbuilder.append(CrashReport.getErrorComment());
stringbuilder.append("\n\n");
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0ed42fa899721f83b598db05be1b5f321af3614a..d42cd000684f6bed26a188bfcf2c633e49b51370 100644
index 3751c2a077bd13bac330b93c6efc2a640a17f4f2..38d2dfcee9462aaf9aa4954effe2b40242d4bb76 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -956,7 +956,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -252,10 +252,10 @@ index e85b9bb3f9c225d289a4959921970b9963881199..c1e2d3a75b9d4710ab6d8b5c62af4bc1
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 4788a591f40f506d81b10fd9f6ab68f308a68e23..de3f413dc60ee501e540b68a7b3c1118c750ca0b 100644
index f99353a60e3f236735ef6e2e6f13381b50ae9b7b..e29826bdfcdde938c1e1ea4092efccda13f52218 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -503,7 +503,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -504,7 +504,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@Override
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {

View File

@@ -72,7 +72,7 @@ index 59d7e8a3d83d3ab7aa28606401bb129ccaeff240..b51850c0368b0fa2c9eb4ca44b9c931e
boolean flag1 = this.source.acceptsSuccess() && !this.silent;
boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent;
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 2eb9c584cc77237f1c82d880a51a3f8b51008d73..6dc0101193c5a1a8850f849d4459462f00ce30e8 100644
index ad967cc2283f902c76e48a59d59cf0dbdacbb5e3..d3ecff1a06d8fc2d1f3f6d96fd17ca81aa274373 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -232,6 +232,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -112,10 +112,10 @@ index 14281a4e72f49dc4eb2ca3da8479c1f81a3a175d..be8bc5b5d5fdf41da40fb5aef9e6bb16
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 94a31c8f903eb61eb6d203e8e6fe8fb0beca28b1..934b942d1e8fdd0b9b3c1f704d514f06a9556623 100644
index 5db08432b6afd3639688830e717f40ceaf599248..987cc39ebc9332ba0c974fb4e8b89ebbe05aff5f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1033,6 +1033,7 @@ public final class CraftServer implements Server {
@@ -1056,6 +1056,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console);
@@ -123,7 +123,7 @@ index 94a31c8f903eb61eb6d203e8e6fe8fb0beca28b1..934b942d1e8fdd0b9b3c1f704d514f06
for (ServerLevel world : this.console.getAllLevels()) {
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
@@ -1048,6 +1049,7 @@ public final class CraftServer implements Server {
@@ -1071,6 +1072,7 @@ public final class CraftServer implements Server {
}
}
world.spigotConfig.init(); // Spigot
@@ -131,7 +131,7 @@ index 94a31c8f903eb61eb6d203e8e6fe8fb0beca28b1..934b942d1e8fdd0b9b3c1f704d514f06
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -1064,6 +1066,7 @@ public final class CraftServer implements Server {
@@ -1087,6 +1089,7 @@ public final class CraftServer implements Server {
this.reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
@@ -139,7 +139,7 @@ index 94a31c8f903eb61eb6d203e8e6fe8fb0beca28b1..934b942d1e8fdd0b9b3c1f704d514f06
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -3030,6 +3033,18 @@ public final class CraftServer implements Server {
@@ -3053,6 +3056,18 @@ public final class CraftServer implements Server {
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
}
@@ -159,7 +159,7 @@ index 94a31c8f903eb61eb6d203e8e6fe8fb0beca28b1..934b942d1e8fdd0b9b3c1f704d514f06
public void restart() {
org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index e02102280ed1dc300191d19bbca8f00e17701753..fe181ec5f8e968ff78e694f7a213c7aac718704c 100644
index b86ba59158964f73abd6622341a9acb98a33fa44..af153da19fadf3020191e1de7d10d6688bf8c2d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -176,6 +176,14 @@ public class Main {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index c10401e587a710d49c4af481c1e531b4bf51f755..40b9a89531d1df347191edd274485cf977051e04 100644
index 6a4637eef14cbd84bbe26ef16f004b8f93367a3d..32c02333eee85dd3e90f259873bf8bbb4c9177a7 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -298,6 +298,7 @@ public class ServerPlayer extends Player {
@@ -43,10 +43,10 @@ index 308aef9c4933b2bcdd622a34b68efab4a220fe4d..a8edeb5a40cd9aac933805259407e32c
try {
String channels = payload.toString(com.google.common.base.Charsets.UTF_8);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 561a7a8e96e2d91bbb87fe6230e94b5f38073d27..bae888162966f5e31f92c49fbf6df119c2b83781 100644
index 40155cc70ba959eea8011626a30e26f44298c99d..69de5167aeaa6f9cb66fa7c2daa63a2e72c93fd0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3519,4 +3519,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3528,4 +3528,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSendViewDistance(final int viewDistance) {
this.getHandle().setSendViewDistance(viewDistance);
}

View File

@@ -22,7 +22,7 @@ index 665e88b2dedf9d5bb50914d5f3d377f2d19f40b0..f70a80b496bd1498778e82fc221c3b1b
super(x, y, z);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d42cd000684f6bed26a188bfcf2c633e49b51370..8a264034d2b0552587b64fb82409f1aa3f5b6808 100644
index 38d2dfcee9462aaf9aa4954effe2b40242d4bb76..389ecd3db65fa2eba09b500ab7c59ebeac4f159f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1758,6 +1758,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -190,7 +190,7 @@ index 09fdea983772612ef3fff6b2da3cf469a34e4ec0..aa76a24421cdb3908a3544d92eb3d1e3
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index ce01fe82dc1eaaf06ca317ddbc62b7d1b87a48b2..de03ae0d49a9331c6e397c2a26114a935c41b0d8 100644
index 21e61bb75ac7ce468bc757633ce678b21bcb9deb..8623501c6f6567d146f9314f151629b5c25af289 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -229,9 +229,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -223,7 +223,7 @@ index ce01fe82dc1eaaf06ca317ddbc62b7d1b87a48b2..de03ae0d49a9331c6e397c2a26114a93
@Override
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
@@ -2771,7 +2772,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2765,7 +2766,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
protected long lastJumpTime = 0L; // Paper - Prevent excessive velocity through repeated crits
@@ -232,7 +232,7 @@ index ce01fe82dc1eaaf06ca317ddbc62b7d1b87a48b2..de03ae0d49a9331c6e397c2a26114a93
float f = this.getJumpPower();
if (f > 1.0E-5F) {
@@ -3484,8 +3485,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3478,8 +3479,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.pushEntities();
this.level().getProfiler().pop();
// Paper start - Add EntityMoveEvent
@@ -245,7 +245,7 @@ index ce01fe82dc1eaaf06ca317ddbc62b7d1b87a48b2..de03ae0d49a9331c6e397c2a26114a93
Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
@@ -3495,6 +3498,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3489,6 +3492,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
}
}

View File

@@ -78,7 +78,7 @@ index 5dd8c9f53ba50f160198a09dd2069edbac48230e..70838e5ee30733a71ad73330f69ea093
return this.stats;
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index a33a724de4c408fcf23b8ec9206311fc25936f1c..d84f083ea335d4bfc021e11cbb86bcc17f9ba76c 100644
index ac11226ca4b8d730871851d99491d598e41a0de6..5a62fb4e441b251c92534a09b2f4af39a2e8e34c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -332,6 +332,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -192,7 +192,7 @@ index d2f0c3b26d4beedb49d86e0242d843590d469d02..7463eefb7d09ea55fe8780210e7e967c
if (baseEntity == null) {
if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level().getDifficulty() == Difficulty.PEACEFUL)) {
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index a651b1ecca3133876486dab08627c67449b67005..91a52b49141c7d1e5b9553a4a7e33c85b95ce49f 100644
index 5f87d625be6249c37a7397933b0edb22f67e5c39..7ddc0b1005433ef467e1a086a19acd1ab5c9fc24 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -201,6 +201,13 @@ public abstract class Player extends LivingEntity {
@@ -223,7 +223,7 @@ index ea0aee88c7d901034427db201c1b2430f8a1d522..1f28bfb435c1e4d97da713f96c452aba
if (range < 0.0 || d < range * range) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 497439478e20f2207e23e8e556ac7df80eb7e5c7..a0db237d748147280cd4ccfc6eaa601974f1f304 100644
index 69de5167aeaa6f9cb66fa7c2daa63a2e72c93fd0..5ace17f1bc7b6c5c99849ac5a650de4205c7fbbd 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -574,10 +574,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -243,7 +243,7 @@ index 497439478e20f2207e23e8e556ac7df80eb7e5c7..a0db237d748147280cd4ccfc6eaa6019
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) {
if (player.getBukkitEntity().canSee(this)) {
@@ -3525,5 +3530,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3534,5 +3539,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean usesPurpurClient() {
return getHandle().purpurClient;
}

View File

@@ -17,10 +17,10 @@ index 9d10cdacb3aed2c00dc60aeb6f2cbeb48905e21f..842f382de43df5d5c321422372ec30cc
public final boolean spawnNpcs = this.get("spawn-npcs", true);
public final boolean pvp = this.get("pvp", true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 934b942d1e8fdd0b9b3c1f704d514f06a9556623..635666762408b9e62ace15703c75f2dbcc768967 100644
index 987cc39ebc9332ba0c974fb4e8b89ebbe05aff5f..72d3d80d29920fa3f6f98ac0f56ae8550fb69596 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3272,4 +3272,11 @@ public final class CraftServer implements Server {
@@ -3295,4 +3295,11 @@ public final class CraftServer implements Server {
return this.potionBrewer;
}
// Paper end

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6464cf3cf027d894d18d1a24495952d304151648..87957873de7f8cea2ae84abf04c99a42c8c3a815 100644
index 51968d23424cf57264fbf343199b3f1f2b00a08a..c167d61c281cd9324c7fd741a5845792bcdbf56a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -312,6 +312,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -25,10 +25,10 @@ index 6464cf3cf027d894d18d1a24495952d304151648..87957873de7f8cea2ae84abf04c99a42
}
// Paper end - further improve server tick loop
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 635666762408b9e62ace15703c75f2dbcc768967..e1f7b8c6edbecc1cfdc35a3d508044dcc984e647 100644
index 72d3d80d29920fa3f6f98ac0f56ae8550fb69596..fb77892937a3441aed3d65686a3bbbaf01b46f91 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3278,5 +3278,10 @@ public final class CraftServer implements Server {
@@ -3301,5 +3301,10 @@ public final class CraftServer implements Server {
public String getServerName() {
return this.getProperties().serverName;
}

View File

@@ -17,7 +17,7 @@ index c7e1f2bac3eca9bb72bf1f8c26cccb2905e1ddfc..94893039363b5fe2d7d0622d0592bce2
} else {
this.startProgress(advancementholder, advancementprogress);
diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java
index 1351423a12c19a01f602a202832372a399e6a867..1e2025674eafcf56460c741083c91e2e42d61b19 100644
index a6c31a558794a6e626e83176a1cbe78b6bd90f6e..8487a793e7bb2f491f47a061f413246387bc25b0 100644
--- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java
+++ b/src/main/java/net/minecraft/server/level/WorldGenRegion.java
@@ -326,6 +326,7 @@ public class WorldGenRegion implements WorldGenLevel {
@@ -41,10 +41,10 @@ index 4103ddf16164e3992fef0765d368282572537e29..a0cb49233b1dbf53ce9d1bcc52b89678
} else {
handler.accept((RecipeHolder) optional.get());
diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
index 71d057dc8c7362f8e7aaca5e31c9f02b2bf3f281..9d9405af0db28c0f3ffff2881b54f1dc84675a9d 100644
index 62f4835309df2b2deeb799609f9b1b325bf58af3..53f2ab5b380649fca95b92948e6fb64aaf66c143 100644
--- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
+++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
@@ -256,6 +256,7 @@ public final class CraftLegacy {
@@ -265,6 +265,7 @@ public final class CraftLegacy {
}
static {
@@ -53,7 +53,7 @@ index 71d057dc8c7362f8e7aaca5e31c9f02b2bf3f281..9d9405af0db28c0f3ffff2881b54f1dc
if (MinecraftServer.getServer() != null && MinecraftServer.getServer().isDebugging()) {
new Exception().printStackTrace();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index a14cf3a5dc2ba265de5e400404afcbd9faa3f25a..a14879f4266c71b7493c05e105114590c6709045 100644
index e4c01fc54f832f895adec75ac855b614ff77d19a..321a10764b2a0787a49d7b8948e40cfe0a73f591 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -237,4 +237,15 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index cbf347988ca54e9a710103d514c915e1d0f15bf1..935719bbe98d1fc01e31d50f19a9dd287ad5b9ba 100644
index 0b542d2cb370b4ca9d04256264c8e8592743aa2f..6bdb919fa0977e8fffab63f556d5409db5d56e8f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1864,6 +1864,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1858,6 +1858,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.dropEquipment(); // CraftBukkit - from below
if (this.shouldDropLoot() && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
@@ -16,7 +16,7 @@ index cbf347988ca54e9a710103d514c915e1d0f15bf1..935719bbe98d1fc01e31d50f19a9dd28
this.dropFromLootTable(source, flag);
// Paper start
final boolean prev = this.clearEquipmentSlots;
@@ -1872,6 +1873,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1866,6 +1867,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
// Paper end
this.dropCustomDeathLoot(source, i, flag);
this.clearEquipmentSlots = prev; // Paper

View File

@@ -18,10 +18,10 @@ index 8feace82105dccd2db3872a7e735ce376397abc8..90788e4ffdc6f38675aa859e3b2ff185
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
// Paper end - Configurable nether ceiling damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 3c023e4c810b7bc3693b944d284f493ccb874253..c0dd4b16056686ad00d82b32e8d73f985b7023b3 100644
index 6bdb919fa0977e8fffab63f556d5409db5d56e8f..1ebf980eaf233f828dda11e5ec1a12e604f08a96 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2582,7 +2582,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2576,7 +2576,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
protected void onBelowWorld() {

View File

@@ -18,7 +18,7 @@ index 039a86034928a5eb7aaa2d7ca76a7bddcca346bd..308f67d0616e2d6bb135258f1fda53cc
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 843169bf1600d2edcaad8eb6c8036be20ffc3d37..e8ebbbaa43dc8e3b63b2a90c0934207441e595f5 100644
index e2c0857e9628cca3aeef99c8e351281c7777415a..f98b2cd4e0b59fdd64934a1b83403d6124e4a97f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -307,7 +307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -74,10 +74,10 @@ index 096c89bd01cec2abd151bf6fffc4847d1bcd548f..cd0a8a6a1be75cab8bbb8ee3ac17bb73
this.values[this.vp++ & 0xFF] = (int)(l * 100L / Runtime.getRuntime().maxMemory());
this.repaint();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e1f7b8c6edbecc1cfdc35a3d508044dcc984e647..70e252cbd6d516875b0e6de1f51b9afb34c58f48 100644
index fb77892937a3441aed3d65686a3bbbaf01b46f91..cbe57d7b3282a76a427a64507a10a5aea767ff1c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3074,6 +3074,7 @@ public final class CraftServer implements Server {
@@ -3097,6 +3097,7 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {
return new double[] {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index c0dd4b16056686ad00d82b32e8d73f985b7023b3..9cea786b57ed7b7c08bf06783d58945980c62e0f 100644
index 1ebf980eaf233f828dda11e5ec1a12e604f08a96..afaa8f840f04052196eefbc7aa7b103a45a876e6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3544,7 +3544,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3538,7 +3538,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
int j = i / 10;
if (j % 2 == 0) {
@@ -46,7 +46,7 @@ index 218f2f085309f04438f8b07bc41cf242583db2dc..ea8e49b42b9dde74784189430be66ed6
itemStack.shrink(1);
} else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 37b037f167fe5b85eede525bdff2e3aab8c04eda..c3a4158df98d52854d777f986d8a8b962ea55e29 100644
index 737d49e5d2e4bce7174a9fcf86d19bad52257f1e..042a75f429717ce57a5a2c9fff035e3b93da9809 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -665,7 +665,7 @@ public final class ItemStack implements DataComponentHolder {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Totems work in inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 9a912752b12730a8fb09f5a6ab5a8638b555e3e3..2ea60043f3bbf6cce77799f6c74ffe1f4b226374 100644
index 740fc4e4b4b6023d3b3a66c13e689f54f1d32aad..bc410b94c479e9acf969b21c920db0f616342591 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1653,6 +1653,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1647,6 +1647,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 514b977591e987032e3c5ec33adc0275ccd10898..450b289398cb3cccfcddcb4377004358a77d2c45 100644
index bc410b94c479e9acf969b21c920db0f616342591..6af45fb6ba462730e639d97879f97272445a2246 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1831,7 +1831,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1825,7 +1825,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
boolean flag = false;
if (this.dead && adversary instanceof WitherBoss) { // Paper

View File

@@ -32,7 +32,7 @@ index 0eea9e29170a365e96659bcea2dea283d6f1ceda..ed2b8138d23e94b5471181396f290c53
return this.hardCollides;
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 64642403d6821d149e2acc3a4cac43ef19b4dd3d..753b1220ecf63914920ef85292db47d006ecfa27 100644
index b3e6806f6d5b7b9c192dac1d7549a445f7a448b8..e8f47e60ada57e5da997186da256538c540e6823 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -274,6 +274,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -63,7 +63,7 @@ index 64642403d6821d149e2acc3a4cac43ef19b4dd3d..753b1220ecf63914920ef85292db47d0
}
// CraftBukkit start
@@ -3566,6 +3573,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3560,6 +3567,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurt(this.damageSources().drown(), 1.0F);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 753b1220ecf63914920ef85292db47d006ecfa27..a4a0486a3cc7c638b8abf8ca0004ca6f7781b0de 100644
index e8f47e60ada57e5da997186da256538c540e6823..c1e275fb53c4c173d80ae27087048f0f3902c2ad 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2986,6 +2986,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2980,6 +2980,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (f3 > 0.0F) {
this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F);

View File

@@ -51,10 +51,10 @@ index 08ff372334f32b9bfac2e7b7a405e43ecf0df959..d566924cc3f13475769d4c733ea8a779
private int maxStack = MAX_STACK;
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 70e252cbd6d516875b0e6de1f51b9afb34c58f48..d78062e40bb4cec0f69c58de305527a640799a53 100644
index cbe57d7b3282a76a427a64507a10a5aea767ff1c..8cdc91d8306a76514abd76c450044ffed5418787 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1571,6 +1571,19 @@ public final class CraftServer implements Server {
@@ -1594,6 +1594,19 @@ public final class CraftServer implements Server {
return true;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for mob last hurt by player time
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 7f717b3e8bb8a8eef98411216823f98ead912408..ceb420d3b9c5d3050b0d72ae612b8003d562202a 100644
index 4744b0dd3f5e9e5f2d92bd8604610bc133977931..36102a9bafde35d30a5cf78999a1999daa05b7e1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1579,13 +1579,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1573,13 +1573,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (entity1 instanceof net.minecraft.world.entity.player.Player) {
net.minecraft.world.entity.player.Player entityhuman = (net.minecraft.world.entity.player.Player) entity1;
@@ -25,7 +25,7 @@ index 7f717b3e8bb8a8eef98411216823f98ead912408..ceb420d3b9c5d3050b0d72ae612b8003
if (entityliving2 instanceof net.minecraft.world.entity.player.Player) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index fbb1b3672af69306c510f3a629bede548ba7a9fd..1284c941a4c863c287098a0a04efcc723e727bb3 100644
index b95d355ede8689af1f7f5a0424b5274e38839756..3ed19f30f1cab9df3b1bfdf0b0caf7882a77c5f7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -512,7 +512,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index f2b20ed5063a293f0b464548f590d652170cd1d8..b7a02ae4eda06cab8ffd1220259a061558981dec 100644
index 6303760f10af17f1da1d92d6c4dc7dd6f5778f94..60924e7fbba91819f0794a44f0777158962f0d3f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2424,6 +2424,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -2449,6 +2449,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight());
}

View File

@@ -80,7 +80,7 @@ index 57e76b53e5e314c3e6b8856010f7a84188121582..8c134a642ccaf3530022f2e675a858d7
} catch (Exception exception) {
if (exception instanceof ReportedException) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 5b0c0ddd60d133d52b0405ad86cabc1c94ea998c..f91739d3de41c20b352e159c7f4e12e6fdcab794 100644
index f9d975002b7ed5dc6b31562d05f8be4c96b2d515..bf9e17659305680dc0262a0bc82246ec1f334fb9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1477,7 +1477,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -238,7 +238,7 @@ index 5b0c0ddd60d133d52b0405ad86cabc1c94ea998c..f91739d3de41c20b352e159c7f4e12e6
this.profiler.popPush("send chunks");
iterator = this.playerList.getPlayers().iterator();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 7adf0af86449d2bd4805d9d8823db6bd1c6fef9e..3b0754ea12ec8a29bd6dd139078b767498b21595 100644
index 9ec4be84bd3aceacdc0c02cd928f60886c2824ee..8fb5b1769d0dc25f93945105bc56bf849d85265b 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -540,7 +540,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -343,7 +343,7 @@ index 7fb9ba3dadb1eca4a1000ea8cf4d13fed2b7db1e..2b8448ccb0e4750b722933b0b5de02d8
}
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index b99f50604bafecbc68835974c9ed0caa91911a40..07b428ed7837642254b1edd55fd08a7beac7e303 100644
index fcecfda569d2a8d6b8a7e228831f822fb7327748..e8906613073ba5dfe36f197c519953d391300ec4 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -274,10 +274,10 @@ public class ServerChunkCache extends ChunkSource {
@@ -387,7 +387,7 @@ index b99f50604bafecbc68835974c9ed0caa91911a40..07b428ed7837642254b1edd55fd08a7b
this.level.getProfiler().push("purge");
- this.level.timings.doChunkMap.startTiming(); // Spigot
+ //this.level.timings.doChunkMap.startTiming(); // Spigot // Purpur
if (this.level.tickRateManager().runsNormally() || !tickChunks) {
if (this.level.tickRateManager().runsNormally() || !tickChunks || this.level.spigotConfig.unloadFrozenChunks) { // Spigot
this.distanceManager.purgeStaleTickets();
}
-

View File

@@ -83,7 +83,7 @@ index e9775b4506909bee65a74964f0d5391a0513de1d..684f7f202305c09b1037c5d38a52a5ea
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f91739d3de41c20b352e159c7f4e12e6fdcab794..9e9537007a156dfbd41e53a93312ccb8be061a08 100644
index bf9e17659305680dc0262a0bc82246ec1f334fb9..e3a837166d1febfdf3dea9ab0a84c6e64ecd2d6e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -344,13 +344,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -474,7 +474,7 @@ index 2b8448ccb0e4750b722933b0b5de02d8f4f38788..345f143b0eeb77acb96e4bc716f3b237
public boolean hasWork() {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 07b428ed7837642254b1edd55fd08a7beac7e303..476a04d87a61b021816d2970e86042bde32d95a2 100644
index e8906613073ba5dfe36f197c519953d391300ec4..25aff82dd74ee87f67632af48a2a8e7436fb1a84 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -259,14 +259,14 @@ public class ServerChunkCache extends ChunkSource {
@@ -517,7 +517,7 @@ index 07b428ed7837642254b1edd55fd08a7beac7e303..476a04d87a61b021816d2970e86042bd
- this.level.getProfiler().push("purge");
+ //this.level.getProfiler().push("purge"); // Purpur
//this.level.timings.doChunkMap.startTiming(); // Spigot // Purpur
if (this.level.tickRateManager().runsNormally() || !tickChunks) {
if (this.level.tickRateManager().runsNormally() || !tickChunks || this.level.spigotConfig.unloadFrozenChunks) { // Spigot
this.distanceManager.purgeStaleTickets();
}
this.runDistanceManagerUpdates();
@@ -1211,7 +1211,7 @@ index d42cf771b9cf77304d5174f374c56eb793fc2991..45e06ec0e975973edb4434f64ddfc0f6
}
} else {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index ceb420d3b9c5d3050b0d72ae612b8003d562202a..05644dd1872d8b558ed64f74fc8699d651cc893e 100644
index 36102a9bafde35d30a5cf78999a1999daa05b7e1..511e3de6de202ee96195194fd05f8a08b3fe73a1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -423,7 +423,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1232,7 +1232,7 @@ index ceb420d3b9c5d3050b0d72ae612b8003d562202a..05644dd1872d8b558ed64f74fc8699d6
}
public boolean canSpawnSoulSpeedParticle() {
@@ -3220,10 +3220,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3214,10 +3214,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.run += (f3 - this.run) * 0.3F;
@@ -1246,7 +1246,7 @@ index ceb420d3b9c5d3050b0d72ae612b8003d562202a..05644dd1872d8b558ed64f74fc8699d6
// Paper start - stop large pitch and yaw changes from crashing the server
this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
@@ -3235,7 +3235,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3229,7 +3229,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F;
// Paper end
@@ -1255,7 +1255,7 @@ index ceb420d3b9c5d3050b0d72ae612b8003d562202a..05644dd1872d8b558ed64f74fc8699d6
this.animStep += f2;
if (this.isFallFlying()) {
++this.fallFlyTicks;
@@ -3458,19 +3458,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3452,19 +3452,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.setDeltaMovement(d0, d1, d2);
@@ -1280,7 +1280,7 @@ index ceb420d3b9c5d3050b0d72ae612b8003d562202a..05644dd1872d8b558ed64f74fc8699d6
if (this.jumping && this.isAffectedByFluids()) {
double d3;
@@ -3497,8 +3497,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3491,8 +3491,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.noJumpDelay = 0;
}
@@ -1291,7 +1291,7 @@ index ceb420d3b9c5d3050b0d72ae612b8003d562202a..05644dd1872d8b558ed64f74fc8699d6
this.xxa *= 0.98F;
this.zza *= 0.98F;
this.updateFallFlying();
@@ -3523,8 +3523,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3517,8 +3517,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.travel(vec3d1);
}
@@ -1302,7 +1302,7 @@ index ceb420d3b9c5d3050b0d72ae612b8003d562202a..05644dd1872d8b558ed64f74fc8699d6
if (!this.level().isClientSide && !this.isDeadOrDying() && !this.freezeLocked) { // Paper - Freeze Tick Lock API
int i = this.getTicksFrozen();
@@ -3541,15 +3541,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3535,15 +3535,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurt(this.damageSources().freeze(), 1.0F);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d78062e40bb4cec0f69c58de305527a640799a53..a207163168ff3ac6827bec209a24ee92c0c1dfe5 100644
index 8cdc91d8306a76514abd76c450044ffed5418787..c5d090fbe48b823c6598b52cd51e81aff0aa17c5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1582,6 +1582,42 @@ public final class CraftServer implements Server {
@@ -1605,6 +1605,42 @@ public final class CraftServer implements Server {
public void removeFuel(org.bukkit.Material material) {
net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.removeFuel(net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material)));
}
@@ -52,10 +52,10 @@ index d78062e40bb4cec0f69c58de305527a640799a53..a207163168ff3ac6827bec209a24ee92
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index b7a02ae4eda06cab8ffd1220259a061558981dec..226ff7c6048b510be2e71ecc5d5ff3581092aa5e 100644
index 60924e7fbba91819f0794a44f0777158962f0d3f..523a6afd7f1dcb0b4ddf5ede0415487c104296bc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2428,6 +2428,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -2453,6 +2453,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public float getLocalDifficultyAt(Location location) {
return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty();
}
@@ -99,10 +99,10 @@ index b7a02ae4eda06cab8ffd1220259a061558981dec..226ff7c6048b510be2e71ecc5d5ff358
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 5ea638493fc9330acb194c806a7add8525eab3ee..7dbd2c06ee8777f5100e9545c9666abc83dae21e 100644
index 731e879a3c7c9c4c5199216ec1033bc8001b6460..69f39d2df0fac329881401bc5b0391c18eb38096 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3571,5 +3571,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3580,5 +3580,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetIdleTimer() {
getHandle().resetLastActionTime();
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 839c5794183882a875f68fc6b1a61aa543421681..2c9726d0f2dec1136a2f45768e8f8169ce165a1d 100644
index 69f39d2df0fac329881401bc5b0391c18eb38096..8211ec2c701687d8e5334156772cf435b89f3cb3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3609,5 +3609,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3618,5 +3618,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (this.getHandle().connection == null) return;
this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestClearMarkersDebugPayload()));
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Language API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 02d3be715acb113a1776450b54eeca17684d238e..ccdf1b7b86895fe469476112277b5f76f7f02bf0 100644
index c5d090fbe48b823c6598b52cd51e81aff0aa17c5..07a04dcbd48430102268f8f44e9bce437214a00f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -405,6 +405,20 @@ public final class CraftServer implements Server {
@@ -407,6 +407,20 @@ public final class CraftServer implements Server {
this.paperPluginManager = new io.papermc.paper.plugin.manager.PaperPluginManagerImpl(this, this.commandMap, pluginManager);
this.pluginManager.paperPluginManager = this.paperPluginManager;
// Paper end

View File

@@ -0,0 +1,45 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: granny <granny@purpurmc.org>
Date: Thu, 13 Jun 2024 16:00:30 -0700
Subject: [PATCH] Adopt MaterialRerouting
Adopts the purpur-api to the material rerouting infrastructure introduced
by upstream's upstream.
diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java b/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java
index 9c004e7cb46841d874ab997bf2e3b63ae763aec7..36003e5c7c61d964f11e81fa56845a52a8785468 100644
--- a/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java
+++ b/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java
@@ -678,4 +678,32 @@ public class MaterialRerouting {
return itemStack.withType(material);
}
// Paper end - register paper API specific material consumers in rerouting
+ // Purpur start
+ // Method added post 1.13, no-op (https://github.com/PurpurMC/Purpur/pull/570)
+ public static void addFuel(Server server, Material material, int burnTime) {
+ server.addFuel(material, burnTime);
+ }
+
+ // Method added post 1.13, no-op (https://github.com/PurpurMC/Purpur/pull/570)
+ public static void removeFuel(Server server, Material material) {
+ server.removeFuel(material);
+ }
+
+ // Method added post 1.13, no-op (https://github.com/PurpurMC/Purpur/pull/570)
+ @RerouteStatic("org/bukkit/Bukkit")
+ public static void addFuel(Material material, int burnTime) {
+ Bukkit.addFuel(material, burnTime);
+ }
+
+ // Method added post 1.13, no-op (https://github.com/PurpurMC/Purpur/pull/570)
+ @RerouteStatic("org/bukkit/Bukkit")
+ public static void removeFuel(Material material) {
+ Bukkit.removeFuel(material);
+ }
+
+ // Method added post 1.13, no-op (https://github.com/PurpurMC/Purpur/commit/607d909efba516893072b782c0393c53d048210e)
+ public static BlockData getBlockData(ItemStack itemStack, Material material) {
+ return itemStack.getBlockData(MaterialRerouting.transformToBlockType(material));
+ }
+ // Purpur end
}