Skip to content

Commit 2d3cfe0

Browse files
committed
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
1 parent ae4134c commit 2d3cfe0

32 files changed

+86
-114
lines changed

build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent
33

44
plugins {
55
java // TODO java launcher tasks
6-
id("io.papermc.paperweight.patcher") version "2.0.0-beta.15"
6+
id("io.papermc.paperweight.patcher") version "2.0.0-beta.16"
77
}
88

99
val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/"

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
22
version = 1.21.5-R0.1-SNAPSHOT
33

44
mcVersion = 1.21.5-pre1
5-
paperCommit = 4db94754ad4ea08f76ff8746677a20500e206bc2
5+
paperCommit = 3459b68dc3f22653ac576b3f8b94f05b419ec611
66

77
org.gradle.configuration-cache = true
88
org.gradle.caching = true

purpur-api/paper-patches/features/0002-Purpur-config-files.patch

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files
55

66

77
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
8-
index 4d821f25903ff800cc21a4eb35332677a5992635..51f22c887ef610b339953115f69bbf1316b667aa 100644
8+
index ab71ddde526f80b52169ac7ea6feb9b6c987d8d4..4e516fc82bf4bf03e8d561a629bc712527d1f4bb 100644
99
--- a/src/main/java/org/bukkit/Server.java
1010
+++ b/src/main/java/org/bukkit/Server.java
11-
@@ -2362,6 +2362,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
11+
@@ -2369,6 +2369,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
1212
}
1313
// Paper end
1414

purpur-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- a/src/main/java/org/bukkit/Bukkit.java
22
+++ b/src/main/java/org/bukkit/Bukkit.java
3-
@@ -2995,4 +_,133 @@
3+
@@ -2996,4 +_,133 @@
44
public static void restart() {
55
server.restart();
66
}

purpur-api/paper-patches/files/src/main/java/org/bukkit/OfflinePlayer.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- a/src/main/java/org/bukkit/OfflinePlayer.java
22
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
3-
@@ -567,4 +_,104 @@
3+
@@ -570,4 +_,104 @@
44
@Override
55
io.papermc.paper.persistence.PersistentDataContainerView getPersistentDataContainer();
66
// Paper end - add pdc to offline player

purpur-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- a/src/main/java/org/bukkit/Server.java
22
+++ b/src/main/java/org/bukkit/Server.java
3-
@@ -2698,4 +_,111 @@
3+
@@ -2705,4 +_,111 @@
44
*/
55
void allowPausing(@NotNull org.bukkit.plugin.Plugin plugin, boolean value);
66
// Paper end - API to check if the server is sleeping

purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Entity.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- a/src/main/java/org/bukkit/entity/Entity.java
22
+++ b/src/main/java/org/bukkit/entity/Entity.java
3-
@@ -1196,4 +_,59 @@
3+
@@ -1192,4 +_,59 @@
44
*/
55
void broadcastHurtAnimation(@NotNull java.util.Collection<Player> players);
66
// Paper end - broadcast hurt animation

purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/LivingEntity.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
22
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
3-
@@ -1468,4 +_,20 @@
3+
@@ -1452,4 +_,20 @@
44
*/
55
boolean canUseEquipmentSlot(org.bukkit.inventory.@NotNull EquipmentSlot slot);
66
// Paper end - Expose canUseSlot

purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- a/src/main/java/org/bukkit/entity/Player.java
22
+++ b/src/main/java/org/bukkit/entity/Player.java
3-
@@ -3918,4 +_,123 @@
3+
@@ -3894,4 +_,123 @@
44
* @param score New death screen score of player
55
*/
66
void setDeathScreenScore(int score);

purpur-api/paper-patches/files/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java
22
+++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java
3-
@@ -308,7 +_,8 @@
3+
@@ -306,7 +_,8 @@
44
WORLD_BORDER,
55
/**
66
* Damage caused when an entity contacts a block such as a Cactus,
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
--- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
22
+++ b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
3-
@@ -68,6 +_,7 @@
3+
@@ -63,6 +_,7 @@
4+
session.setTransferListener(new AbstractTransferListener() {
45
@Override
5-
public void transferStarted(@NotNull TransferEvent event) throws TransferCancelledException
6-
{
6+
public void transferStarted(@NotNull TransferEvent event) {
77
+ if (!JavaPluginLoader.SuppressLibraryLoaderLogger) // Purpur - Add log suppression for LibraryLoader
8-
logger.log( Level.INFO, "Downloading {0}", event.getResource().getRepositoryUrl() + event.getResource().getResourceName() );
8+
logger.log(Level.INFO, "Downloading {0}", event.getResource().getRepositoryUrl() + event.getResource().getResourceName());
99
}
10-
} );
11-
@@ -94,6 +_,7 @@
12-
{
10+
});
11+
@@ -88,6 +_,7 @@
12+
// Paper end - plugin loader api
1313
return null;
1414
}
1515
+ if (!JavaPluginLoader.SuppressLibraryLoaderLogger) // Purpur - Add log suppression for LibraryLoader
16-
logger.log( Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[]
17-
{
18-
java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), desc.getLibraries().size() // Paper - use configured log prefix
19-
@@ -144,6 +_,7 @@
16+
logger.log(Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[]
17+
{
18+
java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), desc.getLibraries().size() // Paper - use configured log prefix
19+
@@ -140,6 +_,7 @@
2020
}
2121

22-
jarFiles.add( url );
22+
jarFiles.add(url);
2323
+ if (!JavaPluginLoader.SuppressLibraryLoaderLogger) // Purpur - Add log suppression for LibraryLoader
24-
logger.log( Level.INFO, "[{0}] Loaded library {1}", new Object[]
25-
{
26-
java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), file // Paper - use configured log prefix
24+
logger.log(Level.INFO, "[{0}] Loaded library {1}", new Object[]
25+
{
26+
java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), file // Paper - use configured log prefix

purpur-server/paper-patches/features/0002-Ridables.patch

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ Subject: [PATCH] Ridables
55

66

77
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
8-
index d7cf58309b3f455a18de7672fe6ee913f86bac5b..71cc3b64ee27118badcdd6214cb1c6a120202f44 100644
8+
index 227a2cdc6dbca17d4771aff3a0f62c424c4b06c9..65c4c0690874c29814098448b6cc6077a1e8c566 100644
99
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
1010
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
11-
@@ -1345,4 +1345,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
11+
@@ -1295,4 +1295,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
12+
((CraftPlayer) player).sendHurtAnimation(0, this);
1213
}
1314
}
14-
// Paper end - broadcast hurt animation
1515
+
1616
+ // Purpur start - Ridables
1717
+ @Override
@@ -37,10 +37,10 @@ index d7cf58309b3f455a18de7672fe6ee913f86bac5b..71cc3b64ee27118badcdd6214cb1c6a1
3737
+ // Purpur end - Ridables
3838
}
3939
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
40-
index 57c3f8531bf85b53af3a4aad6e9e369d5cff0ce3..56afb317cef0e049aacdd36a1be5f9b7af4d0c77 100644
40+
index 951048a9f73993f39468f18ea63bfc1baadfc274..0448037c7f14707586b65c1998476d1d11b9b6cb 100644
4141
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
4242
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
43-
@@ -602,6 +602,15 @@ public class CraftEventFactory {
43+
@@ -560,6 +560,15 @@ public class CraftEventFactory {
4444
// Paper end
4545
craftServer.getPluginManager().callEvent(event);
4646

@@ -56,7 +56,7 @@ index 57c3f8531bf85b53af3a4aad6e9e369d5cff0ce3..56afb317cef0e049aacdd36a1be5f9b7
5656
return event;
5757
}
5858

59-
@@ -1193,6 +1202,7 @@ public class CraftEventFactory {
59+
@@ -1133,6 +1142,7 @@ public class CraftEventFactory {
6060
EntityDamageEvent event;
6161
if (damager != null) {
6262
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical);

purpur-server/paper-patches/features/0004-Configurable-void-damage-height-and-damage.patch

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@ index e48fa405d92fab221fa8331b65c8f324e801d439..e319d6337811051de478d584a37015c4
1919

2020
final ConfigurationTransformation.VersionedBuilder versionedBuilder = Transformations.versionedBuilder();
2121
diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
22-
index d193330bfd97767705c878e359969378d43b99d0..4bc6a6572f18b333a3c48b2a96f3079998e7d77f 100644
22+
index 9511f978f6c7da506f67928f5a5a92ecf28e5930..65f6839fe75340a4b58894ad50c6eda7b59128c0 100644
2323
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
2424
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
25-
@@ -401,6 +401,7 @@ public class WorldConfiguration extends ConfigurationPart {
25+
@@ -402,6 +402,7 @@ public class WorldConfiguration extends ConfigurationPart {
2626
public boolean useVanillaWorldScoreboardNameColoring = false;
2727
}
2828

2929
+ @Setting(org.purpurmc.purpur.configuration.transformation.VoidDamageHeightMigration.ENVIRONMENT_KEY) // Purpur - Configurable void damage height and damage
3030
public Environment environment;
3131

3232
public class Environment extends ConfigurationPart {
33-
@@ -410,7 +411,9 @@ public class WorldConfiguration extends ConfigurationPart {
33+
@@ -411,7 +412,9 @@ public class WorldConfiguration extends ConfigurationPart {
3434
public boolean disableExplosionKnockback = false;
3535
public boolean generateFlatBedrock = false;
3636
public FrostedIce frostedIce;

purpur-server/paper-patches/features/0005-Add-EntityTeleportHinderedEvent.patch

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
1717
along with this program. If not, see <https://www.gnu.org/licenses/>.
1818

1919
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
20-
index 71cc3b64ee27118badcdd6214cb1c6a120202f44..623e4c9985e04edeeac1cdf1d8f89be4849bab33 100644
20+
index 65c4c0690874c29814098448b6cc6077a1e8c566..549f6fcf5ded0563e665673a797fa92496786c3b 100644
2121
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
2222
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
23-
@@ -261,6 +261,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
23+
@@ -264,6 +264,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
2424
boolean retainPassengers = flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS);
2525
// Don't allow teleporting between worlds while keeping passengers
2626
if (flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS) && this.entity.isVehicle() && location.getWorld() != this.getWorld()) {
@@ -29,18 +29,18 @@ index 71cc3b64ee27118badcdd6214cb1c6a120202f44..623e4c9985e04edeeac1cdf1d8f89be4
2929
}
3030

3131
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
32-
index 4dd2c2c824ffc7c6da02a3e740b4025459073295..db2cd4603c26bca59654f0a5225b18c446a7f612 100644
32+
index d53cc5f0952be042629cd8e6e319157d0afb14c7..9b72d1e90ceb531088ace34ff11db12a4bcba2b7 100644
3333
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
3434
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
35-
@@ -1441,6 +1441,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
35+
@@ -1420,6 +1420,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
3636
// Paper start - Teleport passenger API
3737
// Don't allow teleporting between worlds while keeping passengers
3838
if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) {
3939
+ if (!new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, cause).callEvent()) // Purpur - Add EntityTeleportHinderedEvent
4040
return false;
4141
}
4242

43-
@@ -1462,6 +1463,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
43+
@@ -1441,6 +1442,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
4444
}
4545

4646
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API

purpur-server/paper-patches/features/0006-API-for-any-mob-to-burn-daylight.patch

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
66
Co-authored by: Encode42 <[email protected]>
77

88
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
9-
index 3bb597cbce650e408273c07a7c120845c99b053b..dca2761fe4765c6e95b5db0d0cb5c818eb8697b4 100644
9+
index 549f6fcf5ded0563e665673a797fa92496786c3b..852938bc4007c4f4ef5b51330d13b0fbc624102b 100644
1010
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
1111
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
12-
@@ -102,6 +102,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
12+
@@ -107,6 +107,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
1313
}
1414
// Purpur end - Fire Immunity API
1515

@@ -24,13 +24,13 @@ index 3bb597cbce650e408273c07a7c120845c99b053b..dca2761fe4765c6e95b5db0d0cb5c818
2424
Preconditions.checkArgument(entity != null, "Unknown entity");
2525

2626
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
27-
index 459366331971d09e4cd00fb2035be01b4257477a..3a9d9b7526b2bf0fbd4e0d7886b3d849a6dcfee9 100644
27+
index b1cc7d90912b0ee1e2b57bb85c595a4f5d49e9aa..74e1e1751a2c3a25d44dec59c104f27980a057ae 100644
2828
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
2929
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
30-
@@ -1211,4 +1211,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
30+
@@ -1176,4 +1176,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
31+
public boolean canUseEquipmentSlot(org.bukkit.inventory.EquipmentSlot slot) {
3132
return this.getHandle().canUseSlot(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot));
3233
}
33-
// Paper end - Expose canUseSlot
3434
+
3535
+ // Purpur start - API for any mob to burn daylight
3636
+ @Override

purpur-server/paper-patches/files/src/main/java/com/destroystokyo/paper/Metrics.java.patch

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
22
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
3-
@@ -592,7 +_,7 @@
3+
@@ -593,7 +_,7 @@
44
boolean logFailedRequests = config.getBoolean("logFailedRequests", false);
55
// Only start Metrics, if it's enabled in the config
66
if (config.getBoolean("enabled", true)) {
@@ -9,7 +9,7 @@
99

1010
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
1111
String minecraftVersion = Bukkit.getVersion();
12-
@@ -601,16 +_,8 @@
12+
@@ -602,16 +_,8 @@
1313
}));
1414

1515
metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size()));

purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java.patch

+2-31
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
22
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
3-
@@ -366,14 +_,26 @@
3+
@@ -339,6 +_,12 @@
44

55
@Override
66
public Location getLocation() {
@@ -13,36 +13,7 @@
1313
CompoundTag data = this.getData();
1414
if (data == null) {
1515
return null;
16-
}
17-
18-
- if (data.contains("Pos") && data.contains("Rotation")) {
19-
- ListTag position = (ListTag) data.get("Pos");
20-
- ListTag rotation = (ListTag) data.get("Rotation");
21-
+ // Purpur start - OfflinePlayer API
22-
+ //if (data.contains("Pos") && data.contains("Rotation")) {
23-
+ ListTag position = data.getList("Pos", net.minecraft.nbt.Tag.TAG_DOUBLE);
24-
+ ListTag rotation = data.getList("Rotation", net.minecraft.nbt.Tag.TAG_FLOAT);
25-
+
26-
+ if (position.isEmpty() && rotation.isEmpty()) {
27-
+ return null;
28-
+ }
29-
+ // Purpur end - OfflinePlayer API
30-
31-
UUID uuid = new UUID(data.getLong("WorldUUIDMost"), data.getLong("WorldUUIDLeast"));
32-
33-
@@ -384,9 +_,9 @@
34-
rotation.getFloat(0),
35-
rotation.getFloat(1)
36-
);
37-
- }
38-
+ //} // Purpur - OfflinePlayer API
39-
40-
- return null;
41-
+ //return null; // Purpur - OfflinePlayer API
42-
}
43-
44-
@Override
45-
@@ -620,4 +_,191 @@
16+
@@ -571,4 +_,191 @@
4617
manager.save();
4718
}
4819
}

purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch

+8-8
Original file line numberDiff line numberDiff line change
@@ -21,31 +21,31 @@
2121

2222
CraftRegistry.setMinecraftRegistry(console.registryAccess());
2323

24-
@@ -1088,6 +_,7 @@
24+
@@ -1069,6 +_,7 @@
2525

2626
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
2727
this.console.paperConfigurations.reloadConfigs(this.console);
2828
+ org.purpurmc.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur - Purpur config files
2929
for (ServerLevel world : this.console.getAllLevels()) {
3030
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
3131
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
32-
@@ -1103,6 +_,7 @@
32+
@@ -1084,6 +_,7 @@
3333
}
3434
}
3535
world.spigotConfig.init(); // Spigot
3636
+ world.purpurConfig.init(); // Purpur - Purpur config files
3737
}
3838

3939
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
40-
@@ -1120,6 +_,7 @@
40+
@@ -1101,6 +_,7 @@
4141
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
4242
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
4343
this.spark.registerCommandBeforePlugins(this); // Paper - spark
4444
+ org.purpurmc.purpur.PurpurConfig.registerCommands(); // Purpur - Purpur config files
4545
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
4646
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
4747

48-
@@ -1647,6 +_,60 @@
48+
@@ -1600,6 +_,60 @@
4949
return true;
5050
}
5151

@@ -106,7 +106,7 @@
106106
@Override
107107
public List<Recipe> getRecipesFor(ItemStack result) {
108108
Preconditions.checkArgument(result != null, "ItemStack cannot be null");
109-
@@ -3052,6 +_,18 @@
109+
@@ -2955,6 +_,18 @@
110110
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
111111
}
112112

@@ -125,18 +125,18 @@
125125
@Override
126126
public void restart() {
127127
CraftServer.this.restart();
128-
@@ -3086,6 +_,7 @@
128+
@@ -2988,6 +_,7 @@
129129
@Override
130130
public double[] getTPS() {
131131
return new double[] {
132132
+ net.minecraft.server.MinecraftServer.getServer().tps5s.getAverage(), // Purpur - Add 5 second tps average in /tps
133133
net.minecraft.server.MinecraftServer.getServer().tps1.getAverage(),
134134
net.minecraft.server.MinecraftServer.getServer().tps5.getAverage(),
135135
net.minecraft.server.MinecraftServer.getServer().tps15.getAverage()
136-
@@ -3296,4 +_,18 @@
136+
@@ -3195,4 +_,18 @@
137+
public void allowPausing(final Plugin plugin, final boolean value) {
137138
this.console.addPluginAllowingSleep(plugin.getName(), value);
138139
}
139-
// Paper end - API to check if the server is sleeping
140140
+
141141
+ // Purpur start - Bring back server name
142142
+ @Override

purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
22
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
3-
@@ -2346,6 +_,50 @@
3+
@@ -2347,6 +_,50 @@
44
return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight());
55
}
66

0 commit comments

Comments
 (0)